Creare glossario per ogni capitolo o sezione usando ‘xindy’

  • Creatore
    Topic
  • #116164
    benedetto batta
    Partecipante
      Up
      0
      Down
      ::


      Buongiorno.
      Sto scrivendo un libro che necessita di separare le voci di glossario in un capitolo o in una singola sezione.
      Ho cercato in Internet varie soluzioni ma non ne ho trovato una che gira su Windows.
      All’inizio avevo problemi pure usando il pacchetto glossaries, perché anche i vari esempi trascritti da diversi siti WEB non realizzavano il glossario, anche dopo più compilazioni successive.
      Alla fine, usando xindy, sono riuscito a compilare un glossario. Il codice che ho utilizzato è il seguente:
      `\documentclass{article}
      \usepackage[utf8]{inputenc}
      \usepackage{hyperref}
      \usepackage{glossaries}
      \usepackage[xindy]{imakeidx}
      \makenoidxglossaries % usato da TeX per l'ordinamento

      \newglossaryentry{Pippo}
      {
      name=Pippo,
      description={Personaggio del fumetto Topolino}
      }

      \newglossaryentry{stravagante}
      {
      name=stravagante,
      description={sinonimo di: strano, eccentrico, fuori dal comune}
      }

      \title{Prova glossario}
      \author{ }
      \date{ }

      \begin{document}
      \maketitle

      Tra i caratteri della serie, \gls{Pippo} è uno dei più originali e divertenti. risulta imbranato, ingenuo e \gls{stravagante}.

      \newpage

      \printnoidxglossaries

      \end{document}`

      A questo punto sto provando a suddividere il glossario in sezioni, ma la faccenda diventa più complessa.
      Seguendo le indicazioni del pacchetto Glossaries, ho provato così, e non funziona come dovrebbe.
      `\documentclass[11pt]{book}
      \usepackage[utf8]{inputenc}
      \usepackage{hyperref}
      \usepackage[nogroupskip,toc,indexonlyfirst]{glossaries}

      \newglossary*{prova}{Glossario del primo capitolo}
      \newglossary*{altro}{Glossario del secondo capitolo}

      \makenoidxglossaries

      %\newglossaryentry{prova: Pippo}
      \newglossaryentry{Pippo}
      {
      type={prova},
      name={Pippo},
      description={—————-}
      }

      %\newglossaryentry{altro: Definizione}
      \newglossaryentry{Definizione}
      {
      type={altro},
      name={Definizione},
      description={qualcosa da definire}
      }
      \title{Prova glossario}

      \author{ }
      \date{ }

      \begin{document}
      \frontmatter
      \maketitle
      \mainmatter

      \chapter{prova}
      non un \gls{Pippo} qualsiasi

      \printnoidxglossaries[type=prova]

      \chapter{secondo capitolo}
      un tentativo con la parola \gls{Definizione} che non riesce

      \printnoidxglossaries[type=altro]

      \end{document}`

      Alla fine \printnoidxglossaries non stampa il singolo tipo definito ma entrambi i glossari in ogni capitolo (e sospetto che se fossero 10 glossari – ognuno con il suo type definito – ne stamperebbe comunque 10 ad ogni chiamata del comando).
      Perché?
      Qualcuno ha dei suggerimenti?

      Grazie.

    Visualizzazione 0 filoni di risposte
    • Autore
      Risposte
      • #116165
        benedetto batta
        Partecipante
          Up
          0
          Down
          ::


          Ho risolto. Ho studiato un poco e ho scoperto che alla fine era banale.
          Scusate il disturbo.
          Mi rendo conto che mi sono fatto una domanda e mi sono risposto da solo…
          in ogni modo, bastava usare \printnoidxglossary anziché \printnoidxglossaries nell’ultimo codice che ho postato in precedenza.
          Ora funziona correttamente.
          Lascio il codice di prova allegato, se può servire a qualcuno.
          `\documentclass[11pt]{book}
          \usepackage[utf8]{inputenc}
          \usepackage{hyperref}
          \usepackage[nogroupskip,toc,indexonlyfirst]{glossaries}
          \usepackage[xindy]{imakeidx}
          \newglossary*{prova}{Glossario del primo capitolo}
          \newglossary*{prova2}{Glossario del secondo capitolo}

          \makenoidxglossaries

          %\newglossaryentry{prova: Pippo}
          \newglossaryentry{Pippo}
          {
          type={prova},
          name={Pippo},
          description={Personaggio}
          }
          \newglossaryentry{Pluto}
          {
          type={prova},
          name={Pluto},
          description={Altro personaggio}
          }
          \newglossaryentry{Qui}
          {
          type={prova},
          name={Qui},
          description={Nipote di Topolino}
          }
          \newglossaryentry{Quo}
          {
          type={prova},
          name={Quo},
          description={Nipote di Topolino}
          }
          \newglossaryentry{Qua}
          {
          type={prova},
          name={Qua},
          description={Nipote di Topolino}
          }

          %\newglossaryentry{altro: Definizione}
          \newglossaryentry{Definizione}
          {
          type={prova2},
          name={Definizione},
          description={qualcosa da definire}
          }
          \title{Prova glossario}

          \author{ }
          \date{ }

          \begin{document}
          \frontmatter
          \maketitle
          \mainmatter

          \chapter{prova}
          Non un \gls{Pippo} qualsiasi. Intorno gira abbaiando \gls{Pluto}, e fanno chiasso \gls{Qui}, \gls{Quo} e \gls{Qua}.

          \printnoidxglossary[type=prova]

          \chapter{secondo capitolo}
          un tentativo con la parola \gls{Definizione} che non riesce

          \printnoidxglossary[type=prova2]
          \end{document}`

          Il codice stabilisce le voci di glossario, e stampa glossari separati e ordinati alfabeticamente nei singoli capitoli.
          Scusate ancora per il disturbo.

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

      Go to top