Evitare che \~ diventi $\sim$ nella bibliografia

  • Creatore
    Topic
  • #110000
    Up
    0
    Down
    ::


    Salve a tutti,

    per costruire il file con i riferimenti bibliografici io uso il software Mendeley.

    Oltre ai tanti pregi, però, ottengo un problema che al momento non riesco proprio a risolvere.
    Gli autori il cui nome contiene una lettera con la tilde sopra, ad esempio \~n, non vengono riscritti correttamente nel file .bib al momento di creare tale file.
    Il carattere ~ viene infatti automaticamente trasformato in $\sim$, e questo ovviamente dà problemi in fase di compilazione con biblatex.

    Visto che è scomodo ogni volta modificare “a mano” il file .bib per rimettere a posto la tilde,
    sarebbe possibile usare una stringa del tipo \ensuretextmode{~} che faccia in modo che la tilde venga usata così com’è?

    Grazie!

    Cari saluti,
    Cosimo

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #110001
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Se è Mendeley che inserisce [tt]\~[/tt] mi piacerebbe sapere chi trasforma quella macro per accenti con [tt]$\sim$[/tt], visto che non sono né bibtex né biber.
        Però se usi biber oppure bibtexu (che sembra essere compatibile con i font non ASCII) — purtroppo lo devi usare da terminale oppure devi riconfigurare le impostazioni del tuo editor in modo che quando clicchi il bottone per lanciarlo lanci propio bibtexu e non bibtex o bintex8, puoi usare direttamente nel file .bib i caratteri con diacritici; in sostanza se devi scrivere Buñuel lo scrivi così e non con Bu\~nuel. In ogni caso credo che potresti sempre scrivere Bu{\~n}uel e quelle graffe dovrebbero proteggere il contenuto da modifiche indebite.

        Inoltre non modificare il file .bib già modificato in qualche modo; ma con Mendeley produci altri file; elabora questi file e poi aggiungili via via al primo file .bib.

        … No, non esiste un \ensuretext come esiste un \ensuremath

      • #110002
        Up
        0
        Down
        ::


        Innanzitutto grazie per la risposta!

        Sì, è proprio Mendeley che opera la codifica della tilde in $\sim$.
        Se io ad esempio voglio scrivere Buñuel, allora uso esattamente Bu{\~n}uel, ma Mendely trasforma proprio il simbolo tilde, qualsiasi altro simbolo (es. le graffe) ci sia intorno.

        Cercando un po’ su forum vari, ho trovato una soluzione che aggira il problema agendo sul file bib dopo che Mendeley l’ha prodotto, direttamente a livello del documento tex.
        Riguarda le tilde negli indirizzi url:

        `
        \addbibresource{\jobname.bib}

        \DeclareSourcemap{
        \maps{
        \map{
        \step[fieldsource=url,
        match=\regexp{\$\\sim\$},
        replace=\regexp{\~}]
        }
        }
        }
        `

        ma non so bene come funzionino i comandi all’interno.
        Visto che il problema riguarda il campo “autori”, si potrebbe adattare tale soluzione?

        Grazie,
        Cosimo

      • #110003
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Credo proprio di sì.
          Io non ho mai usato Mendeley, quindi non ho idea dic ome funzioni. Credvo che facesse per l’utente una ricerca in rete con un certo numero di parole chiave, e restituisse all’utente un file .bib. Sarebbe poi spettato all’utente usare il file .bib elaborandolo con i propri strumenti, in particolare con biber o bibtex, e poi con pdflatex tramite il pacchetto biblatex.

          Io non uso queste ricerche a tappeto, perché ti raccolgono anche la spazzatura “sotto il tappeto”; preferisco scrivere il il database .bib con BibDesk o JabRef, ma voglio elencare solo ciò di cui ho una conoscenza diretta. Voglio, insomma, selezionare i riferimenti riducendoli a ciò che effettivamente ho usato.

          Ecco perché mi stupisce che Mendeley elabori il file .bib (se non capisco male quello che hai detto). In ogni caso quella espressione sull’uso delle regular expressions permette di sostituire il simbolo \sim con il comando per l’accento.

          Se tu usi un editor che sappia gestire le regular expressions, può fare un Find & Replace globale sulla base delle regular expressions e farlo una volta per tutte prima di dare il file .bib in pasto a pdflatex + biblatex.

          Esistono manuali per el regular expressions e non hai che l’imbarazzo della scelta; io non sano tanto portato epr queste cose, ma non mi titro indietro quando è necessario; ho gestito databse testuali di circa 30000 record con un solo colpo di Find & Replace globale definito con le regular expressions e mi sono risparmiato ore di lavoro, contro pochi secondi per far fare tutto al mio calcolatore.

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

      Go to top