XeLaTex e bibtex

  • Creatore
    Topic
  • #116467
    GuITstaff
    Amministratore del forum
      Up
      0
      Down
      ::


      Salve a tutti,
      sto scrivendo una tesi per la quale devo rispettare alcune note redazionali, tra cui l’uso del font Calibri ed alcune specifiche sulla bibliografia.
      Leggendo le guide, ho individuato la soluzione nell’usare XeLaTex (per il comando \setmainfont ecc) e biblatex (per la bibliografia).
      Quando vado ad aggiungere la bibliografia ho un errore con bibtex; il resto viene compilato correttamente.

      `

      \documentclass{book}

      \usepackage{fontspec}
      \usepackage{polyglossia}
      \setmainlanguage{italian}
      \setmainfont[Ligatures=TeX]{Calibri}

      %\usepackage[autostyle,italian=guillemets]{csquotes}

      \usepackage[style=authoryear-comp]{biblatex}
      \bibliography{biblio}

      \begin{document}

      \frontmatter
      \tableofcontents

      \mainmatter

      \chapter{aaa primo capitolo}
      pippo

      \backmatter

      \addcontentsline{toc}{chapter}{\bibname}
      \nocite{*}
      \printbibliography

      \end{document}
      `

      Questa la struttura del file principale .tex. Faccio notare che non ho incluso babel per incompatibilità con XeLaTex, mentre se commento o meno la riga con csquotes non cambia nulla.
      Nella bibliografia per prova ho messo un unico record “fidato”:

      `
      @article{mori:tesi,
      author = {Mori, Lapo Filippo},
      title = {Scrivere la tesi di laurea con \LaTeXe},
      journaltitle = {\Ars},
      number = {3},
      year = {2007}
      }
      `

      La compilazione con bibtex dà il seguente errore :

      `
      This is BibTeX, Version 0.99d (TeX Live 2019/W32TeX)

      The top-level auxiliary file: main.aux

      I found no \citation commands—while reading file main.aux

      I found no \bibdata command—while reading file main.aux

      I found no \bibstyle command—while reading file main.aux

      (There were 3 error messages)

      Il processo è terminato con uno o più errori
      `

      Vi ringrazio fin da ora per il tempo dedicatomi. Buona giornata!
      Elisa

    Visualizzazione 4 filoni di risposte
    • Autore
      Risposte
      • #116468
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Benvenuta nel forum.

          Hai commesso un certo numero di errori, probabilmente perché hai confuso quanto si deve fare con biblatex+biber o con bibliliographystyle + bibtex.

          Intanto Usando biblatex dive indicare il nome del database bibliografico con il comando`\addbibresource{biblio.bib}`con l’estensione esplicita.

          Poi non devi gestire il database con bibtex ma con biber; Oppure se vuoi usare bibtex; devi esplicitarlo con una apposita opzione alla chiamata di biblatex.

          Poi, il primo messaggio d’errore dice che non ha trovato comandi di citazione nel tuo main file; è chiaro che se non citi niente, non puoi compilare la bibliografia in nessun modo. O meglio, se vuoi compilare la bibliografia senza citare nulla (ma a che cosa ti servirebbe una bibliografia senza citare nessuna delle opere che contiene?) puoi farlo inserendo il comando \nocite{*} così`\nocite{*}
          \printbibliography[…]`dove i puntini specificano le opzioni di stampa della bibliografia.

          Forse ci sono anche altri errori, ma a prima vista non ne vedo esplicitamante; potrebbero essercene nel database bibliografico. ma questo salta fuori dalla compilazione.

          Visto che sei nuova, si suggerisco di esplorare la sezione Documentazione di questo sito; ci sono un mucchio di guide, generali e specifiche/tematiche.
          Una guida tematica riguarda proprio la bibliografia; un’altra riguarda la creazione di esempi minimi compilabili, anche di quelli che contengono “errori” nella composizione della bibliografia. Se tu avessi seguito quanto scritto in queste due guide, non avresti avuto nessun problema, ma se ce ne fossero rimasti, l’esempio minimo compilabile avrebbe permesso a noi tutti frequentatori di questo forum di darti una mano in modo più mirato.

          Sia chiaro: quanto sopra non è un rimprovero. È solo una indicazione per spiegarti il modo efficace di ottenere risposte dai frequentatori di questo forum. 🙂

        • #116469
          GuITstaff
          Amministratore del forum
            Up
            0
            Down
            ::


            Grazie della risposta.
            Tuttavia devo fare delle precisazioni: come avevo scritto, ho letto diverse guide… poi magari non ho letto abbastanza bene oppure non ho capito…
            Il problema sta sta nel fatto che nella prima versione del mio documento avevo usato bibliliographystyle + bibtex e sono andata avanti per un po’, inserendo un certo numero di record nel file bib (ovviamente con opportune citazioni nel testo).
            Poi sono cambiate le esigenze stilistiche sulla bibliografia, per cui ho individuato in biblatex la risposta e il codice che ho postato è un estratto che non compila (ci sono un po’ di comandi in più perchè avevo ipotizzato incompatibilità tra pacchetti o simile…).

            Venendo ai problemi che mi segnali:

            Nella guida “L’arte di gestire la bibliografia con biblatex” viene suggerito di usare \printbibliography e quindi, per inesperienza, credo di aver effettivamente confuso e mischiato le due modalità. Se ho capito bene devo provare una cosa del genere:

            `
            \documentclass{book}

            \usepackage{fontspec}
            \usepackage{polyglossia}
            \setmainlanguage{italian}
            \setmainfont[Ligatures=TeX]{Calibri}

            %\usepackage[autostyle,italian=guillemets]{csquotes}

            \usepackage[style=authoryear-comp]{biblatex}
            \addbibresource{biblio.bib}

            \begin{document}

            \frontmatter
            \tableofcontents

            \mainmatter

            \chapter{aaa primo capitolo}
            pippo

            \backmatter

            \addcontentsline{toc}{chapter}{\bibname}
            \nocite{*}
            \printbibliography

            \end{document}
            `

            e poi compilare con biber. In alternativa non ho capito cosa intendi con

            Oppure se vuoi usare bibtex; devi esplicitarlo con una apposita opzione alla chiamata di biblatex.

            Chiedo perchè al momento purtroppo devo ancora capire cosa mi serve a tra biber e bibtex. Prima di importare biblatex usavo bibtex. Il db bibliografico contiene l’unico record che ho postato, quindi non credo contenga errori. Ed il \nocite{*} (che mi serve per test per il momento) invece l’avevo già messo.
            Grazie di nuovo. Saluti
            Elisa

          • #116470
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Sì, hai ragione, non avevo letto il file fino in fondo.

              Comunque l’apposita funzione epr usare bibtex è descritta nella pagina 45 della documentazione di biblatex, che puoi leggere con il comando da terminale texdoc biblatex; nel caso particolare volessi usare bibtex l’opzione diventa:
              `\usepackage[…,backend-bibtex,…]{biblatex}`I puntini evidentemente sostituiscono le altre opzioni.

              Fra le opzioni di [tt]\printbibliography[/tt] si può mettere bibintoc, e la bibliografia avrà direttamante la sue “entry” nell’indice generale, senza bisogno di usare \addcontentsline

              Il seguente esempio minimo compilable a me funziona correttamante salvo per un piccolo dettaglio; il comando \Ars non è definito, ma per il resto compila tutto.`% !TEX TS-program = XeLaTeX
              % !TEX encoding = UTF-8 Unicode
              % !BIB TS-program = biber

              \begin{filecontents*}{biblio.bib}
              @article{mori:tesi,
              author = {Mori, Lapo Filippo},
              title = {Scrivere la tesi di laurea con \LaTeXe},
              journaltitle = {\Ars},
              number = {3},
              year = {2007}
              }
              \end{filecontents*}
              %
              \documentclass{book}

              \usepackage{fontspec}
              \usepackage{polyglossia}
              \setmainlanguage{italian}
              \setmainfont[Ligatures=TeX]{Calibri}

              \usepackage[autostyle,italian=guillemets]{csquotes}

              \usepackage[style=authoryear-comp,backend=biber]{biblatex}
              \addbibresource{biblio.bib}

              \begin{document}

              \frontmatter
              \tableofcontents

              \mainmatter

              \chapter{aaa primo capitolo}
              pippo

              \backmatter

              % \addcontentsline{toc}{chapter}{\bibname}
              \nocite{*}
              \printbibliography[heading=bibintoc]

              \end{document}
              `Ho esplicitato [tt]backend=biber][/tt], anche se si tratta del default, ma non disturba; se invece di biber ci metti bibtex, le prestazioni diminuiscono.
              Come vedi ho anche messo le righe magiche in testa: TeXstudio le sa usare; esse dicono che la codifica di tutti i file usati per la composizione del documento sono codificati con la codifica utf8, così l’editor si autoconfigura per usare quella codifica. DIce che la compilazione deve essere fatta con XeLaTeX, e l’apposito bottone dell’editor che clicchi per compilare si auto-configura in quel senso. Dice che per comporre la bibliografia, quando clicchi l’apposita icona, essa lancia biber, invece di bibtex.

              Personalmente trovo che le righe magiche sono una grande invenzione e le uso sempre anche quando non sono essenziali, perché le impostazioni del mio editor fanno già quel che serve per il particolare documento.

            • #116471
              GuITstaff
              Amministratore del forum
                Up
                0
                Down
                ::


                Grazie mille 🙂 Adesso è molto chiaro. Più tardi riprovo perché al momento non sono alla postazione.
                Grazie anche delle indicazioni sulle righe magiche, che non conoscevo.
                Buona giornata!

              • #116472
                GuITstaff
                Amministratore del forum
                  Up
                  0
                  Down
                  ::


                  Per il momento sto usando biber e funziona tutto. quindi RISOLTO, grazie di nuovo.

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

              Go to top