Glossario: eliminare il salto pagina e ridurre lo spazio tra le definizioni

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


      Buongiorno.
      Torno ancora sul glossario perché pur applicandomi non riesco a venire a capo a cose che, credo siano in parte assodate.
      Ho scritto un codice che lavora con le definizione del glossario in un altro .tex esterno, e tutto funziona regolarmente. Il mio problema è che vorrei eliminare il salto pagina che il comando \printnoidxglossary forza dopo il testo. Ho trovato quest’istruzione nel WEB, ma non funziona, almeno nel mio codice:
      `\renewcommand*{\glsclearpage}{}`.
      Inoltre, mi piacerebbe ridurre a mio piacimento lo spazio tra le varie definizioni scritte dal comando di cui sopra, e qui non ho neppure trovato riferimenti nel web (forse non so cercare…).
      Qualcuno sa aiutarmi?

      Il codice è questo:
      `\documentclass[11pt]{book}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}

      \usepackage[greek.ancient,latin,italian]{babel}
      \languageattribute{latin}{withprosodicmarks}

      \usepackage{hyperref}
      \usepackage[nogroupskip,toc,indexonlyfirst]{glossaries}
      \usepackage[xindy]{imakeidx}

      \renewcommand*{\glsclearpage}{}%dovrebbe sopprimere il salto pagina prima del glossario

      \input{file-glossario}

      \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 a comprendere tutte le \glspl{Definizione}, e c'è il libero\gls{Arbitrio}.

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

      Questo è uno stralcio del file che contiene le definizioni:
      `\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}`

    Visualizzazione 5 filoni di risposte
    • Autore
      Risposte
      • #116326
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Quindi sei riuscito a togliere il salto pagina prima del glossario, ma vorresti farlo anche dopo, cioè eliminare il salto pagina dopo il glossario. probabilmente si può fare salvando il significato di \\clearpage e di \cleardoublepage, in macro di servizio, e ridefinire i due comando come ha fatto per \glsclearpage, dopo la stampa del glossario e prima di cominciare un altro capitolo, devi ristabilire il significato delle due macro con i loro significati salvati in precedenza..

          Non ho voglia di andare a leggere la documentazione completa di glossaries, né di andare ad esaminarne il codice interno; ma sei sicuro che glossaries non ti permetta di gestire il glossario come una \section invece che come un \chapter?

          Ahimè, temo di non esseri stato di grande aiuto, ma personalmente mi sono trovato meglio con il pacchetto più “rudimentale” nomenclature, e alla fine ho scritto i miei glossari come pareva a me, usando l’ambiente description, che sembra fatto apposta, tranne per quel che riguarda gli hyperlink (che non servono a niente se la destinazione del documento è la stampa.

        • #116327
          benedetto batta
          Partecipante
            Up
            0
            Down
            ::


            Grazie della risposta.
            Allora, no, forse non mi sono espresso bene: il mio primo problema è non riuscire proprio a togliere il salto pagina prima dei glossari: l’istruzione che ho introdotto non funziona. Ed è ben strano perché l’ho trovata in diversi codici nel WEB.
            Ho pure modificato il codice come segue:
            `\documentclass[11pt]{book}
            \usepackage[T1]{fontenc} % enable Cork Encoding
            \usepackage[utf8]{inputenc}

            \usepackage[greek.ancient,latin,italian]{babel}
            \languageattribute{latin}{withprosodicmarks}

            \usepackage{hyperref}
            \usepackage{glossaries}
            %\usepackage[xindy]{imakeidx}

            \input{file-glossario}
            \makenoidxglossaries
            \renewcommand*{\glsclearpage}{}%dovrebbe sopprimere il salto pagina prima del glossario

            \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 a comprendere tutte le \glspl{Definizione}, e c'è il libero\gls{Arbitrio}.

            \printnoidxglossary[type=prova2]
            \end{document}`
            In definitiva ho tolto Xindi e ho introdotto l’istruzione \makenoidxglossaries, spostando pure i comandi dopo l’input del file esterno che contiene le istruzioni di definizione dei glossari. Non cambia niente, in ogni modo: il salto pagina prima del glossario rimane.

            Grazie per il suggerimento riguardante Nomenclature: lo tengo come soluzione extrema ratio.

            Mi resta da risolvere anche l’altro problema con la spaziatura tra le definizioni.
            Se qualcuno avesse dei suggerimenti…

            Grazie.

          • #116328
            benedetto batta
            Partecipante
              Up
              0
              Down
              ::


              Scusate se insisto…
              Allora, riguardo al primo punto, ho capito che il comando \renewcommand*{\glsclearpage}{} funziona: la spaziatura indotta era quella del termine del capitolo con la pagina a destra… risolvibile in altro modo, naturalmente; problema non dovuto a Glossary.

              Rimango con le mie difficoltà inerenti alla spaziatura tra le definizioni nel glossario. Utilizzo lo stile “LIST” che è congegnale alle mie necessità, però non trovo un modo per ridurre al minimo l’interlinea. Davvero nessuno ha dei suggerimenti, in merito?

            • #116329
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Premesso che la parola “interlinea” ha un significato preciso in tipografia tradizionale, ma nel parlare moderno ha assunto diversi significati, io ho difficoltà a capire di quale spazio verticale stai parlando; se intendi lo spazio verticale ch separa ogni entry dall’ultima riga di quella precedente, allora, forse, la soluzione che cerchi consiste nel modificare l’aspetto dell’ambiente description, su cui si basa lo stile LIST che vuoi usare; (vedi pag. 223 della documentazione di glossaries).

                Per modificare l’ambiente description devi caricare il pacchetto enumitem e vedere in quel pacchetto come modificare lo spazio fra i blocchi di righe che formano gli item della descrizione; Io abitualmente tolgo completamente ogni spazio fra gli item di tutte le mie liste, description comrosa] specificando l’opzione noitemsep, ma nel tuo caso credo che non sia sufficiente, perché, anche se carichi enumitem prima di glossaries (e anche prima di hyperref) non credo che tu possa specificare questa opzione al comando di stampa del glossario; tuttavia il pacchetto enumitem contiene comandi per modificare globalmente le caratteristiche stilistiche degli ambienti già definiti. Devi leggerne la documentazione e tenere sempre a mente che enumitem è un pacchetto prezioso, da usare più spesso di quanto non si faccia abitualmente.

              • #116330
                benedetto batta
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Grazie della risposta. Mi scuso per il ritardo nella mia, ma ho ritardato l’accesso per problemi di lavoro.
                  Allora, sì, hai ragione, forse il termine non era specifico, in ogni modo intendevo proprio lo spazio tra gli item, o quantomeno ridurlo. Ho compulsato Glossaries, che resta un ottimo pacchetto, ma ha dalla sua una notevole complessità. Immaginavo di dover intervenir sull’ambiente LIST, ma non avevo troavto dati nel pacchetto.
                  Ora scarico la documentazione di enumitem , e poi vedo quello che riesco a fare.

                  Grazie, per il momento.

                • #116331
                  benedetto batta
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Claudio, grazie mille per la dritta. Sì, ho usato il pacchetto ENUMITEM, e sono riuscito abbastanza agevolmente a trovare la soluzione.
                    Ne ho approfittato per regolare a 0 anche l’indentazione della descrizione. Il tutto si riduce, non avendo altre tabelle nel documento, a un comando globale del pacchetto.
                    Questo è il codice aggiuntivo:
                    `\usepackage{enumitem}
                    \setlist[description]{itemsep=0.1ex, leftmargin=0cm,rightmargin=0cm}`

                    Grazie ancora.

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

                Go to top