creare from scratch un file.bst [RISOLTO]

  • Creatore
    Topic
  • #103892
    davidebond
    Partecipante
      Up
      0
      Down
      ::


      Innanzi tutto, mi scuso per non aver messo [risolto] al mio ultimo quesito, ma non ci sono riuscito…

      Questa domanda è in parte connessa alla precedente. Vorrei creare un apposito file.bst che mi permetta di formattare in un certo modo gli items bibliografici. Ci tengo a precisare, che dato lo scopo per cui vorrei creare questo nuovo stile, esistono solo tre Tipi di record: article, book, incollection. Le voci andrebbero numerate senza parentesi e messe in ordine di citazione. I nomi andrebbero abbreviati. Gli esempi che seguono sono di Fantasia.

      1. article. Esempio, 1. E.~Schröder, Ueber iterirte Funktionen, \emph{Mathematische Annalen}, (6), 4, (1861), 15–87.

      Il Numero (in tondo) tra parentesi indica la Serie della rivista, il successivo il volume. Non viene indicato il Numero, il quaderno o altro. Segue l’anno e le pagine, senza “pp.” o altro. Si notino anche che i vari blocchi sono separati sempre da virgole.

      2. book. Esempio, 1. D.~Hilbert, \emph{Die Grundlagen der Geometrie}, Leipzig, Verlag und Druck von B.G.~Teubner, (1899).

      Si noti la successione, address-publisher.

      3. incollection. Esempio, 1. G.~Frege, Über Sinn und Bedeutung, \emph{Gesammelte Werke}, herausgegeben von N.E.~Abel und É.~Galois, 3, (1954), 234–266.

      Il caso 3 imita il caso 1, con la differenza che qui viene inserita una “note” tra il booktitle e l’eventuale volume. Parlo di “note” e non di editori, anche se si tratta di questo, perché dovento gestire item in lingue differenti, forse è il caso di considerare la parte degli editori, come una nota, in modo da poter agir liberamente a seconda die casi. L’esempio 3 illustra anche come vorrei che fosse citata una persona con due nomi: Niels Erik Abel, come N.E.~Abel.

      Ho dato un’occhiata superficiale alla guida How to tame the beast, ma la trovo difficile. Usare il comando da terminale pdflatex makebst non mi permette in modo chiaro di ottenere quanto scritto sopra. Ho provato a modificare a mano un file.bst ottenuto da terminale rispondendo ai vari quesiti, ma ho ricevuto messaggi di errore. Questo perché non so, effettivamente, dove mettere le mani.

      Qualcuno potrebbe consigliarmi?

      Grazie,

      davide

    Visualizzazione 25 filoni di risposte
    • Autore
      Risposte
      • #103893
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Ma non stavi usando biblatex+biber? Se sì, il file .bst non ti serve a niente e devi leggerti la corposa documentazione di biblatex.

        • #103894
          davidebond
          Partecipante
            Up
            0
            Down
            ::


            Grazie per la risposta. Onestamente, non ho mai usato biber. Non lo conosco.

            Ciao,

            davide

          • #103895
            Up
            0
            Down
            ::


            Modificare e/o creare file .bst è ad oggi assurdo. A meno che non si sappia già come fare.
            La soluzione più attuale è usare il pacchetto biblatex. Come motore bibliografico puoi usare biber (consigliato) o bibtex,
            a seconda delle esigenze. Esistono già diversi stili. Se nessuno fosse soddisfacente si possono modificare in maniera molto più immediata
            rispetto ai vecchi file .bst.

            Trovi delle indicazioni preliminari sull’Arte di scrivere con LaTeX.

            Ciao
            Ivan

          • #103896
            davidebond
            Partecipante
              Up
              0
              Down
              ::


              Allora. Anzitututto, grazie per il consiglio che ho cercato di seguire. Io conto di usare solo @article, @book e @inproceedings. Ho creato un preambolo del genere:

              `\documentclass[]{book}
              %\usepackage[utf8]{inputenc}
              \usepackage[italian]{babel}
              \usepackage[T1]{fontenc}

              \usepackage[autostyle]{csquotes}

              \usepackage[
              backend=biber,
              style=numeric,
              %sortlocale=de_DE,
              natbib=true,
              url=false,
              doi=false,
              eprint=false,
              sorting=none,
              firstinits=true
              ]{biblatex}

              \renewbibmacro{in:}{}

              \renewbibmacro*{publisher+location+date}{%from standard.bbx
              \printlist{location}%
              \iflistundef{publisher}
              {\setunit*{\addcomma\space}}
              {\setunit*{\addcomma\space}}%instead of \addcolon\space
              \printlist{publisher}%
              \setunit*{\addcomma\space}%
              \usebibmacro{date}%
              \newunit}

              \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
              \renewcommand*{\newunitpunct}{\addcomma\space}
              \DeclareFieldFormat[book]{date}{(#1)}
              \DeclareFieldFormat[article]{title}{#1}
              \DeclareFieldFormat[article]{series}{(#1)\addcomma}
              \DeclareFieldFormat[article]{journaltitle}{\emph{#1}\addcomma}
              \DeclareFieldFormat[article]{volume}{#1\addcomma}
              \DeclareFieldFormat[inproceedings]{title}{#1}
              \DeclareFieldFormat[inproceedings]{date}{(#1)}
              `

              Tutto funziona alla perfezione, salvo due cose (si Veda il mio post sugli items bibliografici che devono essere diversi). Mi resta, da eliminare le parentesi quadre e da sostituirle in bibliografia da un semplice Numero seguito da un puntino o da un Numero tra parentesti angolate. Nel primo caso, nel testo deve comparire solo il Numero, nel secondo il Numero tra parentesi angolate. Sinceramente, non mi sembra una buona idea lasciare un Numero sprovvisto di parentesti nel testo, ma non sono problemi miei. Il pacchetto cite non lo posso usare, Pena conflitti. La mia idea era di creare un qualcosa simile al \mybibitem di quel post. Cioè mettere di Default i Numeri senza parentesi e in certi casi inserirli tra parentesi angolate. Come potrei fare?

              Grazie,

              davide

            • #103897
              davidebond
              Partecipante
                Up
                0
                Down
                ::


                Allora. Sono riuscito a diversificare tre Modi di citare, senza parentesi con \cite*{}, con parentesi con \citep{} e tra bra-kets come segue:

                `
                \DeclareCiteCommand{\citer}
                {\usebibmacro{prenote}}
                {\usebibmacro{citeindex}%
                \printtext{$\langle$\usebibmacro{cite}$\rangle$ \usebibmacro{postnote}}}
                {\multicitedelim}
                {}
                `

                Però, così non funziona. Vorrei che se citassi senza parentesi, anche l’entrata corrispondente in bibliografia fosse senza parentesi, e così per le altre voci.

                Al momento, sono riuscito solo a fornire un’opzione globale a tutti gli items bibliografici. Cosa che non voglio:

                `
                \DeclareFieldFormat{labelnumberwidth}{#1\addperiod}
                `

                Un aiutino non sarebbe male. Sto cercando nella documentazione e in Google, ma non riesco a capire come fare.

                Grazie,

                davide

              • #103898
                davidebond
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Aggiungo anche che i vari comandi come \citep, \citet, \parencite, o altro producono lo stesso risultato nel testo. Il Numero tra parentesi quadre: [1]. Altri comandi non vengono riconosciuti.

                  Che fare?

                  Grazie,

                  davide

                • #103899
                  davidebond
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    La soluzione sarebbe di rendere dipendenti l’etichette della bibliografia dal modo in cui si cita quell’item bibliografico nel testo. Per esempio, se uso \cite*, allora il Numero dell’item bibliografico nella bibliografia è inserito tra parentesi quadre, se uso \citep il Numero dell’item bibliografico non ha parentesi nella bibliografia, ecc. Si noti, il condizionale “se uso… allora”. Pensavo ad una costruzione con il pacchetto ifthen.

                    Grazie,

                    davide

                  • #103900
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Vedo che stai tenendo in piedi un filone di discussione da solo, senza che altri intervengano. O il tuo problema non ha soluzione, oppure nessuno di noi è capace di darti una dritta. Nemmeno io ti so dare una dritta, per alcuni motivi:
                      1) tecnicamente non sono capace di fare quello che desideri;
                      2) se mi ci mettessi, forse dopo alcun giorni di lavoro potrei trovare una soluzione, o magari trovare che il problema non ha soluzione;
                      3) quando non esisteva biblatex tutti, anche gli umanisti, si arrangiavano con quello che bibtex ei i file .bst consentivano di fare; natbib era diventato il pacchetto più usato e tutti erano felici e contenti, anche gli umanisti; poi è arrivato l’onnipotente biblatex che consente di andare molto più in là in quanto a possibilità di personalizzare le bibliografie. Naturalmente per farlo bisogna conoscere molto bene la sua documentazione ed essere in grado di decifrare il codice; qualcuno l’ha fatto e ha prodotto pacchetti di estensione di biblatex; ciò nonostante gli umanisti non sono ancora soddisfatti, perché non riescono a realizzare la loro bibliografia secondo le loro regole che, per definizione, sono le uniche valide, e ogni altra regola è per deduzione logica non valida (non sono parole mie, ma di un umanista che le ha pronunciate al Meeting di Trento un paio di settimane fa).

                      Perciò da vile meccanico (secondo le parole di Seneca) non riesco ad immedesimarmi in queste esigenze strane. Per me esistono solo le norme ISO-UNI e queste non parlano affatto di adattare le citazioni nell’elenco bibliografico con il modo ci citare. Si potrebbe dedurre che qualunque modo di citazione possa andare bene, ma non è lo spirito della norma. Noi ingegneri, ops, vili meccanici, abbiamo altre esigenze e usiamo i riferimenti numerici e le citazioni numeriche, anche perché di solito disponiamo di sole 4 pagine negli atti dei nostri congressi per riportare i risultati dei nostri studi che magari ci sono costati certamente mesi, talvolta anni di lavoro. In 4 pagine non hai da sbizzarrirti molto con certe sofisticherie di riferimento e di citazione.

                      Ma siccome queste considerazioni sono off topic, rientro nell’argomento del tuo ultimo messaggio e ti dico subito che vedo molto dura la possibilità di usare statement condizionali con ifthenelse quando c’è di messo una scrittura delle informazioni nel file aux; già, infatti le chiavi di citazione accompagnate dalle informazioni accessorie vengono rilevate da pdflatex (o xelatex o lualatex) in una prima compilazione e vengono scritte nel file .aux; poi entrano in gioco bibtex o biber che leggono il file aux e il file .bib e producono il file con la bibliografia scritta in modo da poterla comporre nel file .bbl. Nella successiva esecuzione pdflatex (o uno degli altri programmi) legge il file bbl e scrive nel file aux il significato di ogni chiave; nella terza esecuzione il file aux viene letto da pdflatex (& company), cosicché i comandi \cite possono eseguire l’associazione fra la chiave e quello che c’è da citare. Finalmente il file pdf contiene i riferimenti composti in modo corretto, ma l’impaginazione potrebbe essere andata a ramengo, specialmente con citazioni elaborate, che producono lunghe stringhe nel testo principale o nelle note; il risultato è che bisogna ancora lanciare pdflatex una o due volte finché nel file log non compaiono più messaggi che alcune cross-reference sono cambiate.
                      In questa situazione piuttosto complessa, penso o temo che i comandi condizionali non possano essere trasmessi integri nel file aux, e che i comandi fragili mostrino tutta la loro fragilità in questi numerosi passaggi.

                      Perciò: nemo ad impossibilia tenetur; se è impossibile o troppo difficile, i tentativi che continui a fare, li fai solo per soddisfare il tuo amor proprio (cosa che apprezzo moltissimo; mai arrendersi davanti alle difficoltà!) ma bisogna restare anche con i piedi per terra; spesso una resa onorevole è meglio che un disastro di perdita di tempo e magari anche di vil denaro.

                    • #103901
                      davidebond
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Infatti. È quella la mia paura: che non sia possibile. Ho letto la documentazione di biblatex, l’arte di scrivere con il Latex, ma da nessuna parte viene indicato un collegamento con il comando per citare. La mia impressione è che in un certo senso siano cose separate. A quel punto ho pensato al trucchetto di aprire il file.bbl e copiarlo nel file principale. Cosa che si può fare con bibtex, ma non con biblatex. Forse è inutile insistere. Volevo vedere se ci riuscivo.

                        Riguardo al modo di utilizzare il Latex. Molti chiedono al Latex qualcosa che non può fare o per il quale non è stato pensato. Questo è il mio caso. Per i fatti miei, io uso il Latex senza nessuna particolarità. Trovo che vada benissimo per la maggior parte dei casi. Se gli editori di una rivista vogliono cambiare l’aspetto, sono problemi loro.

                        In questo caso sono problemi miei…

                        Grazie,

                        davide

                      • #103902
                        Up
                        0
                        Down
                        ::


                        L’unica soluzione fattibile è creare un nuovo driver con

                        `\DeclareBibliographyDriver`

                        per quelle voci che devono apparire in bibligorafia con un’etichetta diversa.
                        Quindi, per esempio, avrai il tipo di voce nparticle che è identico ad article ma senza le parentesi attorno all’etichetta numerica.

                        Ciao
                        Ivan

                      • #103903
                        davidebond
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          Grazie della pazienza. Ma usando \DeclareBibliographyDriver io non vado a selezionare una formattazione per gli items? Quella l’ho già ottenuta e diversificata. Vorrei solo diversificare anche il modo in cui compare il Numero dell’item.

                          Grazie,

                          davide

                        • #103904
                          Up
                          0
                          Down
                          ::


                          Ritiro tutto… La bibliografia è stampata da un normalissimo ambiente \list.
                          Non vedo soluzioni razionali.
                          La cosa migliore sarebbe dividere in due la bibliografia e mettere in una le voci con le parentesi e nell’altra quelle senza.
                          O, ancora meglio, usando l’opzione prefixnumber di \printbibliography.
                          Naturalmente bisogna raggruppare le voci in apposite categorie e/o usare filtri.

                          Ciao
                          Ivan

                        • #103905
                          davidebond
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            A me è venuta questa idea un po’ stupida. In questo esempio,

                            `
                            \DeclareFieldFormat[article]{labelnumberwidth}{[#1]\addperiod}
                            \DeclareFieldFormat[book]{labelnumberwidth}{$\langle$#1$\rangle$\addperiod}
                            \DeclareFieldFormat[inproceedings]{labelnumberwidth}{#1\addperiod}
                            `

                            riesco a distinguere tre Tipi di entrate, a seconda che siano articoli, libri o inproceedings. Si potrebbe creare un nuovo tipo di voce identico in tutto a quelli Standard, salvo che nel nome e per questi, e solo per questi, introdurre delle parentesi apposite. Rimane il problema che il testo non si formatta bene. Nel senso che la prima lettera dell’item con le parentesi angolate è più spostata a destra delle altre, per ovvi motivi. A questo punto, sarebbe sufficiente fare partire tutti gli items allo stesso modo, indipendentemente dalle parentesi o dall’assenza di queste, magari prendendo come Misura di riferimento la parentesi che ingombra di più. Si può fare?

                            Cade ovviamente il collagamento tra i comandi \cite & co. e gli items, ma siccome ogni articolo ha una bibliografia non eccessivamente corposa, si potrebbero rinominare a mano gli items bibliografici a seconda delle esigenze. Ergo, il punto è? Come formattare il tutto, come se ci fosse un unico tipo di etichetta?

                            Grazie,

                            davide

                          • #103906
                            davidebond
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              Perché vado avanti con questa discussione? Innanzitutto, perché sono un tipo curioso. In secondo luogo, perché spero che parti di questa discussione possano interessare altri su come maneggiare la bibliografia. Intanto, ho mostrato a dei possibili interessati, come si modificano globalmente i Numeri degli items bibiliografici. È chiaro che se io sono capace di produrre i Numeri dentro parentesi tonde, sono anche in grado di produrli in corsivo o in grassetto. Imparato il trucco, lo si applica ad altro.

                              Al momento sono giunto a questa possibilità. Sono in grado di modificare l’apparenza dei riferimenti nel testo principale.

                              Sono anche in grado di modificare singolarmente le entrate nella bibliografia. Il problema è che queste due procedure non sono connesse tra loro. Al momento sto lavorando su quest’ultima parte. Ho introdotto una nuova classe di documento: xarticle. La mia idea sarebbe che ogni volta che voglio citare in maniera diversa un testo, uso la sua versione con la x finale. Questo, il codice:

                              `\DeclareBibliographyDriver{xarticle}{
                              \newunit
                              \printtext{E.~Schr{\”o}der}
                              \newunit\newblock
                              \printfield{title}%
                              \newunit\newblock
                              \printfield{journaltitle}%
                              \newunit\newblock
                              \printfield{series}%
                              \newunit\newblock
                              \printfield{volume}%
                              \newunit\newblock
                              \printfield{year}%
                              \newunit\newblock
                              \printfield{pages}%
                              \finentry}`

                              Dove sta il problema? Non capisco come introdurre il nome dell’autore seza usare printtext. Se uso “printfield{authorx}”, mi trovo dello spazio bianco e null’altro. Come mai? Io preferireri usare \printfield per evitare di scrivere il nome dell’autore.

                              Grazie,

                              davide

                            • #103907
                              davidebond
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Ho trovato la risposta, modificando il codice precendente nel modo che segue:

                                `
                                \DeclareBibliographyDriver{xarticle}{
                                \usebibmacro{begentry}%
                                \usebibmacro{author/translator+others}%
                                \newunit\newblock
                                \printfield{title}%
                                \newunit\newblock
                                \printfield{journaltitle}%
                                \newunit\newblock
                                \printfield{series}%
                                \newunit\newblock
                                \printfield{volume}%
                                \newunit\newblock
                                \printfield{year}%
                                \newunit\newblock
                                \printfield{pages}%
                                \finentry}
                                `

                                Disgraziatamente, tutti gli items partono da una verticale diversa. Non ci sono due item (su quattro) che partano allo stesso modo. Come posso ottenere una formattazione uniforme? Per tentativi, con \bibtex e la bibliografia inserita a mano, alla fine del file, me la cavavo eliminando 3 punti di spazio Dagli items con bra-kets. Qui, è tutto un Casino.

                                Non sarebbe neanche male creare una bibmacro ad hoc, al posto di author, authorx.

                                Grazie,

                                davide

                              • #103908
                                Up
                                0
                                Down
                                ::


                                A questo punto serve un esempio minimo compilabile.
                                Usa il pacchetto filecontents e l’ambiente filecontents* per la bibliografia.

                                Ciao
                                Ivan

                              • #103909
                                davidebond
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::


                                  Stranamente, non riesco a compilare il file importando la bibliografia. Allora, prima copio il file .tex e poi il file .bib.

                                  `

                                  \documentclass[]{book}
                                  %\usepackage[utf8]{inputenc}
                                  \usepackage[italian]{babel}
                                  \usepackage[T1]{fontenc}
                                  \usepackage{amssymb,latexsym}
                                  \usepackage{cleveref}
                                  \usepackage{ifthen}
                                  \usepackage{footmisc}

                                  \usepackage[autostyle]{csquotes}
                                  %%%%%%%%%%% usare \cite*{} per produrre citazioni senza parentesi
                                  %%%%%%%%%%% usare \citer{} per produrre citazioni con bra-kets
                                  %%%%%%%%%%% usare \citep{} per produrre citazioni con parentesi quadre

                                  \usepackage[
                                  backend=biber,
                                  style=numeric,
                                  sortlocale=de_DE,
                                  natbib=true,
                                  url=false,
                                  doi=false,
                                  eprint=false,
                                  sorting=none,
                                  firstinits=true
                                  ]{biblatex}

                                  \renewbibmacro{in:}{}

                                  \renewbibmacro*{publisher+location+date}{%from standard.bbx
                                  \printlist{location}%
                                  \iflistundef{publisher}
                                  {\setunit*{\addcomma\space}}
                                  {\setunit*{\addcomma\space}}%instead of \addcolon\space
                                  \printlist{publisher}%
                                  \setunit*{\addcomma\space}%
                                  \usebibmacro{date}%
                                  \newunit}

                                  \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                                  \renewcommand*{\newunitpunct}{\addcomma\space}
                                  \DeclareFieldFormat[book]{date}{(#1)}
                                  \DeclareFieldFormat[article]{title}{#1}
                                  \DeclareFieldFormat[article]{series}{(#1)\addcomma}
                                  \DeclareFieldFormat[article]{journaltitle}{\emph{#1}\addcomma}
                                  \DeclareFieldFormat[article]{volume}{#1\addcomma}
                                  \DeclareFieldFormat[inproceedings]{title}{#1}
                                  \DeclareFieldFormat[inproceedings]{date}{(#1)}
                                  \DeclareCiteCommand{\cite}
                                  {\usebibmacro{prenote}}
                                  {\usebibmacro{citeindex}%
                                  \printtext{\usebibmacro{cite} \usebibmacro{postnote}}}
                                  {\multicitedelim}
                                  {}

                                  \DeclareCiteCommand{\citer}
                                  {\usebibmacro{prenote}}
                                  {\usebibmacro{citeindex}%
                                  \printtext{$\langle$\usebibmacro{cite}$\rangle$ \usebibmacro{postnote}}}
                                  {\multicitedelim}
                                  {}

                                  \DeclareFieldFormat[article]{labelnumberwidth}{[#1]\addperiod}

                                  \DeclareFieldFormat[book]{labelnumberwidth}{$\langle$#1$\rangle$\addperiod}
                                  \DeclareFieldFormat[inproceedings]{labelnumberwidth}{#1\addperiod}

                                  \DeclareBibliographyDriver{xarticle}{
                                  \usebibmacro{begentry}%
                                  \usebibmacro{author/translator+others}%
                                  \newunit\newblock
                                  \printfield{title}%
                                  \newunit\newblock
                                  \printfield{journaltitle}%
                                  \newunit\newblock
                                  \printfield{series}%
                                  \newunit\newblock
                                  \printfield{volume}%
                                  \newunit\newblock
                                  \printfield{year}%
                                  \newunit\newblock
                                  \printfield{pages}%
                                  \finentry}

                                  \DeclareFieldFormat[xarticle]{title}{#1}
                                  \DeclareFieldFormat[xarticle]{series}{(#1)\addcomma}
                                  \DeclareFieldFormat[xarticle]{journaltitle}{\emph{#1}\addcomma}
                                  \DeclareFieldFormat[xarticle]{volume}{#1\addcomma}
                                  \DeclareFieldFormat[xarticle]{labelnumberwidth}{$\langle$#1$\rangle$\addperiod}
                                  \DeclareFieldFormat[xarticle]{year}{(#1)}

                                  \RequireBibliographyStyle{numeric}

                                  %\defbibenvironment{bibliography}
                                  % {\list
                                  % {%
                                  % \printfield{prefixnumber}%
                                  %{$\langle$\printfield{labelnumber}$\rangle$}\addperiod}
                                  % {\setlength{\labelwidth}{\labelnumberwidth}%
                                  % \setlength{\leftmargin}{\labelwidth}%
                                  % \setlength{\labelsep}{\biblabelsep}%
                                  % \addtolength{\leftmargin}{\labelsep}%
                                  % \setlength{\itemsep}{\bibitemsep}%
                                  % \setlength{\parsep}{\bibparsep}}%
                                  %\renewcommand*{\makelabel}[1]{\hss##1}}
                                  % {\endlist}
                                  %{\item}

                                  \addbibresource{prova.bib}

                                  %\usepackage[]{hyperref}
                                  %\hypersetup{
                                  %colorlinks=true,
                                  %}

                                  %% ##############################
                                  \begin{document}

                                  Lorem ipsum dolor sit amet~\citer{schroder}.
                                  At vero eos et accusam et justo duo dolores et ea rebum~\citep{schroder1}. Infine, citiamo~\cite*{schroder2}. Anche \cite{schroder4}.
                                  \printbibliography
                                  \end{document}

                                  `

                                  Questa la bibliografia:

                                  `
                                  @BOOK{schroder,
                                  author=”Enrst Schr{\”o}der”,
                                  title=”Der Operationskreis des Logikkalk{\”u}ls”,
                                  publisher=”Teubner”,
                                  address=”Leipzig”,
                                  year=1877,
                                  }

                                  @ARTICLE{schroder1,
                                  author=”E.~Schr{\”o}der”,
                                  title=”Ueber meine Vorlesungen”,
                                  journal=”Mathematische Annalen”,
                                  volume=4,
                                  year=1895,
                                  pages=”125–130″,
                                  series=5,
                                  }

                                  @INPROCEEDINGS{schroder2,
                                  author=”Ernst Schr{\”o}der”,
                                  title=”On iterirte Funktionen”,
                                  booktitle=”On Fixed Points”,
                                  editor=”Garret Brikhoff and Volker Peckhaus”,
                                  pages=”356–469″,
                                  address=”Oxford”,
                                  publisher=”Clarendon Press”,
                                  year=1950,
                                  }

                                  @XARTICLE{schroder4,
                                  author=”E.~Schr{\”o}der”,
                                  title=”Ueber meine Vorlesungen”,
                                  journal=”Mathematische Annalen”,
                                  volume=4,
                                  year=1895,
                                  pages=”125–130″,
                                  series=5,
                                  }
                                  `

                                  So che nel codice del testo.tex ci sono molte cose da eliminare o da sistemare meglio. Ma, sto facendo continuamente esperimenti e pospongo queste operazioni all’ultimo.

                                  Grazie,

                                  davide

                                • #103910
                                  davidebond
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::


                                    Beh, stavolta merito un aiutino per la mia caparbietà. Adesso i comandi \cite*, \citet e \citer influiscono sulla resa bibliografica dei Numeri degli items. Il problema lo pongono i punti. Allego, quella che è la soluzione del mio problema, senza punti nella bibliografia. Il file .bib si trova in un post precedente:

                                    `
                                    \documentclass[]{book}
                                    \usepackage[utf8]{inputenc}
                                    \usepackage[italian]{babel}
                                    \usepackage[T1]{fontenc}
                                    \usepackage{amssymb,latexsym}

                                    \usepackage[autostyle]{csquotes}
                                    %%%%%%%%%%% usare \cite*{} per produrre citazioni senza parentesi
                                    %%%%%%%%%%% usare \citer{} per produrre citazioni con bra-kets
                                    %%%%%%%%%%% usare \citet{} per produrre citazioni con parentesi quadre

                                    \usepackage[
                                    backend=biber,
                                    style=numeric,
                                    % sortlocale=de_DE,
                                    natbib=true,
                                    url=false,
                                    doi=false,
                                    eprint=false,
                                    sorting=none,
                                    firstinits=true
                                    ]{biblatex}

                                    \renewbibmacro{in:}{}

                                    \renewbibmacro*{publisher+location+date}{%from standard.bbx
                                    \printlist{location}%
                                    \iflistundef{publisher}
                                    {\setunit*{\addcomma\space}}
                                    {\setunit*{\addcomma\space}}%instead of \addcolon\space
                                    \printlist{publisher}%
                                    \setunit*{\addcomma\space}%
                                    \usebibmacro{date}%
                                    \newunit}

                                    \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                                    \renewcommand*{\newunitpunct}{\addcomma\space}
                                    \DeclareFieldFormat[book]{date}{(#1)}
                                    \DeclareFieldFormat[article]{title}{#1}
                                    \DeclareFieldFormat[article]{series}{(#1)\addcomma}
                                    \DeclareFieldFormat[article]{journaltitle}{\emph{#1}\addcomma}
                                    \DeclareFieldFormat[article]{volume}{#1\addcomma}
                                    \DeclareFieldFormat[inproceedings]{title}{#1}
                                    \DeclareFieldFormat[inproceedings]{date}{(#1)}

                                    \DeclareBibliographyCategory{bra}
                                    \DeclareBibliographyCategory{brackets}
                                    \DeclareBibliographyCategory{none}

                                    \makeatletter
                                    \newrobustcmd{\mkbibbra}[1]{%
                                    \begingroup
                                    \blx@blxinit
                                    \blx@setsfcodes
                                    \ensuremath{\langle}#1\ensuremath{\rangle}\hspace{-3pt}%
                                    \endgroup}
                                    \makeatother

                                    \DeclareCiteCommand{\citer}[\mkbibbra]
                                    {\usebibmacro{prenote}}
                                    {\usebibmacro{citeindex}%
                                    \usebibmacro{cite}%
                                    \addtocategory{bra}{\thefield{entrykey}}}
                                    {\multicitedelim}
                                    {\usebibmacro{postnote}}

                                    \DeclareCiteCommand*{\cite}
                                    {\usebibmacro{prenote}}
                                    {\usebibmacro{citeindex}%
                                    \usebibmacro{cite}%
                                    \addtocategory{none}{\thefield{entrykey}}}
                                    {\multicitedelim}
                                    {\usebibmacro{postnote}}

                                    \DeclareCiteCommand{\citet}[\mkbibbrackets]
                                    {\usebibmacro{prenote}}
                                    {\usebibmacro{citeindex}%
                                    \usebibmacro{cite}%
                                    \addtocategory{brackets}{\thefield{entrykey}}}
                                    {\multicitedelim}
                                    {\usebibmacro{postnote}}

                                    \DeclareFieldFormat{labelnumberwidth}{%
                                    \ifcategory{bra}
                                    {\mkbibbra{#1}}
                                    {\ifcategory{brackets}}
                                    {\mkbibbrackets{#1}}
                                    {\ifcategory{none}
                                    {#1}
                                    {#1}}}}

                                    \RequireBibliographyStyle{numeric}
                                    \addbibresource{prova.bib}

                                    \begin{document}
                                    I want cite \citer{schroder}~, \cite*{schroder1}, \citet{schroder2} and \citer{lesniewski}~.
                                    \printbibliography
                                    \end{document}
                                    `

                                    Si noti la soluzione provvisoria, un po’ sporca consistente nell’aggiunta di \hspace{-3pt}. Il valore l’ho trovato per tentativi. Quello che mi manca sono i punti che sfalsano le entrate. Nel caso dei Numeri senza parentesi è sufficiente inserire nel codice \addperiod. Nel caso delle parentesi quadre, sono ricorso a “~\addperiod”. Nel caso delle bra-kets, a “$\;$\addperiod”. Li ho eliminati dal codice perché quest’ultimo caso fa sballare tutto.

                                    Per comodità reinserisco il file .bib da rinominare come “prova.bib”.

                                    `
                                    @BOOK{schroder,
                                    author=”Enrst Schr{\”o}der”,
                                    title=”Der Operationskreis des Logikkalk{\”u}ls”,
                                    publisher=”Teubner”,
                                    address=”Leipzig”,
                                    year=1877,
                                    }

                                    @ARTICLE{schroder1,
                                    author=”E.~Schr{\”o}der”,
                                    title=”Ueber meine Vorlesungen”,
                                    journal=”Mathematische Annalen”,
                                    volume=4,
                                    year=1895,
                                    pages=”125–130″,
                                    series=5,
                                    }

                                    @INPROCEEDINGS{schroder2,
                                    author=”Ernst Schr{\”o}der”,
                                    title=”On iterirte Funktionen”,
                                    booktitle=”On Fixed Points”,
                                    editor=”Garret Birkhoff and Volker Peckhaus”,
                                    pages=”356–469″,
                                    address=”Oxford”,
                                    publisher=”Clarendon Press”,
                                    year=1950,
                                    }

                                    @XARTICLE{schroder4,
                                    author=”E.~Schr{\”o}der”,
                                    title=”Ueber meine Vorlesungen”,
                                    journal=”Mathematische Annalen”,
                                    volume=4,
                                    year=1895,
                                    pages=”125–130″,
                                    series=5,
                                    }

                                    @ARTICLE{lesniewski,
                                    author=”Stanislav Lesniewski”,
                                    title=”On Mereology”,
                                    journal=”Journal f{\”u}r die reine und angewandte Mathematik”,
                                    series=6,
                                    year=1914,
                                    volume=7,
                                    pages=”15–230″,
                                    }
                                    `

                                    L’entrata @XARTICLE non viene richiamata. Si può cancellare.

                                    Ovviamente, sono stato aiutato. Da solo non ce l’avrei mai fatta. Spero che tutta questa fatica e innumerevoli lanci di pdflatex possano essere utili a qualcuno.

                                    Grazie,

                                    davide

                                  • #103911
                                    Up
                                    0
                                    Down
                                    ::


                                    Non riesco a capire a cosa serva `\hspace{-3pt}` per poi citare con
                                    `I want cite \citer{schroder}~,`
                                    Magari mi sfugge qualcosa. Li ho eliminati e il risultato mi sembra migliore e con meno contorsioni.
                                    Non comprendo il significato di “i punti che sfalsano le entrate”. Ho immaginato che fossero le etichette numeriche ridondanti
                                    nelle voci bibliografiche.

                                    Qui sotto trovi l’esempio compilabile completo di bibliografia,
                                    con l’ambiente filecontents, come ti avevo chiesto.
                                    Va creata un tipo di voce nuova per ogni forma di etichetta non consueta:
                                    Per le voci stiate come <n>:
                                    xarticle
                                    xbook
                                    xinproceedings

                                    Per le voci stiate come [n]:
                                    yarticle
                                    ybook
                                    yinproceedings

                                    Le ho definite con \DeclareBibliographyAlias.

                                    `
                                    \documentclass[]{article}
                                    \usepackage[utf8]{inputenc}
                                    \usepackage[italian]{babel}
                                    \usepackage[T1]{fontenc}
                                    \usepackage{amssymb,latexsym}

                                    \usepackage{filecontents}

                                    \begin{filecontents*}{prova.bib}
                                    @XBOOK{schroder,
                                    author=”Enrst Schr{\”o}der”,
                                    title=”Der Operationskreis des Logikkalk{\”u}ls”,
                                    publisher=”Teubner”,
                                    address=”Leipzig”,
                                    year=1877,
                                    }

                                    @ARTICLE{schroder1,
                                    author=”E.~Schr{\”o}der”,
                                    title=”Ueber meine Vorlesungen”,
                                    journal=”Mathematische Annalen”,
                                    volume=4,
                                    year=1895,
                                    pages=”125–130″,
                                    series=5,
                                    }

                                    @YINPROCEEDINGS{schroder2,
                                    author=”Ernst Schr{\”o}der”,
                                    title=”On iterirte Funktionen”,
                                    booktitle=”On Fixed Points”,
                                    editor=”Garret Birkhoff and Volker Peckhaus”,
                                    pages=”356–469″,
                                    address=”Oxford”,
                                    publisher=”Clarendon Press”,
                                    year=1950,
                                    }

                                    @XARTICLE{lesniewski,
                                    author=”Stanislav Lesniewski”,
                                    title=”On Mereology”,
                                    journal=”Journal f{\”u}r die reine und angewandte Mathematik”,
                                    series=6,
                                    year=1914,
                                    volume=7,
                                    pages=”15–230″,
                                    }
                                    \end{filecontents*}

                                    \usepackage[autostyle]{csquotes}
                                    %%%%%%%%%%% usare \cite*{} per produrre citazioni senza parentesi
                                    %%%%%%%%%%% usare \citer{} per produrre citazioni con bra-kets
                                    %%%%%%%%%%% usare \citet{} per produrre citazioni con parentesi quadre

                                    \usepackage[
                                    backend=biber,
                                    style=numeric,
                                    % sortlocale=de_DE,
                                    natbib=true,
                                    url=false,
                                    doi=false,
                                    eprint=false,
                                    sorting=none,
                                    firstinits=true
                                    ]{biblatex}

                                    \renewbibmacro{in:}{}

                                    \renewbibmacro*{publisher+location+date}{%from standard.bbx
                                    \printlist{location}%
                                    \iflistundef{publisher}
                                    {\setunit*{\addcomma\space}}
                                    {\setunit*{\addcomma\space}}%instead of \addcolon\space
                                    \printlist{publisher}%
                                    \setunit*{\addcomma\space}%
                                    \usebibmacro{date}%
                                    \newunit}

                                    \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                                    \renewcommand*{\newunitpunct}{\addcomma\space}
                                    \DeclareFieldFormat[book]{date}{(#1)}
                                    \DeclareFieldFormat[article]{title}{#1}
                                    \DeclareFieldFormat[article]{series}{(#1)\addcomma}
                                    \DeclareFieldFormat[article]{journaltitle}{\emph{#1}\addcomma}
                                    \DeclareFieldFormat[article]{volume}{#1\addcomma}
                                    \DeclareFieldFormat[inproceedings]{title}{#1}
                                    \DeclareFieldFormat[inproceedings]{date}{(#1)}

                                    \DeclareBibliographyCategory{bra}
                                    \DeclareBibliographyCategory{brackets}
                                    \DeclareBibliographyCategory{none}

                                    \makeatletter
                                    \newrobustcmd{\mkbibbra}[1]{%
                                    \begingroup
                                    \blx@blxinit
                                    \blx@setsfcodes
                                    \ensuremath{\langle}#1\ensuremath{\rangle}%
                                    \endgroup}
                                    \makeatother

                                    \DeclareCiteCommand{\citer}[\mkbibbra]
                                    {\usebibmacro{prenote}}
                                    {\usebibmacro{citeindex}%
                                    \usebibmacro{cite}%
                                    \addtocategory{bra}{\thefield{entrykey}}}
                                    {\multicitedelim}
                                    {\usebibmacro{postnote}}

                                    \DeclareCiteCommand*{\cite}
                                    {\usebibmacro{prenote}}
                                    {\usebibmacro{citeindex}%
                                    \usebibmacro{cite}%
                                    \addtocategory{none}{\thefield{entrykey}}}
                                    {\multicitedelim}
                                    {\usebibmacro{postnote}}

                                    \DeclareCiteCommand{\citet}[\mkbibbrackets]
                                    {\usebibmacro{prenote}}
                                    {\usebibmacro{citeindex}%
                                    \usebibmacro{cite}%
                                    \addtocategory{brackets}{\thefield{entrykey}}}
                                    {\multicitedelim}
                                    {\usebibmacro{postnote}}

                                    \DeclareBibliographyAlias{xbook}{book}
                                    \DeclareBibliographyAlias{xarticle}{article}
                                    \DeclareFieldFormat{labelnumberwidth}{%
                                    \ifboolexpr{%
                                    test {\ifentrytype{xarticle}}%
                                    or
                                    test {\ifentrytype{xbook}}%
                                    or
                                    test {\ifentrytype{xinproceedings}}%
                                    }%
                                    {\mkbibbra{#1}}{\ifboolexpr{%
                                    test {\ifentrytype{yarticle}}%
                                    or
                                    test {\ifentrytype{ybook}}%
                                    or
                                    test {\ifentrytype{yinproceedings}}%
                                    }%
                                    {\mkbibbrackets{#1}}{#1}}
                                    }

                                    %\RequireBibliographyStyle{numeric}
                                    \addbibresource{prova.bib}

                                    \begin{document}

                                    I want cite \citer{schroder}, \cite*{schroder1}, \citet{schroder2} and \citer{lesniewski}.

                                    \printbibliography
                                    \end{document}`

                                    Esiste anche l’alternativa con le categorie:
                                    `\DeclareFieldFormat{labelnumberwidth}{%
                                    \ifcategory{bra}
                                    {\mkbibbra{#1}}
                                    {\ifcategory{brackets}
                                    {\mkbibbrackets{#1}}
                                    {#1}}}
                                    `

                                    Se sai già quali voci andranno citate diversamente è più comodo il primo metodo.

                                    [attachment=1447]davidebond.pdf[/attachment]

                                    Ciao
                                    Ivan

                                    Attachments:
                                    You must be logged in to view attached files.
                                  • #103912
                                    davidebond
                                    Partecipante
                                      Up
                                      0
                                      Down
                                      ::


                                      [attachment=1448]prova3.pdf[/attachment]
                                      Anzitutto, ti ringrazio anche solo per sostenermi in questa “avventura”. Avevo inserito \hspace{-3pt} perché altrimenti gli items con parentesi angolate partivano dopo gli altri, probabilmente a causa dell’ingombro delle parentesi. Introducendo i punti, le parentesi angolata destra si poneva sopra il punto. Anche la parentesi angolata destra risultava troppo attaccata al punto. Il caso era diverso con il Numero senza parentesi, perché in quel caso il punto era corretto. Concordo sul fatto che il primo metodo sia più efficiente, anche perché so già quali items dovranno ricevere queste spiacevoli parentesi angolate.

                                      Questo era il mio file:

                                      `
                                      \documentclass[]{book}
                                      \usepackage[utf8]{inputenc}
                                      \usepackage[italian]{babel}
                                      \usepackage[T1]{fontenc}
                                      \usepackage{amssymb,latexsym}

                                      \usepackage{filecontents}

                                      \begin{filecontents*}{prova1.bib}
                                      @BOOK{schroder,
                                      author=”Enrst Schr{\”o}der”,
                                      title=”Der Operationskreis des Logikkalk{\”u}ls”,
                                      publisher=”Teubner”,
                                      address=”Leipzig”,
                                      year=1877,
                                      }

                                      @ARTICLE{schroder1,
                                      author=”E.~Schr{\”o}der”,
                                      title=”Ueber meine Vorlesungen”,
                                      journal=”Mathematische Annalen”,
                                      volume=4,
                                      year=1895,
                                      pages=”125–130″,
                                      series=5,
                                      }

                                      @INPROCEEDINGS{schroder2,
                                      author=”Ernst Schr{\”o}der”,
                                      title=”On iterirte Funktionen”,
                                      booktitle=”On Fixed Points”,
                                      editor=”Garret Birkhoff and Volker Peckhaus”,
                                      pages=”356–469″,
                                      address=”Oxford”,
                                      publisher=”Clarendon Press”,
                                      year=1950,
                                      }

                                      @ARTICLE{lesniewski,
                                      author=”Stanislav Lesniewski”,
                                      title=”On Mereology”,
                                      journal=”Journal f{\”u}r die reine und angewandte Mathematik”,
                                      series=6,
                                      year=1914,
                                      volume=7,
                                      pages=”15–230″,
                                      }
                                      \end{filecontents*}

                                      \usepackage[autostyle]{csquotes}
                                      %%%%%%%%%%% usare \cite*{} per produrre citazioni senza parentesi
                                      %%%%%%%%%%% usare \citer{} per produrre citazioni con bra-kets
                                      %%%%%%%%%%% usare \citet{} per produrre citazioni con parentesi quadre

                                      \usepackage[
                                      backend=biber,
                                      style=numeric,
                                      % sortlocale=de_DE,
                                      natbib=true,
                                      url=false,
                                      doi=false,
                                      eprint=false,
                                      sorting=none,
                                      firstinits=true
                                      ]{biblatex}

                                      \renewbibmacro{in:}{}

                                      \renewbibmacro*{publisher+location+date}{%from standard.bbx
                                      \printlist{location}%
                                      \iflistundef{publisher}
                                      {\setunit*{\addcomma\space}}
                                      {\setunit*{\addcomma\space}}%instead of \addcolon\space
                                      \printlist{publisher}%
                                      \setunit*{\addcomma\space}%
                                      \usebibmacro{date}%
                                      \newunit}

                                      \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                                      \renewcommand*{\newunitpunct}{\addcomma\space}
                                      \DeclareFieldFormat[book]{date}{(#1)}
                                      \DeclareFieldFormat[article]{title}{#1}
                                      \DeclareFieldFormat[article]{series}{(#1)\addcomma}
                                      \DeclareFieldFormat[article]{journaltitle}{\emph{#1}\addcomma}
                                      \DeclareFieldFormat[article]{volume}{#1\addcomma}
                                      \DeclareFieldFormat[inproceedings]{title}{#1}
                                      \DeclareFieldFormat[inproceedings]{date}{(#1)}

                                      \DeclareBibliographyCategory{bra}
                                      \DeclareBibliographyCategory{brackets}
                                      \DeclareBibliographyCategory{none}

                                      \makeatletter
                                      \newrobustcmd{\mkbibbra}[1]{%
                                      \begingroup
                                      \blx@blxinit
                                      \blx@setsfcodes
                                      \ensuremath{\langle}#1\ensuremath{\rangle}\hspace{-3pt}%
                                      \endgroup}
                                      \makeatother

                                      \DeclareCiteCommand{\citer}[\mkbibbra]
                                      {\usebibmacro{prenote}}
                                      {\usebibmacro{citeindex}%
                                      \usebibmacro{cite}%
                                      \addtocategory{bra}{\thefield{entrykey}}}
                                      {\multicitedelim}
                                      {\usebibmacro{postnote}}

                                      \DeclareCiteCommand*{\cite}
                                      {\usebibmacro{prenote}}
                                      {\usebibmacro{citeindex}%
                                      \usebibmacro{cite}%
                                      \addtocategory{none}{\thefield{entrykey}}}
                                      {\multicitedelim}
                                      {\usebibmacro{postnote}}

                                      \DeclareCiteCommand{\citet}[\mkbibbrackets]
                                      {\usebibmacro{prenote}}
                                      {\usebibmacro{citeindex}%
                                      \usebibmacro{cite}%
                                      \addtocategory{brackets}{\thefield{entrykey}}}
                                      {\multicitedelim}
                                      {\usebibmacro{postnote}}

                                      \DeclareFieldFormat{labelnumberwidth}{%
                                      \ifcategory{bra}
                                      {\mkbibbra{#1}\addperiod}
                                      {\ifcategory{brackets}
                                      {\mkbibbrackets{#1}\addperiod}
                                      {\ifcategory{none}
                                      {#1}
                                      {#1}\addperiod}}}

                                      \RequireBibliographyStyle{numeric}
                                      \addbibresource{prova1.bib}

                                      \begin{document}
                                      I want cite \citer{schroder}~, \cite*{schroder1}, \citet{schroder2} and \citer{lesniewski}~.
                                      \printbibliography
                                      \end{document}

                                      `

                                      Allego il risultato in .pdf.

                                      Grazie. Ciao,

                                      davide

                                      Attachments:
                                      You must be logged in to view attached files.
                                    • #103913
                                      Up
                                      0
                                      Down
                                      ::


                                      Quei punti son davvero brutti, oltre a non aver alcuna funzione.
                                      Ma si può, volendo, ottenerli in maniera più semplice ed evitando il fastidio di dover citare aggiungendo una tilde ogni volta.

                                      Ciao
                                      Ivan

                                    • #103914
                                      davidebond
                                      Partecipante
                                        Up
                                        0
                                        Down
                                        ::


                                        L’hai detto: sono tremendi. Il problema è che se inserisco dello spazio aggiuntivo manualmente, scombino l’allineamento die vari items. Come posso fare, perché ciò non accada?

                                        Grazie,

                                        davide

                                      • #103915
                                        davidebond
                                        Partecipante
                                          Up
                                          0
                                          Down
                                          ::


                                          Rivedendo il tutto, i Numeri degli items non vengono fuori ben incolonnati, a prescidendere dall’aggiunta die punti o meno.

                                          Grazie. Ciao,

                                          davide

                                        • #103916
                                          Up
                                          0
                                          Down
                                          ::


                                          Così il risultato è accettabile. Provalo nel mio codice sopra.
                                          `\DeclareFieldFormat{labelnumberwidth}{%
                                          \ifboolexpr{%
                                          test {\ifentrytype{xarticle}}%
                                          or
                                          test {\ifentrytype{xbook}}%
                                          or
                                          test {\ifentrytype{xinproceedings}}%
                                          }%
                                          {\mkbibbra{#1}}{\ifboolexpr{%
                                          test {\ifentrytype{yarticle}}%
                                          or
                                          test {\ifentrytype{ybook}}%
                                          or
                                          test {\ifentrytype{yinproceedings}}%
                                          }%
                                          {\mkbibbrackets{#1}}{#1\hspace*{.2em}}}}`
                                          Ovviamente non si possono fare i miracoli con questi presupposti.
                                          Si tratta di lista bibliografica che chiamare “degenere” è dir poco.
                                          I punti rimangono inutili e brutti, a prescindere.

                                          La funzione logica delle tre tipologie di etichette può essere implementata
                                          in maniera più lineare, elegante e coerente con, direi, tutte le tradizioni bibliografiche,
                                          predisponendo tre bibliografie con numerazione autonoma.

                                          Ciao
                                          Ivan

                                        • #103917
                                          davidebond
                                          Partecipante
                                            Up
                                            0
                                            Down
                                            ::


                                            Hai Ragione. Cosa devo dirti? Io uso sempre il vecchio “amsalpha” con bibtex. Funziona bene.

                                            Ho leggermente cambiato il codice per inserire i punti. Il risultato è frutto di test empirici in cui provavo varie distanze dal Numero o dalle parentesi. Questo risultato mi sembra il meno peggio.

                                            `

                                            \documentclass[]{article}
                                            \usepackage[utf8]{inputenc}
                                            \usepackage[italian]{babel}
                                            \usepackage[T1]{fontenc}
                                            \usepackage{amssymb,latexsym}

                                            \usepackage{filecontents}

                                            \begin{filecontents*}{prova.bib}
                                            @XBOOK{schroder,
                                            author=”Enrst Schr{\”o}der”,
                                            title=”Der Operationskreis des Logikkalk{\”u}ls”,
                                            publisher=”Teubner”,
                                            address=”Leipzig”,
                                            year=1877,
                                            }

                                            @ARTICLE{schroder1,
                                            author=”E.~Schr{\”o}der”,
                                            title=”Ueber meine Vorlesungen”,
                                            journal=”Mathematische Annalen”,
                                            volume=4,
                                            year=1895,
                                            pages=”125–130″,
                                            series=5,
                                            }

                                            @YINPROCEEDINGS{schroder2,
                                            author=”Ernst Schr{\”o}der”,
                                            title=”On iterirte Funktionen”,
                                            booktitle=”On Fixed Points”,
                                            editor=”Garret Birkhoff and Volker Peckhaus”,
                                            pages=”356–469″,
                                            address=”Oxford”,
                                            publisher=”Clarendon Press”,
                                            year=1950,
                                            }

                                            @XARTICLE{lesniewski,
                                            author=”Stanislav Lesniewski”,
                                            title=”On Mereology”,
                                            journal=”Journal f{\”u}r die reine und angewandte Mathematik”,
                                            series=6,
                                            year=1914,
                                            volume=7,
                                            pages=”15–230″,
                                            }
                                            \end{filecontents*}

                                            \usepackage[autostyle]{csquotes}
                                            %%%%%%%%%%% usare \cite*{} per produrre citazioni senza parentesi
                                            %%%%%%%%%%% usare \citer{} per produrre citazioni con bra-kets
                                            %%%%%%%%%%% usare \citet{} per produrre citazioni con parentesi quadre

                                            \usepackage[
                                            backend=biber,
                                            style=numeric,
                                            % sortlocale=de_DE,
                                            natbib=true,
                                            url=false,
                                            doi=false,
                                            eprint=false,
                                            sorting=none,
                                            firstinits=true
                                            ]{biblatex}

                                            \renewbibmacro{in:}{}

                                            \renewbibmacro*{publisher+location+date}{%from standard.bbx
                                            \printlist{location}%
                                            \iflistundef{publisher}
                                            {\setunit*{\addcomma\space}}
                                            {\setunit*{\addcomma\space}}%instead of \addcolon\space
                                            \printlist{publisher}%
                                            \setunit*{\addcomma\space}%
                                            \usebibmacro{date}%
                                            \newunit}

                                            \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                                            \renewcommand*{\newunitpunct}{\addcomma\space}
                                            \DeclareFieldFormat[book]{date}{(#1)}
                                            \DeclareFieldFormat[article]{title}{#1}
                                            \DeclareFieldFormat[article]{series}{(#1)\addcomma}
                                            \DeclareFieldFormat[article]{journaltitle}{\emph{#1}\addcomma}
                                            \DeclareFieldFormat[article]{volume}{#1\addcomma}
                                            \DeclareFieldFormat[inproceedings]{title}{#1}
                                            \DeclareFieldFormat[inproceedings]{date}{(#1)}

                                            \DeclareFieldFormat[article]{labelnumberwidth}{#1~\addperiod}

                                            \DeclareBibliographyCategory{bra}
                                            \DeclareBibliographyCategory{brackets}
                                            \DeclareBibliographyCategory{none}

                                            \makeatletter
                                            \newrobustcmd{\mkbibbra}[1]{%
                                            \begingroup
                                            \blx@blxinit
                                            \blx@setsfcodes
                                            \ensuremath{\langle}#1\ensuremath{\rangle}%
                                            \endgroup}
                                            \makeatother

                                            \DeclareCiteCommand{\citer}[\mkbibbra]
                                            {\usebibmacro{prenote}}
                                            {\usebibmacro{citeindex}%
                                            \usebibmacro{cite}%
                                            \addtocategory{bra}{\thefield{entrykey}}}
                                            {\multicitedelim}
                                            {\usebibmacro{postnote}}

                                            \DeclareCiteCommand*{\cite}
                                            {\usebibmacro{prenote}}
                                            {\usebibmacro{citeindex}%
                                            \usebibmacro{cite}%
                                            \addtocategory{none}{\thefield{entrykey}}}
                                            {\multicitedelim}
                                            {\usebibmacro{postnote}}

                                            \DeclareCiteCommand{\citet}[\mkbibbrackets]
                                            {\usebibmacro{prenote}}
                                            {\usebibmacro{citeindex}%
                                            \usebibmacro{cite}%
                                            \addtocategory{brackets}{\thefield{entrykey}}}
                                            {\multicitedelim}
                                            {\usebibmacro{postnote}}

                                            \DeclareBibliographyAlias{xbook}{book}
                                            \DeclareBibliographyAlias{xarticle}{article}

                                            \DeclareFieldFormat{labelnumberwidth}{%
                                            \ifboolexpr{%
                                            test {\ifentrytype{xarticle}}%
                                            or
                                            test {\ifentrytype{xbook}}%
                                            or
                                            test {\ifentrytype{xinproceedings}}%
                                            }%
                                            {\mkbibbra{#1}~\addperiod}{\ifboolexpr{%
                                            test {\ifentrytype{yarticle}}%
                                            or
                                            test {\ifentrytype{ybook}}%
                                            or
                                            test {\ifentrytype{yinproceedings}}%
                                            }%
                                            {\mkbibbrackets{#1}~\addperiod}{#1\hspace*{.2em}}}%
                                            }

                                            %\RequireBibliographyStyle{numeric}
                                            \addbibresource{prova.bib}

                                            \begin{document}

                                            I want cite \citer{schroder}, \cite*{schroder1}, \citet{schroder2} and \citer{lesniewski}.

                                            \printbibliography
                                            \end{document}
                                            `

                                            Giustamente, compilando, mi viene fuori l’avvertimento:

                                            `

                                            Package biblatex Warning: No driver for entry type 'yinproceedings'.
                                            (biblatex) Using fallback driver on input line 165.

                                            `

                                            Lo posso ignorare o devo usare \DeclareBibliographyDriver{yinproceedings} con tutto ciò che ne segue?

                                            Grazie. Ciao,

                                            davide
                                            [attachment=1452]prova4.pdf[/attachment]

                                            Attachments:
                                            You must be logged in to view attached files.
                                          • #103918
                                            davidebond
                                            Partecipante
                                              Up
                                              0
                                              Down
                                              ::


                                              Con questo post, posso dire di aver concluso. In effetti, dato che si sono create nuove classi di documento usando il prefisso X o Y, bisogna specificare i “Drivers” appropriati. Di seguito, posto quello per @XINPROCEEDINGS. Dalla sua struttura sarà chiaro come modificare altre classi di documento nel file.bib:

                                              `
                                              \DeclareBibliographyDriver{xinproceedings}{%
                                              \newunit\newblock
                                              \printnames{author}%
                                              \newunit\newblock
                                              \printfield{title}%
                                              \newunit\newblock
                                              \printfield{booktitle}%
                                              \newunit\newblock
                                              \printfield{series}
                                              \newunit\newblock
                                              \printfield{volume}
                                              \newunit\newblock
                                              \printlist{location}%
                                              \newunit\newblock
                                              \printlist{publisher}%
                                              \newunit\newblock
                                              \printfield{year}%
                                              \newunit\newblock
                                              \printfield{pages}%
                                              \finentry}

                                              \DeclareFieldFormat[xinproceedings]{title}{#1}
                                              \DeclareFieldFormat[xinproceedings]{year}{(#1)}
                                              \DeclareFieldFormat[xinproceedings]{booktitle}{\emph{#1}}
                                              \DeclareFieldFormat[xinproceedings]{series}{(#1)}
                                              \DeclareFieldFormat[xinproceedings]{volume}{#1}
                                              \DeclareFieldFormat[xinproceedings]{address}{#1}
                                              \DeclareFieldFormat[xinproceedings]{publisher}{#1}
                                              \DeclareFieldFormat[xinproceedings]{pages}{#1}
                                              `

                                              La prima parte indica le varie parti di cui si compone la voce bibliografica, la seconda come vanno formattate. Nel caso in questione, autore in tondo, data tra parentesi Rotonde, titolo in tondo, titolo del libro in corsivo, la Serie in tondo tra parentesi tonde, il volume in tondo ma non in boldface, luogo ed editorie in tondo, pagine senza pp. o altro. Dall’esempio sovrastante è facile intuire come creare una nuova classe di documento ad hoc.

                                              Spero che questo lavoro sia servito a quelli che intendono modificare il lavoro di biber e di biblatex, a prescindere dall’uso o meno delle parentesi.

                                              Grazie a tutti.

                                              Ciao,

                                              davide

                                          Visualizzazione 25 filoni di risposte
                                          • Devi essere connesso per rispondere a questo topic.

                                          Go to top