Problema bibliografia e utf8

  • Questo topic ha 11 risposte, 5 partecipanti ed è stato aggiornato l'ultima volta 12 anni fa da Daniele.
  • Creatore
    Topic
  • #96118
    Up
    0
    Down
    ::


    Salve, fin’ora con Latex mi era andato tutto bene ma stanno cominciando a sorgere problemi che mi sembrano assurdi.
    Uso texworks, un file tex chiamato “maintesi” e poi un file che richiamo chiamato “capitolo1”; la bibliografia la metto in maintesi. Quando compilo mi da un errore utf8 nella riga del comando \end{document}; prima di questa riga c’è il comando \printbibliography. Se compilo solo con il capitolo 1, cioè oscurando il comando \printbibliograpy, me lo compila. Ho quindi pensato che nel file della bibliografia c’è qualche carattere speciale. Quindi ho cominciato a sfoltire la bibliografia, per prova, lasciando per esempio solo 2 riferimenti che in passato avevano funzionato; stesso errore. Ho provato anche con il file .bib completamente vuoto, l’errore si presenta ugualmente.
    A questo punto ho esaurito le idee, è 2 ore che ci sbatto la testa e mi sono letto una decina di topic qui sul forum andando a implementare le varie soluzioni ma nessuna ha ottenuto successo.
    Già il fatto che non funziona nemmeno con il file .bib vuoto mi fa sorgere il dubbio che questo carattere speciale lo vede proprio in maintesi.tex, ma dove? il testo è “scarno”, non vedo caratteri speciali.
    Cosa mi consigliate di fare?

Visualizzazione 10 filoni di risposte
  • Autore
    Risposte
    • #96119
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Nel filone Errore \u8 ho appena risolto un probelma simile quando il richiedente finalmente ha inviato un esempio minimo compilabile che presentava l’errore; leggi la risposta a quel topic, me se il tuo errore fosse altrettanto subdolo, invia un esempio minimo compilabile come ho richiesto in quel filone.

      • #96120
        Up
        0
        Down
        ::


        ciao, grazie per la risposta. Ho letto quel topic, anche attentamente. Non credo sia il mio stesso problema. Prima di inviare l’esempio, vi scrivo quest’altra informazione: benchè io abbia cambiato il nome del file .bib nel preambolo, mi carica sempre il file .bib precedente. Me ne accorgo dal fatto che da alcuni warning di nomi che nel nuovo .bib non sono presenti (è vuoto!). Che devo fare per dirgli di caricare il nuovo file? Eliminare i file ausiliari non ha funzionato

      • #96121
        Up
        0
        Down
        ::

        deltax” post=95731ciao, grazie per la risposta. Ho letto quel topic, anche attentamente. Non credo sia il mio stesso problema. Prima di inviare l’esempio, vi scrivo quest’altra informazione: benchè io abbia cambiato il nome del file .bib nel preambolo, mi carica sempre il file .bib precedente. Me ne accorgo dal fatto che da alcuni warning di nomi che nel nuovo .bib non sono presenti (è vuoto!). Che devo fare per dirgli di caricare il nuovo file? Eliminare i file ausiliari non ha funzionato

        Invia un esempio i minimo compilabile, possibilmente usando l’ambiente filecontents.
        Trovi qualche esempio qui sul forum.

        Ciao
        Ivan

      • #96122
        Up
        0
        Down
        ::


        [attachment]bibliografia.bib[/attachment]
        ok, vi allego il file tex e la bibliografia; come vi ho già detto, non sono riuscito però a compilarlo nemmeno con una bubligorafia vuota, perchè prende sempre la prima, sicuramente ha una copia da qualche parte nella cartella del programma e prende quella come riferimento.

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

          deltax” post=95734[attachment]bibliografia.bib[/attachment]
          ok, vi allego il file tex e la bibliografia; come vi ho già detto, non sono riuscito però a compilarlo nemmeno con una bubligorafia vuota, perchè prende sempre la prima, sicuramente ha una copia da qualche parte nella cartella del programma e prende quella come riferimento.

          Se il file bib eccede le dimensioni consentite, caricalo con dropbox o programmi simili, qui non lo vediamo!
          Saluti

        • #96124
          Up
          0
          Down
          ::

          deltax” post=95734[attachment]bibliografia.bib[/attachment]
          ok, vi allego il file tex e la bibliografia; come vi ho già detto, non sono riuscito però a compilarlo nemmeno con una bubligorafia vuota, perchè prende sempre la prima, sicuramente ha una copia da qualche parte nella cartella del programma e prende quella come riferimento.

          `\usepackage[utf8]{inputenc}` non `\usepackage[UTF8]{inputenc}`
          Ciao
          Claudio

        • #96125
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Oltre all’errore che ti ha segnalato @cfiandra, ho il sospetto che ti dimentichi di eseguire biber prima di comporre la bibliogrfia con \printbibliography.

            Infatti non basta produrre un nuovo file .bib o modificare un file ,bib esistente; bisogna anche usare biber per trasformarlo in un file .bbl che è quello che viene letto dal comando \printbibliography.

            Ricordi? La procedura per la bibliografia è quella di eseguire a mano o tramite i pulsanti dello shell editor in sequenza i programmi:

            1) pdflatex
            2) biber
            3) pdflatex
            4) pdflatex

          • #96126
            Up
            0
            Down
            ::



            @cfiandra
            : avevo provato anche con utf minuscolo, ma non cambiava niente; le versioni funzionanti, invece, funzionano anche con UTF in maiuscolo. Comunque, se dici che la sintassi giusta è in minuscolo, correggerò.


            @OldClaudio
            : la sequenza che eseguo è quella da te descritta. Il problema è che già la prima esecuzione di pdflatex dà errore; ha quindi senso eseguire le successive? Comunque, ho provato nuovamente a fare lla sequenza con un file .bib con i riferimenti che una volta funzionavano, e mi da lo stesso errore.

            Vi ho uppato il file .bib su MEGA:

            https://mega.co.nz/#!dM4ihbLJ!dJ6xJv8hipnyWQ02d401GL4g8CEgxjiL5J2FrudegME

            EDIT: ok, posso dare ulteriori informazioni. Ho cancellato il file .bbl che latex crea automaticamente; mettendo un file .bib con solo le prime 4 reference, e rifacendo la sequenza (pdflatex – biber – 2Xpdflatex) funziona tutto. Poi rimettendo il .bib originale, al primo pdflatex dopo aver eseguito biber dà l’errore. Quindi ci sarà un carattere speciale nella bibligorafia che da fastidio. Allora la domanda è: visto che nella console non mi dice dov’è, c’è qualche log dove io posso vedere?

          • #96127
            Up
            0
            Down
            ::


            Ho risolto il problema. Ho fatto questo per individuare la reference che dava problemi: aggiungevo le reference una a una, e ogni volta che ne aggiungevo una, cancellavo il file .bbl e facevo le 4 run (pdflatex-biber-2Xpdflatex). Se non dava errore, proseguivo. Ho trovato i caratteri speciali alla ref 18 (su 22). La cosa interessante è che, arrivato circa alla ref 13, mi ero dimenticato una parentesi di chiusura della ref e biber mel’ha segnalato; invece nella ref con i caratteri speciali biber non ha dato nessun errore, ma l’errore era quello unicode che ho descritto in OP (come se l’errore fosse nel maintesi.txt).

            Adesso, aldillà del fatto che ho risolto il problema, la domanda resta: c’è sicuramente un modo più semplice ed automatico per scansionare la bibliografia alla ricerca di questi errori; me lo sapreste consigliare? Ho spulicato un po’ nei file di log, prima di usare questa “estrema” soluzione manuale, ma non ho trovato nulla, sicuramente per inesperienza mia. Certo è che con 22 ref è stato facile, se erano 200 un po’ meno. Per questo sono interessato al metodo automatico.

            Comunque, senza l’aiuto di OldClaudio che mi ha detto il fatto del file .bbl, non ci sarei mai riuscito; grazie mille :mrgreen:

          • #96128
            Up
            0
            Down
            ::

            deltax” post=95743Ho risolto il problema. Ho fatto questo per individuare la reference che dava problemi: aggiungevo le reference una a una, e ogni volta che ne aggiungevo una, cancellavo il file .bbl e facevo le 4 run (pdflatex-biber-2Xpdflatex). Se non dava errore, proseguivo. Ho trovato i caratteri speciali alla ref 18 (su 22). La cosa interessante è che, arrivato circa alla ref 13, mi ero dimenticato una parentesi di chiusura della ref e biber mel’ha segnalato; invece nella ref con i caratteri speciali biber non ha dato nessun errore, ma l’errore era quello unicode che ho descritto in OP (come se l’errore fosse nel maintesi.txt).

            Adesso, aldillà del fatto che ho risolto il problema, la domanda resta: c’è sicuramente un modo più semplice ed automatico per scansionare la bibliografia alla ricerca di questi errori; me lo sapreste consigliare? Ho spulicato un po’ nei file di log, prima di usare questa “estrema” soluzione manuale, ma non ho trovato nulla, sicuramente per inesperienza mia. Certo è che con 22 ref è stato facile, se erano 200 un po’ meno. Per questo sono interessato al metodo automatico.

            Comunque, senza l’aiuto di OldClaudio che mi ha detto il fatto del file .bbl, non ci sarei mai riuscito; grazie mille :mrgreen:

            Non c’è un sistema automatico per individuare errori simili. A volte assieme al l’errore viene indicata una parte della stringa che lo crea. Magari l’inizio di un nome o la fine della riga incriminata. Altre volte l’errore è proprio criptico.
            La soluzione che hai adottato tu è l’unica veramente efficace. Eventualmente, invece che procedere con un voce alla volta, potresti lavorare in maniera dicotomica. Tagli metà delle voci in bibliografia, cancelli i file ausiliari e compili. Se l’errore non c’è significa che era nella parte tagliata. Procedi ugualmente per la parte tagliata, dividendola in due, eccetera eccetera.
            Poi se l’errore si presenta all’improvviso è probabile che sia dovuto a qualche intervento recente, ovvero alle ultime voci aggiunte.
            Questo per quanto riguarda i caratteri non riconosciuti. Per i problemi di sintassi, un grosso aiuto te lo danno i gestori bibliografici come jabref o BibDesk è il recentissimo bibfilex (https://sites.google.com/site/bibfilex/)
            Con i quali è impossibile dimenticarsi di chiudere una parentesi o di mettere una virgola alla fine di un campo.

            Come ultima ratio puoi usare l’opzione safeinputenc, che traduce al volo i caratteri che danno problemi in codice ASCI.
            È un’opzione che sconsiglierei per ogni testo in italiano. Mentre per lavori in inglese potrebbe essere una buona soluzione.

            Ciao
            Ivan

          • #96129
            Up
            0
            Down
            ::

            ivan” post=95744

            Ho risolto il problema. Ho fatto questo per individuare la reference che dava problemi: aggiungevo le reference una a una, e ogni volta che ne aggiungevo una, cancellavo il file .bbl e facevo le 4 run (pdflatex-biber-2Xpdflatex). Se non dava errore, proseguivo. Ho trovato i caratteri speciali alla ref 18 (su 22). La cosa interessante è che, arrivato circa alla ref 13, mi ero dimenticato una parentesi di chiusura della ref e biber mel’ha segnalato; invece nella ref con i caratteri speciali biber non ha dato nessun errore, ma l’errore era quello unicode che ho descritto in OP (come se l’errore fosse nel maintesi.txt).

            Adesso, aldillà del fatto che ho risolto il problema, la domanda resta: c’è sicuramente un modo più semplice ed automatico per scansionare la bibliografia alla ricerca di questi errori; me lo sapreste consigliare? Ho spulicato un po’ nei file di log, prima di usare questa “estrema” soluzione manuale, ma non ho trovato nulla, sicuramente per inesperienza mia. Certo è che con 22 ref è stato facile, se erano 200 un po’ meno. Per questo sono interessato al metodo automatico.

            Comunque, senza l’aiuto di OldClaudio che mi ha detto il fatto del file .bbl, non ci sarei mai riuscito; grazie mille :mrgreen:

            Non c’è un sistema automatico per individuare errori simili. A volte assieme al l’errore viene indicata una parte della stringa che lo crea. Magari l’inizio di un nome o la fine della riga incriminata. Altre volte l’errore è proprio criptico.
            La soluzione che hai adottato tu è l’unica veramente efficace. Eventualmente, invece che procedere con un voce alla volta, potresti lavorare in maniera dicotomica. Tagli metà delle voci in bibliografia, cancelli i file ausiliari e compili. Se l’errore non c’è significa che era nella parte tagliata. Procedi ugualmente per la parte tagliata, dividendola in due, eccetera eccetera.
            Poi se l’errore si presenta all’improvviso è probabile che sia dovuto a qualche intervento recente, ovvero alle ultime voci aggiunte.
            Questo per quanto riguarda i caratteri non riconosciuti. Per i problemi di sintassi, un grosso aiuto te lo danno i gestori bibliografici come jabref o BibDesk è il recentissimo bibfilex (https://sites.google.com/site/bibfilex/)
            Con i quali è impossibile dimenticarsi di chiudere una parentesi o di mettere una virgola alla fine di un campo.

            Come ultima ratio puoi usare l’opzione safeinputenc, che traduce al volo i caratteri che danno problemi in codice ASCI.
            È un’opzione che sconsiglierei per ogni testo in italiano. Mentre per lavori in inglese potrebbe essere una buona soluzione.

            Ciao
            Ivan

            grazie per l’idea, effettivamente quella di fare la divisione in due mi sembra una via più veloce; quando ero arrivato a metà avevo cominciato a metterle a 2 a 2 le reference.
            Comunque si, anche io mi sono reso conto che da oggi in poi non ci dovrebbero essere particolari problemi visto che tra una compilazione e l’altra aggiungo massimo 2-3 reference. Il fatto che io avessi 22 reference da scrivere tutte insieme è solo perchè avevo iniziato a scrivere la tesi in word, e poi sono migrato a latex, quindi ho scritto le 22 reference quasi tutte insieme prima di compilare.

            Grazie a tutti :mrgreen:

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

        Go to top