indice analitico e Biblatex nomi con simboli iniziali

  • Creatore
    Topic
  • #91212
    Up
    0
    Down
    ::


    Salve

    Sto scrivendo la tesi di dottorato e mi trovo ad avere qualche difficoltà con l’indice analitico.

    Ho utilizzato il metodo automatico per comporre l’indice analitico dei nomi sfruttando biblatex.

    Per le voci dell’indice relative a nomi di autori con la prima lettera appartenente al gruppo delle normali lettere accettate (a,A,b,B…z,Z) tutto funziona bene.
    Ciò non avviene per le lettere che necessitano un ocmando latex apposito, come ad esempio \L ({\L}ukasiewicz)

    In questo secondo caso l’indice analitico legge il nome come la serie di simboli \,L,… e quindi inserisce il nome {\L}ukasiewicz sotto symbols (a causa di \) e non sotto la L (come dovrebbe essere).

    Come fare a far rientrare il nome {\L}ukasiewicz sotta la L?

    Non posso modifcare manualemente il comando \index{{\L}ukasiewicz} in \index{@} dato che è un comando generato automaticamente dal programma.

    Inoltre non vorrei modificare il nome del’autore eliminando il comando \L.

    Avete qualche idea?

    In questo codice si vede come l’indice ponga {\L}ukasiewicz prima del famossimo autore Aiaccio Amilcare, ovvero lo ponga sotto symbols e no sotto la L.

    `
    begin{filecontents}{nicol.bib}

    @ARTICLE{Lukasiewicz:SomeArticle,
    author = {{\L}ukasiewicz, El\.{z}bieta},
    title = {Sweet title},
    journal = {Nice Journal},
    year = {2000},
    volume = {01},
    pages = {01–34},
    number = {1}
    }

    @BOOK{AAA:SweetText,
    title = {Sweet Title of A},
    publisher = {Futuretext},
    year = {2008},
    author = {Aiaccio, Amilcare}
    }

    \end{filecontents}

    \documentclass[4apaper]{book}

    \usepackage[italian]{babel}

    \usepackage[backend=bibtex,%
    bibstyle=authoryear,citestyle=authoryear,%
    indexing=cite,%
    babel=hyphen,%
    indexing]{biblatex}

    \renewbibmacro*{citeindex}{%
    \ifciteindex
    {\indexnames{labelname}}%
    {}}
    \renewbibmacro*{bibindex}{%
    \ifbibindex
    {\indexnames{author}%
    \indexnames{editor}%
    \indexnames{editora}%
    \indexnames{editorb}%
    \indexnames{editorc}}%
    {}}%

    \usepackage{makeidx}
    \usepackage{imakeidx}
    \makeindex[intoc]

    \addbibresource{nicol.bib}

    \begin{document}

    Some Text(\cite{Lukasiewicz:SomeArticle})

    Someother text (\cite{AAA:SweetText})

    Ciao\index{AuthorA}

    \printbibliography
    \printindex

    \end{document}
    `

    Grazie mille a tuttti in anticipo
    Nicol

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #91213
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Ammesso che tu abbai una tastiera decentemente associata ad un buon driver, o che tu disponga di una tastiera virtuale o una buona tabella dei caratteri, con a quale tu possa cambiare font e codifica assieme, hai provato a vedere che cosa succede se tu scrivi direttamente Łukasiewicz; forse te lo mette in coda a tutte le L, ma è meglio che fra i simboli. Naturalmente è obbligatorio usare la codifica di input utf8

        Un’altra possibilità sarebbe quella di usare texindy come motore di sorting e di produzione dlel’indice dei nomi; Con il pacchetto imakeidx lo si può fare, ma devi o autorizzare il tuo sistema ad usare l’impostazione –shell-escape non protetta, o devi eseguire il sorting dell’indice dei nomi a mano.
        Per le opzioni da dare a texindy devi leggerne la documentazione, che ahimè non è delle più chiare; non vorrei studiarmela io per usare le lettere polacche, per poi darti le dritte del caso, ma so per certo che xindy (anche nella versione texindi) dovrebbe poterlo fare.

        Alternativa ulteriore, ma di scarso sollievo: nel database bibliografico da gestire con biblatex e poi da imakeindex per l’indice dei nomi, scrivi Lukasiewicz sena la L barrata; è sbagliato in polacco, ma per un tesi scritta in italiano o in inglese non si noterebbe l’errore.

        Quarta alternativa: scrivi Lukasiewicz nel campo author e inserisci un campo note nel quale scrivi il nome completo dellautore scritto correttamante con la L barrata.

      • #91214
        Up
        0
        Down
        ::


        S’ può aggirare il problema aggiungendo al record relativo a Łukasiewicz il campo
        `options = {indexing=false}`
        In questo modo viene disabilitata l’indicizzazione automatica. Naturalmente dei poi
        indicizzare a mano con \index. Ma hai il vantaggio di poter usare tutti i codici previsti da questo comando.
        Se i casi simili a questo non sono molti potrebbe essere la soluzione più veloce.
        Non è per niente La solzuione 🙁

        Un’altra soluzione è indicata qui, ma francamente non sono riuscito a metterla in pratica.

        Ciao
        Ivan

      • #91215
        Up
        0
        Down
        ::


        Grazie mille 🙂

        proverò con la seconda opzione.

        Purtroppo non posso usare UTF8 erchè mi servono dei caratteri disponibili solo in T1 :(.

        Per caso sapete dove trovare la documentazione per texindy?

        Grazie ancora
        nicol

      • #91216
        Up
        0
        Down
        ::

        nicol” post=90804
        Purtroppo non posso usare UTF8 erchè mi servono dei caratteri disponibili solo in T1 :(.

        Qualcosa non torna. Confondi le codifiche di input e di output.
        Quali sarebbero i caratteri che ti servono e che sono incompatibili con utf8?

        Quando hai trovato la soluzione ricordati di postarla sul forum,
        In modo che possa servire anche ad altri utenti

        Ciao
        Ivan

      • #91217
        Up
        0
        Down
        ::


        ciao

        grazie per la risposta. Ora non ricordo (forse \quotedblbase )…. forse mi sbaglio. ora provo a compilare ipostando UFT8.

        una domanda…
        dato che è solamente un nome che non è ordinato correttamente (e solo nell’indice) è possibile cambiare manualmente i dati sul file dell’indice?

        Forse sto dicendo una fesseria, ma se pdflatex crea un file a parte per l’indice basterebbe modificare manualmente questo file per avere l’output desiderato

        Grazie
        Nicol

      • #91218
        Up
        0
        Down
        ::


        ho provato a togliere la chiamata a makeidx che credo crei conflitti con quella a imakeidx (o per lo meno ritengo non serva), ho cambiato codifica in utf8 con caratteri T1 e modificato il motore biblatex con biber, ho chiamato csquotes come richiesto da biblatex (e suggerito nella console) e aggiunto una voce “Lz”. Ah, e ho invertito la bibliografia con l’indice analitico (a parte il gusto personale, se chiami prima la bibliografia ti ritrovi il riferimento alla pagina della bibliografia nell’indice analitico per ogni voce che citi).

        La cosa curiosa è che la bibliografia viene ordianta correttamente anche se la chiamata alle voci non è ordinata. quindi biblatex “sa” ordinare {\L}…. Il problema infatti non risiede li, provando anche a fare come suggerito da Claudio, ovvero inserendo direttamente il carattere da tastiera, tutto funziona ma l’ordinamento dell’indice analitico resta invariato e scorretto, mentre quello della bibliografia resta corretto.

        qui il mio file modificato
        `\begin{filecontents}{nicol.bib}

        @BOOK{Lz,
        author = {Lz, ciao},
        title = {Sweet title},
        journal = {Nice Journal},
        year = {2000},
        volume = {01},
        pages = {01–34},
        number = {1}
        }

        @ARTICLE{Lukasiewicz:SomeArticle,
        author = {Łukasiewicz, El\.{z}bieta},
        title = {Sweet title},
        journal = {Nice Journal},
        year = {2000},
        volume = {01},
        pages = {01–34},
        number = {1}
        }

        @BOOK{AAA:SweetText,
        title = {Sweet Title of A},
        publisher = {Futuretext},
        year = {2008},
        author = {Aiaccio, Amilcare}
        }

        \end{filecontents}

        \documentclass[4apaper]{book}

        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}

        \usepackage[autostyle, italian=guillemets]{csquotes}% citazioni (necessario a biblatex)
        \usepackage[backend=biber,%
        bibstyle=authoryear,citestyle=authoryear,%
        indexing=cite,%
        babel=hyphen,%
        indexing]{biblatex}

        \renewbibmacro*{citeindex}{%
        \ifciteindex
        {\indexnames{labelname}}%
        {}}
        \renewbibmacro*{bibindex}{%
        \ifbibindex
        {\indexnames{author}%
        \indexnames{editor}%
        \indexnames{editora}%
        \indexnames{editorb}%
        \indexnames{editorc}}%
        {}}%

        %\usepackage{makeidx}
        \usepackage{imakeidx}
        \makeindex[intoc]

        \addbibresource{nicol.bib}

        \begin{document}

        Some Text(\cite{Lukasiewicz:SomeArticle})

        Someother text (\cite{AAA:SweetText})

        More text(\cite{Lz})

        Ciao\index{AuthorA}

        \printindex
        \printbibliography

        \end{document} `

        Unica nota che mi sento ancora di fare: se hai già scritto molto fai molta attenzione a cambiare codifica…leggi attentamente la guida scritta da Claudio stesso che è molto valida e la trovi qui sopra nella sezione documentazione (quarta guida tematica dall’alto), fai una copia e modifica la copia, mantenendo il tuo originale fintanto che non sei sicura che la conversione è andata a buon fine…per quanto io per primo sia un fermo sostenitore del passaggio sempre e comunque a utf8…attenzione..rischi di mandare a quel paese tutto il tuo lavoro se sbagli qualcosa nella conversione e non hai una copia. (in ogni modo il tuo problema non risiede nella codifica…)

        In definitiva spero di aver contribuito a risolvere il problema per quanto io non abbia idea di come fare 🙂

        Buon fine settimana.

        Ciao ciao,

        Corrado.

      • #91219
        Up
        0
        Down
        ::


        Ciao Corrado 🙂

        Grazie mille per la risposta!

        Io ho finito di scrivere la tesi di dottorato e ho la “prima consegna” è a giorni e cerco infatti di fare i minimi cambiamenti.

        Dato che è solamente un riferimento mi posso permettere di cambiarlo manulamente, ma non so come.

        Grazie ancora
        Nicol

      • #91220
        Up
        0
        Down
        ::

        nicol” post=90809Ciao Corrado 🙂

        Grazie mille per la risposta!

        Io ho finito di scrivere la tesi di dottorato e ho la “prima consegna” è a giorni e cerco infatti di fare i minimi cambiamenti.

        Dato che è solamente un riferimento mi posso permettere di cambiarlo manulamente, ma non so come.

        Te l’ho spiegato nel post precedente. Devi usare l’opzione indexing=false solo per la voce incriminata e indicizzare manualmente il nome dell’autore.

        Non è una buona scelta modificare il file ausiliari perché verrebbero sovrriscritti alle compilazioni successive.
        Se lo fai, aggiungi \nofiles nel preambolo del file principale.

        Ciao
        Ivan

      • #91221
        Up
        0
        Down
        ::


        allora, ripristiniamo l’assenza della dichiarazione della codifica di input utf8…tu NON inserirla o rischi il macello…
        ripristiniamo bibtex
        eliminiamo la chiamata a imakeidx (che fa tutto in automatico e noi non lo vogliamo)
        attiviamo makeidix ricordando dio togliere l’opzione [intoc] a \makeindex

        (a questo punto dovremo inserire nell’indice generale la voce a mano)

        Compiliamo, ricordandoci di eliminare il file nicol.bib e tutti i file ausiliari che sono da ricreare (lascia solo i .txt) compila due volte, fai partire BibTex fai partire MakeIndex e poi modifichi l’ordinamento delle voci nel file tuonome.ind (aprendolo con un qualunque editor di testo..ancheh quello che usi per i .txt :-)) da questo momento non richiamare più MakeIndex, ricompila ed è tutto a posto e in ordine.

        sono da inserire un po’ di pagine bianche a mano…in definitiva il codice è questo:

        `\begin{filecontents}{nicol.bib}

        @BOOK{Lz,
        author = {Lz, ciao},
        title = {Sweet title},
        journal = {Nice Journal},
        year = {2000},
        volume = {01},
        pages = {01–34},
        number = {1}
        }

        @ARTICLE{Lukasiewicz:SomeArticle,
        author = {{\L}ukasiewicz, El\.{z}bieta},
        title = {Sweet title},
        journal = {Nice Journal},
        year = {2000},
        volume = {01},
        pages = {01–34},
        number = {1}
        }

        @BOOK{AAA:SweetText,
        title = {Sweet Title of A},
        publisher = {Futuretext},
        year = {2008},
        author = {Aiaccio, Amilcare}
        }

        \end{filecontents}

        \documentclass[4apaper]{book}

        \usepackage[T1]{fontenc} %codifica caratteri in output…quelli che vengono stampati nel pdf
        %\usepackage[utf8]{inputenc} %codifica caratteri in input…quelli con cui è scritto il sorgente
        \usepackage[italian]{babel}

        \usepackage[babel]{csquotes}% citazioni (necessario a biblatex)
        \usepackage[backend=bibtex,%
        bibstyle=authoryear,citestyle=authoryear,%
        indexing=cite,%
        babel=hyphen,%
        indexing]{biblatex}

        \renewbibmacro*{citeindex}{%
        \ifciteindex
        {\indexnames{labelname}}%
        {}}
        \renewbibmacro*{bibindex}{%
        \ifbibindex
        {\indexnames{author}%
        \indexnames{editor}%
        \indexnames{editora}%
        \indexnames{editorb}%
        \indexnames{editorc}}%
        {}}%

        \usepackage{makeidx}
        \makeindex

        \addbibresource{nicol.bib}

        \begin{document}
        \tableofcontents% stampa l'indice generale (inserito per vedere che compaiano le voci di indice analitico e bibliografia)
        Some Text(\cite{Lukasiewicz:SomeArticle})

        Someother text (\cite{AAA:SweetText})

        More text(\cite{Lz})

        Ciao\index{AuthorA}

        \cleardoublepage %apre la pagina a destra
        \printindex
        \addcontentsline{toc}{chapter}{\indexname} %aggiunge la voce nell'indice generale
        \cleardoublepage
        \printbibliography
        \addcontentsline{toc}{chapter}{\bibname}

        \end{document} `

      • #91222
        Up
        0
        Down
        ::


        Grazie mille ad entrambi

        Ho seguito il consiglio di Dork e FUNZIONA!!!!!! Un genio 😀

        In questo modo è possibile modificare direttamente il file ind e quindi modificare in una volta tutto l’indice analitico con molta precisione.

        Basta modificarte questo codice:
        `
        \item \L ukasiewicz, El\.{z}bieta, 3, 5
        \indexspace
        \item Aiaccio, Amilcare, 3, 5
        \item AuthorA, 3
        \indexspace
        \item Lz, ciao, 3, 5
        `
        in:

        `
        \indexspace
        \item Aiaccio, Amilcare, 3, 5
        \item AuthorA, 3
        \indexspace
        \item Lz, ciao, 3, 5
        \indexspace
        \item \L ukasiewicz, El\.{z}bieta, 3, 5
        `

        per avere la lettera polacca \L dopo la L e prima della M.

        Sono consapevole che non è certo la soluzione più elegante ma sinceramente il link che ho trovato per risovere il problema in maniera più professionale mi risultano incomprendibili 🙁

        Dato che ho slamente 4 nomi problematici modificherò a mano il file ind.

        Faccio notare che tutti i nomi con accenti risultano mal posti nell’indice e non solamente i nomi polacchi.

        Quindi anche simboli come \”{}, {\o}, \'{} etc… devono essere corretti manualmente .

        Grazie ancora di tutto 😀

        Nicol

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

    Go to top