Validare un database biblatex?

  • Creatore
    Topic
  • #120629
    Up
    0
    Down
    ::


    Ho bisogno di impostare un database biblatex fatto prevalentemente “a mano”, cioè lavorando direttamente in un editor di testo.

    Ora, qualche piccola distrazione può portare a dimenticare una virgola, o a fare un errore di battitura nei nomi di campo. Nel caso della virgola è relativamente facile accorgersene: non compila e dà un messaggio di errore… E immagino che sia così anche con altri errori di sintassi (parentesi non chiuse, ecc.).

    invece nel secondo caso (cioè se scrivo, mettiamo, “booktitel” invece di “booktitle”) non vedo nessun warning.

    C’è qualche strumento, e/o qualche buona pratica, che aiuta a evitare questi errori e/o permette di individuarli facilmente?

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #120630
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Ottima domanda.

        Mettiamo i puntini sulle i; stai parlando di un file con estensione .bib. Questo file può essere trasformato in un file .bbl O tramite bibtex E biblatex, OPPURE solo tramite biblatex.

        Nel primo caso i messaggi nel file .blg (che contiene il log della trasformazione) contiene informazioni diverse; Mi pare dalla poca esperienza che ho, che il log prodotto da biblatex ci sia più informazione, ma potrei sbagliarmi. Tuttavia se inserisci a mano i contenuti dei vari campi usando jabref (multipiattaforma) oppure BibDesk (solo Mac) hai una diagnostica molto efficace che ti permette di evitare quegli errori di spelling a cui facevi riferimento. Io uso BibDesk che non mi permette di salvare i singoli record che contengano errori. Ma senza un Mac, BibDesk.app non può essere usato. Non credo di avere mai installato jabref, se non molti anni fa quando avevo una versione virtuale di un altro sistema operativo.

        Non mi ricordo che cosa usassi prima di avere un Mac, cioè prima del 2006; se non ricordo male ero ancora limitato a costruire un ambiente thebibliography dove gli errori che però consentivano la compilazione mi sfuggivano alla grande, visto che me ne potevo accorgere solo rivedendo/rileggendo la bibliografia compilata.

        Sono stato piuttosto restio ad usare bibtex o bibliatex, ma ho cominciato solo nel 2006 e da allora non mi sono più scritto nessuna bibliografia a mano, ma solo usando BibDesk.

        Mi spiace di non esserti più utile; ma se usi un Mac, tieni presente che se riapri il tuo file .bib con BibDesk (già installato o installabile con la distribuzione MacTeX) questa applicazione ti dà un messaggio d’errore al primo record che contenga errori; puoi forzare la lettura di tutti i record, ma se non sono in numero eccessivo è più chiaro se correggi un record ala volta.

      • #120631
        Up
        0
        Down
        ::


        Grazie mille per le precisazioni teoriche, e anche per i suggerimenti: conoscevo JabRef, ma non BibDesk, lo proverò senz’altro.

        Mi è poi venuta un’altra idea: uno script perl che cerca un elenco di campi ammessi e mostra in output solo le righe che iniziano con campi non ammessi. È rudimentale, comunque lo condivido:
        `
        #!/usr/local/bin/perl

        use warnings;
        use strict;
        use utf8;
        use open ':std', ':encoding(UTF-8)'; # cf. https://stackoverflow.com/questions/21092427/perl-regex-replace-with-utf-8-characters

        print “Campi non definiti:\n”;

        while (<>) {
        s/^\s*@.*//g; # trova le stringhe che cominciano con @ (anche preceduto da spazi o tabulazioni) e le elimina
        s/^\s*title\s*=.*//g; # trova tutte le righe che cominciano col campo title e le elimina
        # ripetere la riga precedente per tutti i campi ammessi
        s/^\s*\n//g; # toglie le linee vuote
        print;
        }
        `

      • #120632
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Se disponi di un Mac e hai installato MacTeX,, BibDesk si trova in in finder la cartella Applicazioni/TeX.

          Il tuo script Java sembra interessante, ma prima di averlo esteso a tutti i campi possibili, devi aggiungere forse un centinaio di righe, e forse non bastano. In compenso l’idea è buona e può servire anche per chi non dispone di un Mac.

        • #120633
          Filippo
          Partecipante
            Up
            0
            Down
            ::


            Io Jabref lo uso da un po’: fa tantissime cose, tra cui anche quelle che servono a te.

            Jabref entra in quella categoria di programmi che vengono chiamati reference manager, bibliographic manager, in italiano “software di gestione della bibliografia”. Ne esistono di ottimi e open source, come Jabref (pensato specificatamente per LaTeX) e Zotero, oltre ad altri proprietari, sia gratuiti che a pagamento (Mendeley, Refworks, Endnote per citare i più famosi).
            Il loro ruolo è proprio di occuparsi di tutti gli aspetti più delicati e suscettibili di errori (sintassi, nomi dei campi, ecc), lasciando all’utente solo il compito di controllare la correttezza delle informazioni bibliografiche. Nella mia modesta opinione, non c’è proprio più alcun motivo per scrivere un file bib a mano.

          • #120634
            Up
            0
            Down
            ::


            Grazie ancora a OldClaudio. Per lo script: sì, sarebbero tante righe da aggiungere, cioè tutti i campi che ho usato o penso di usare… Certo ci si può aiutare con un excel per creare le righe con le sostituzioni.

            Grazie anche a ezellohar per il contributo. La ragione per cui scrivo a mano è che sto trasformando in file .bib una grossa bibliografia che ho (senza nessun tipo di markup) in formato word, e dunque trovo che lavorare sul testo continuo, aiutandomi con espressioni regolari e altri trucchetti, sia tutto sommato meno faticoso e più rapido rispetto a fare tanti copia-incolla nell’interfaccia di JabRef. Dopo un po’ si prende un buon ritmo 🙂

          • #120635
            Filippo
            Partecipante
              Up
              0
              Down
              ::


              Non l’ho provato, ma so che uno degli autori di Zotero ha messo online un parser che, così a occhio, sembra fare proprio quel che vuoi fare tu con il tuo script:

              https://anystyle.io/

              Se avessi voglia di provarlo, in primo luogo potrebbe farti risparmiare del tempo, e in secondo luogo, se funziona, mi piacerebbe sentire un’esperienza diretta

            • #120636
              Up
              0
              Down
              ::


              Grazie della segnalazione. Lo strumento non è tanto adatto al mio lavoro – per spiegare perché dovrei entrare in dettagli che riguardano il mio materiale di partenza, e dunque non sono tanto interessanti per i lettori del forum. Ma sembra ben fatto, e in determinate situazioni credo possa essere comodo.

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

          Go to top