Indice nomi: lemmi doppi

  • Creatore
    Topic
  • #74226
    Up
    0
    Down
    ::


    Buongiorno a tutti,

    Questo esempio
    `
    \documentclass[10pt,a4paper,twoside,openright,titlepage,headinclude,footinclude,BCOR5mm,numbers=noenddot,cleardoublepage=empty,
    tablecaptionabove,abstracton,parts]{scrreprt}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{indentfirst,graphicx,subfig,lipsum,mparhack,fixltx2e,relsize,appendix,makeidx,multicol,enumitem}
    \usepackage[eulerchapternumbers,subfig,beramono,pdfspacing]{classicthesis}
    \usepackage{arsclassica}
    \usepackage[style=philosophy-verbose,scauthors=true, latinemph=true, publocformat=locpubyear, inbeforejournal=true,annotation=true, volumeformat=romansc,origfieldstype=edorig,origfieldsformat=parens,commacit=true,indexing,hyperref,backref,useprefix]{biblatex}
    \usepackage[babel,italian=guillemets]{csquotes}
    \bibliography{bibliografia}

    \defbibheading{bibliography}{%
    \cleardoublepage
    \manualmark
    \phantomsection
    \addcontentsline{toc}{part}{Bibliografia}
    \chapter*{\bibname\markboth{\spacedlowsmallcaps{\bibname}}
    {\spacedlowsmallcaps{\bibname}}}}

    \makeindex
    \let\orgtheindex\theindex
    \let\orgendtheindex\endtheindex
    \def\theindex{%
    \def\twocolumn{\begin{multicols}{2}}%
    \def\onecolumn{}%
    \clearpage
    \orgtheindex
    }
    \def\endtheindex{%
    \end{multicols}%
    \orgendtheindex
    }

    \begin{document}
    \chapter{Primo}
    \index{Albonico, Simone}
    \nocite{*}
    \printbibliography
    \printindex
    \end{document}`

    e, ad esempio, un unico record bibliografico:
    `
    @BOOK{albonico:ordine,
    title = {Ordine e numero},
    publisher = {Edizioni dell'Orso},
    year = {2006},
    author = {Albonico, Simone},
    location = {Alessandria},
    owner = {matteo},
    subtitle = {Studi sul libro di poesia e le raccolte poetiche nel Cinquecento},
    timestamp = {2011.09.08}
    }
    `

    Produce un Indice analitico con due lemmi: “Albonico, Simone”, uno che rimanda (in automatico) alla pagina della bibliografia e uno che rimanda al luogo dove ho inserito \index{Albonico, Simone}.

    In sostanza vengono generati doppi lemmi ogniqualvolta ci sia il caso di un nome presente in bibliografia e, contemporaneamente, una indicizzazione “a mano”.

    Cosa sbaglio?
    Grazie in anticipo!
    A presto,
    Matteo

Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #74227
      Up
      0
      Down
      ::


      Apparentemente si tratta di un problema degli stili philosophy.
      Cambiando stile, infatti, l’indice è corretto.
      Controllo meglio e vi faccio sapere.

      Aggiornamento

      Il problema è nell’opzione useprefix e non riguarda solo gli stili philosophy.
      Tale opzione funziona solo con biber, quindi se usi bibtex toglila pure.
      Il problema, naturalmente, rimane 🙁

      Ciao
      Ivan

    • #74228
      Up
      0
      Down
      ::


      hai ragione: eliminando l’opzione useprefix il problema dei doppi lemmi non c’è più…e tutto sommato, forse, è comunque meglio non utilizzarla proprio:)

      Ne approfitto per porre un’ulteriore questione, senza uscire troppo dall’argomento:
      esiste un modo per ottenere, nell’indice dei nomi, l’indicazione “34n” (o analoghe) qualora il nome fosse citato in nota?

      Grazie ancora!
      A presto,
      Matteo

    • #74229
      Up
      0
      Down
      ::

      teomat” post=73239Ne approfitto per porre un’ulteriore questione, senza uscire troppo dall’argomento:
      esiste un modo per ottenere, nell’indice dei nomi, l’indicazione “34n” (o analoghe) qualora il nome fosse citato in nota?

      Sono quasi sicuro di aver già trattato questo problema in passato. Sì!

      http://www.guitex.org/home/en/forum/5-tex-e-latex/59247-indice-dei-nomi-con-tre-tipologie-di-occorrenze

      Ciao
      Enrico

    • #74230
      Up
      0
      Down
      ::


      Grazie egreg per la segnalazione.
      Ho provato utilizzando il codice della discussione che mi hai segnalato, però c’è qualcosa che non va.

      Ho compilato questo esempio da terminale `makeindex -s nomiinnota RICERCA`

      `

      \begin{filecontents*}{nomiinnota.ist}
      item_0 “\\stoprange \n\\item ”
      delim_0 “\\startrange ”
      postamble “\\stoprange\n\n\\end{theindex}\n”
      \end{filecontents*}

      \documentclass[10pt,a4paper,twoside,openright,titlepage,headinclude,footinclude,BCOR5mm,numbers=noenddot,cleardoublepage=empty,
      tablecaptionabove,abstracton,parts]{scrreprt}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{indentfirst,graphicx,subfig,lipsum,mparhack,fixltx2e,relsize,appendix,makeidx,multicol,enumitem}
      \usepackage[eulerchapternumbers,subfig,beramono,pdfspacing]{classicthesis}
      \usepackage{arsclassica}
      \usepackage[style=philosophy-verbose,scauthors=true, latinemph=true, publocformat=locpubyear, inbeforejournal=true,annotation=true, volumeformat=romansc,origfieldstype=edorig,origfieldsformat=parens,commacit=true,indexing,hyperref,backref,useprefix]{biblatex}
      \usepackage[babel,italian=guillemets]{csquotes}
      \bibliography{bibliografia}

      \defbibheading{bibliography}{%
      \cleardoublepage
      \manualmark
      \phantomsection
      \addcontentsline{toc}{part}{Bibliografia}
      \chapter*{\bibname\markboth{\spacedlowsmallcaps{\bibname}}
      {\spacedlowsmallcaps{\bibname}}}}

      \makeindex

      \newcommand\nindex[1]{\index{#1|innota}}
      \newcommand\innota[1]{#1n}

      \makeatletter
      \let\stoprange\relax
      \def\startrange#1\stoprange{\begingroup\process@range{#1}\endgroup}
      \def\process@range#1{\def\in@range{#1}\def\in@list{\unskip}%
      \@for\next:=\in@range\do
      {\expandafter\process@entry\next\@nil}
      \in@list}
      \def\process@entry{\@ifnextchar\innota{\process@nota}{\process@reg}}
      \def\process@reg#1\@nil{%
      \@namedef{exists#1}{, #1}%
      \appto\in@list{\csname exists#1\endcsname}}
      \def\process@nota#1#2\@nil{%
      \@ifundefined{exists#2}
      {\@namedef{exists#2}{, #2n}\appto\in@list{\csname exists#2\endcsname}}
      {\@namedef{exists#2}{, #2 e n}}%
      }
      \makeatother

      \begin{document}
      \chapter{Primo}
      \index{Albonico, Simone}
      \nocite{*}
      \printbibliography
      \printindex
      \end{document}
      `

      la base di dati bibliografica contiene un solo record:

      `@BOOK{albonico:ordine,
      title = {Ordine e numero},
      publisher = {Edizioni dell'Orso},
      year = {2006},
      author = {Albonico, Simone},
      location = {Alessandria},
      owner = {matteo},
      subtitle = {Studi sul libro di poesia e le raccolte poetiche nel Cinquecento},
      timestamp = {2011.09.08}
      }
      `

      L’ultima compilazione, dopo quella Makeindex, si interrompe con un messaggio di errore:

      `
      ! Missing \endcsname inserted.

      \begingroup
      l.3 …, Simone\startrange \hyperpage{1}\stoprange

      ? `

      Dove sbaglio?
      Grazie in anticipo.
      A presto,
      Matteo

    • #74231
      Up
      0
      Down
      ::


      Se usi hyperref e l’indice deve rimandare al luogo originale, non ha molto senso cercare di compattare gli intervalli. Usa solo

      `\newcommand\nindex[1]{\index{#1|innota}}
      \newcommand\innota[1]{#1n}`
      e lo stile normale per makeindex.

      Ciao
      Enrico

    • #74232
      Up
      0
      Down
      ::


      Ottimo.
      Però in questo modo ho un nuovo comando, utilissimo, \nindex, per inserire “a mano” le occorrenze di lemmi in nota.
      Le citazioni bibliografiche fatte in note (cioè tutte quelle della mia tesi) vengono però indicizzate automaticamente come fossero presenti nel corpo della pagina, mentre vorrei che automaticamente il riferimento fosse “Xn” per tutte le occorrenze di nomi nelle citazioni bibliografiche in nota.

      Esiste una magia? 😉
      Grazie ancora, a presto,
      Matteo

    • #74233
      Up
      0
      Down
      ::


      Devo tirare a indovinare quello che fai? 🙄

      Ciao
      Enrico

    • #74234
      Up
      0
      Down
      ::


      Ha ragione, scusami, sono stato troppo criptico…:oops:

      Ecco l’esempio:

      `

      \documentclass[10pt,a4paper,twoside,openright,titlepage,headinclude,footinclude,BCOR5mm,numbers=noenddot,cleardoublepage=empty,
      tablecaptionabove,abstracton,parts]{scrreprt}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[italian]{babel}
      \usepackage{indentfirst,graphicx,subfig,lipsum,mparhack,fixltx2e,relsize,appendix,makeidx,multicol,enumitem}
      \usepackage[eulerchapternumbers,subfig,beramono,pdfspacing]{classicthesis}
      \usepackage{arsclassica}
      \usepackage[style=philosophy-verbose,scauthors=true, latinemph=true, publocformat=locpubyear, inbeforejournal=true,annotation=true, volumeformat=romansc,origfieldstype=edorig,origfieldsformat=parens,commacit=true,indexing,hyperref,backref]{biblatex}
      \usepackage[babel,italian=guillemets]{csquotes}
      \bibliography{bibliografia}
      \defbibheading{bibliography}{%
      \cleardoublepage
      \manualmark
      \phantomsection
      \addcontentsline{toc}{part}{Bibliografia}
      \chapter*{\bibname\markboth{\spacedlowsmallcaps{\bibname}}
      {\spacedlowsmallcaps{\bibname}}}}

      \makeindex
      \newcommand\nindex[1]{\index{#1|innota}}
      \newcommand\innota[1]{#1n}

      \begin{document}
      \chapter{Primo}
      Testo\footcite[1]{albonico:ordine}
      \newpage
      \index{Albonico, Simone}
      \cleardoublepage
      \nocite{*}
      \printbibliography
      \printindex
      \end{document}
      `

      il record bibliografico è sempre quello dei post precedenti:

      `@BOOK{albonico:ordine,
      title = {Ordine e numero},
      publisher = {Edizioni dell'Orso},
      year = {2006},
      author = {Albonico, Simone},
      location = {Alessandria},
      subtitle = {Studi sul libro di poesia e le raccolte poetiche nel Cinquecento},
      }`

      Ora: la citazione in nota produce automaticamente una occorrenza nell’indice dei nomi, così come automaticamente viene indicizzato il nome dell’autore che si trova nella bibliografia finale e così come — “a mano” — ho inserito l’indicizzazione del medesimo nome a p. 2; in sostanza, l’indice dei nomi sarà Albonico, Simone, 1-3.

      Quello che vorrei è che in automatico le citazioni in nota (prodotte con \footcite) generassero un riferimento nell’indice dei nomi del tipo Xn (dove “X” è il numero della pagina); nel caso specifico: Albonico, Simone, 1, 2n, 3.
      Ovviamente, qualora inserissi del testo in nota (con \footnote) e volessi generare il riferimento nell’indice dei nomi, utilizzerei il comando \nindex che hai gentilmente suggerito.

      Spero di aver chiarito la richiesta.

      Grazie in anticipo e scusate per la poca chiarezza della domanda.

      A presto,
      Matteo

    • #74235
      Up
      0
      Down
      ::


      Al posto delle due righe con [tt]\nindex[/tt] e [tt]\innota[/tt] scrivi
      `\makeatletter
      \let\orig@@index\index
      \newcommand\nindex[1]{\orig@@index{#1|innota}}
      \newcommand\innota[1]{#1n}

      \usepackage{etoolbox}
      \patchcmd{\scr@saved@footnotetext}{\reset@font}{\let\index\nindex\reset@font}{}{}
      \makeatother`
      La “n” non farà parte del link, temo che sarebbe troppo complicato.

      Ciao
      Enrico

    • #74236
      Up
      0
      Down
      ::


      Per il momento grazie di cuore: oggi non sarò in ufficio (stanno trasferendo il Dipartimento..) e proverò il codice che mi hai gentilmente suggerito lunedì.

      Grazie!
      A presto,
      Matteo

    • #74237
      Up
      0
      Down
      ::


      Ho provato il codice e funziona benissimo, ho solo fatto una piccola modifica per avere la lettera ‘n’ nello stesso colore del link:

      `
      \makeindex
      \makeatletter
      \let\orig@@index\index
      \newcommand\nindex[1]{\orig@@index{#1|innota}}
      \newcommand\innota[1]{#1\textcolor{RoyalBlue}{n}}
      \usepackage{etoolbox}
      \patchcmd{\scr@saved@footnotetext}{\reset@font}{\let\index\nindex\reset@font}{}{}
      \makeatother
      `

      Ultima domanda: al momento nell’indice si trova prima l’indicazione 1n e poi 1: sarebbe possibile invertire l’ordine (vale a dire prima il riferimento alla pagina e poi alla nota)?

      Grazie in anticipo!
      A presto,
      Matteo

    • #74238
      Up
      0
      Down
      ::

      teomat” post=73467Ho provato il codice e funziona benissimo, ho solo fatto una piccola modifica per avere la lettera ‘n’ nello stesso colore del link:

      `
      \makeindex
      \makeatletter
      \let\orig@@index\index
      \newcommand\nindex[1]{\orig@@index{#1|innota}}
      \newcommand\innota[1]{#1\textcolor{RoyalBlue}{n}}
      \usepackage{etoolbox}
      \patchcmd{\scr@saved@footnotetext}{\reset@font}{\let\index\nindex\reset@font}{}{}
      \makeatother
      `

      Ultima domanda: al momento nell’indice si trova prima l’indicazione 1n e poi 1: sarebbe possibile invertire l’ordine (vale a dire prima il riferimento alla pagina e poi alla nota)?

      Grazie in anticipo!
      A presto,
      Matteo

      Temo di no.

      Ciao
      Enrico

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

Go to top