I collegamenti ipertestuali dell’indice puntano ai capitoli/paragrafi errati

  • Creatore
    Topic
  • #116575
    Up
    0
    Down
    ::


    Ciao a tutti.

    Sto leggendo la guida “LaTeX per l’impaziente” di Lorenzo Pantieri, e con le nozioni apprese nei primi 3 capitoli sto provando a creare un template di stampa con la classe report per ottenere un documento suddiviso in parti, capitoli e paragrafi corredato di un indice principale. Di seguito il codice:
    `% Template generico
    \documentclass[a4paper,12,twoside,notitlepage,fleqn]{report}
    \usepackage[T1]{fontenc} % codifica dei font
    \usepackage[utf8]{inputenc} % lettere accentate da tastiera
    \usepackage[english,italian]{babel} % lingua del documento
    \usepackage{lipsum} % genera testo fittizio
    \usepackage{microtype} % migliora il riempimento delle righe
    \usepackage{hyperref} % crea i collegamenti ipertestuali all’interno del documento, di regola va caricato per ultimo

    \raggedbottom % evita di “stiracchiare” il contenuto per riempire la gabbia del testo
    \pagestyle{headings} % numero di pagina e titolo capitolo corrente nella testatina

    \begin{document}

    \author{Nome e Cognome}
    \title{Nome della materia}
    \maketitle
    \tableofcontents

    \part*{A – NOME DELLA PARTE}
    \phantomsection
    \addcontentsline{toc}{part}{A – NOME DELLA PARTE}

    \chapter*{Lezione 01 – Titolo lezione}
    \phantomsection
    \addcontentsline{toc}{chapter}{Lezione 01 – Titolo lezione}
    \lipsum[1-2]

    \section*{Modulo 1: Titolo modulo}
    \phantomsection
    \addcontentsline{toc}{section}{Modulo 1 – Titolo modulo}
    \lipsum[1-2]

    \section*{Modulo 2: Titolo modulo}
    \phantomsection
    \addcontentsline{toc}{section}{Modulo 2 – Titolo modulo}
    \lipsum[1-2]

    \end{document}`
    Dopo che la compilazione del PDF è andata a buon fine quando clicco sulla voce dell’indice “A – NOME DELLA PARTE” mi porta al capitolo “Lezione 1” che è la voce immediatamente successiva nell’indice.
    Allo stesso modo se clicco sul capitolo “Lezione 1” non mi porta dove inizia il titolo del primo capitolo ma immediatamente sotto, dove inizia il corpo del capitolo.
    E così via anche per le successive voci dell’indice.

    Nel log c’è un unico messaggio di avviso che dice “Unused global option(s): [12].” ma nient’altro che mi aiuti a capire perché cliccando sulla voce dell’indice mi ritrovo a saltare sempre un po’ più sotto del punto corretto. Ho provato anche a cercare qui nel forum ed in Rete ma oltre al classico \phantomsection da aggiungere prima di \addcontentsline, cosa già indicata nella guida, non ho trovato altro.

    È capitato anche a voi qualcosa del genere? Come avete risolto?

    Grazie mille.
    GdS

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #116576
      Up
      0
      Down
      ::


      Benvenuto nel forum! Scusa se sono telegrafico, ma vado proprio di fretta! 🙂

      Bisogna che prima o poi mi metta a studiare davvero il funzionamento del pacchetto hyperref: tuttora lo capisco solo in parte (sicuramente inferiore al 50%!), per cui potrei dire una sciocchezza, ma mi pare che, se si usano le forme asteriscate dei comandi di sezionamento (come appunto [tt]\part*[/tt], [tt]\chapter*[/tt], [tt]\section*[/tt], …), usare anche il comando [tt]\phantomesction[/tt] prima di [tt]\addcontentsline[/tt] sia non solo inutile, ma dannoso, in quanto crea un riferimento spurio.

      Quindi:

      • elimina tutti i [tt]\phantomsection[/tt];
      • cambia [tt]12[/tt] in [tt]12pt[/tt]; 😉
      • riprova.

      Ciao.


      Gustavo

    • #116577
      Up
      0
      Down
      ::

      letteracdp” post=117004Benvenuto nel forum!

      Grazie mille! 🙂

      letteracdp” post=117004[…] mi pare che, se si usano le forme asteriscate dei comandi di sezionamento (come appunto [tt]\part*[/tt], [tt]\chapter*[/tt], [tt]\section*[/tt], …), usare anche il comando [tt]\phantomesction[/tt] prima di [tt]\addcontentsline[/tt] sia non solo inutile, ma dannoso, in quanto crea un riferimento spurio.

      Confermo, eliminandoli ora le voci dell’indice “saltano” al punto corretto nel documento.

      letteracdp” post=117004cambia [tt]12[/tt] in [tt]12pt[/tt]; 😉

      Opss… tra le mille prove che ho fatto ad un certo punto mi sono perso qualche pezzo! :mrgreen:

      Grazie ancora per le dritte.
      GdS

    • #116578
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Cominciamo dal fondo.

        a) 12 non è un’opzione valda; se vui comporre in corpo 12pt, devi scrivere 12pt, non semplicemente 12.

        b) qualunquetesto strutturato in parti, capitoli, paragrafi, sottoparagrafi, eccetera, li deve avere numerati. Perciò togli gli asterischi a tutti i tuoi comandi di sezionamento, e di conseguenza togli tutti i \phantomsection e \addcontentsline.

        Gli hiperlink funzionano con le cose numerate e, anche se non li si usano i vari \label, \ref, \pageref, gli hypellink funzionano con le cose numerate.
        Il comando \pantomsection servirebbe per mettere un target e un anchor all’oggetto non numerato.

        La cosa è lunga da spiegare; e (con una certa fatica) si capisce leggendo la documentazione di \hyperref (texdoc hyperref comando da terminale); Infatti si consuma una certa fatica leggendo e rileggendo cose che dovrebbero essere chiarissime per qualunaue informatico, e sono quasi incomprensibili ai comuni utenti.

        La guida “LaTeX per l’impaziente” ovviamente non scende nei dettagli; dice solo: “se vuoi fare così fai questo e quest’altro” e raramente aggiunge “quando non funziona leggi la documentazione specifica”. Ma ahimè, quest’ultima è la frase che conta.
        Le due guide “L’Arte di scrivere con LaTeX” e “LaTeXpedia” non dicono molto di più su queste cose. Probabilmente nemmeno la guida più approfondita, “Introduzione all’arte della composizione tipografica con LaTeX”, dice molto di più, ma raccomanda (quasi) sempre di documentarsi leggendo le guide tematiche (nel sito Documentazione di questo forum) e la documentazione specifica di ogni pacchetto. Forse dice di più il “LaTeX Companion” (commerciale; pubblicato dalla Addison Wesley).

      • #116579
        Up
        0
        Down
        ::

        OldClaudio” post=117007[…] Gli hiperlink funzionano con le cose numerate e, anche se non li si usano i vari \label, \ref, \pageref, gli hypellink funzionano con le cose numerate.
        Il comando \pantomsection servirebbe per mettere un target e un anchor all’oggetto non numerato.

        La cosa è lunga da spiegare; e (con una certa fatica) si capisce leggendo la documentazione di \hyperref (texdoc hyperref comando da terminale); Infatti si consuma una certa fatica leggendo e rileggendo cose che dovrebbero essere chiarissime per qualunaue informatico, e sono quasi incomprensibili ai comuni utenti. […]

        Come si suol dire, RTFM… 😆

        Grazie intanto per i primi chiarimenti, pian piano approfondirò la tematica in particolare e LaTeX in generale. 🙂
        GdS

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

    Go to top