Problemi con HyperRef

  • Creatore
    Topic
  • #119910
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    sono Lorenzo, uno studente dell’Università di Firenze.

    Questo è il mio primo post sul Forum; prima di scrivere ho letto la netiquette, e ho cercato se il mio problema fosse stato già trattato… ma mi sembra di non aver trovato risposta al modo in cui si declina il mio problema.

    Ulteriore piccola premessa: sono passato da poco ad un MacBook, e mi sto familiarizzando con l’editor TexStudio (e MacTex).

    Il problema che ho è il seguente: se nel preambolo del main richiamo il pacchetto \usepackage{hyperref}, gli hyperlink purtroppo non funzionano a dovere. Nel senso che, se nell’Indice clicko per esempio l’hyperlink associato alle Conclusioni, allora il .pdf mi direziona sul primo sottocapitolo del primo capitolo; ancora più clamorosamente, se clicko una nota a piè di pagina, allora il .pdf viene ridirezionato sulla pagina della Dedica.

    Riporto di seguito il testo del main.tex:

    `\documentclass[a4paper,11pt,oneside]{report}

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

    \usepackage{fancyhdr}

    \usepackage{hyperref}

    \usepackage{graphicx}
    \usepackage{float}
    \usepackage{graphics}
    \graphicspath{{img/}}

    \setlength\headheight{44.2pt}
    \usepackage{setspace}

    \lhead[]{}
    \rhead[]{\leftmark}

    \cfoot{\thepage}
    \lhead[\leftmark]{}
    \rhead[]{\leftmark}

    \usepackage{lipsum}

    \begin{document}

    \input{dedica.tex}

    \tableofcontents

    \newpage
    \addcontentsline{toc}{chapter}{Sommario}
    \clearpage
    \include{sommario}

    \newpage
    \addcontentsline{toc}{chapter}{Introduzione}
    \clearpage
    \include{introduzione}

    \input{primo capitolo.tex}

    \newpage
    \addcontentsline{toc}{chapter}{Conclusioni}
    \clearpage
    \include{conclusioni}

    \bibliographystyle{plain}
    \bibliography{bibliography}

    \end{document}`

    Per chi avesse dubbi sul distinto utilizzo dei comandi \input ed \include , confesso che ho trovato questa soluzione per far tornare correttamente i riferimenti delle pagine nell’Indice ma, soprattutto, per avere la corretta dicitura nell’intestazione in alto a destra nelle varie parti del lavoro (Sommario, Introduzione, Primo Capitolo, Conclusioni). Con “intestazione in alto a destra”, mi riferisco al seguente codice che è all’inizio del file .tex associato al Primo Capitolo, ecc:

    `\pagestyle{fancy}{
    \lhead{\includegraphics[scale=0.3]{img/DILEF.jpg}}
    \rhead{\footnotesize{Primo Capitolo}}
    }`

    Allego il .pdf compilato nella speranza di fornire ogni mezzo per comprendere correttamente la mia situazione.

    EDIT: Non riesco ad allegare il .pdf, dato che le dimensioni superano le massime consentite. Ho caricato il file su wetransfer al seguente link: https://wetransfer.com/downloads/cf36ac69f4916a1c3da26378b2d2c53720210418083858/d7035f86fec849ed92911edd11856dad20210418083947/0a4ad0

    Vi ringrazio in anticipo per l’attenzione!!

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #119911
      Up
      0
      Down
      ::


      Benvenuto sul forum!

      per poterti aiutare dovresti fornire un esempio minimo compilabile. Leggi la mia guida qui sotto (sono pochissime pagine. La sez. 5 parla proprio di \input e \include).
      Non sapendo cosa c’è dentro i file che richiami con \inlcude e \input è difficile dire di che si tratta.
      Probabilmente con qualche \phantomsection nel posto giusto potresti anche risolvere,
      ma da quello che vedo, probabilmente, il codice si può migliorare e in questo modo
      è probabile che si aggiustino anche i riferimenti incrociati.
      In ogni caso hyperref va caricato sempre per ultimo (tranne che in rari casi)

      Ciao
      Ivan

    • #119912
      Up
      0
      Down
      ::


      Ciao Ivan,
      grazie mille per la tua risposta e scusami per la dimenticanza riguardo al codice dei file richiamati con \input e \include.
      Ho visto la tua guida, ma provando ad includere i file .tex attraverso la funzione \begin{filecontents}[overwrite][Primo Capitolo.tex] … \end{filecontents} da inserire nel preambolo, ho difficoltà a compilare io il file…

      Per non fare ulteriori danni, allego i vari codici.

      MAIN:
      `\documentclass[a4paper,11pt,oneside]{report}

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

      \usepackage{fancyhdr}

      \usepackage{graphicx}
      \usepackage{float}
      \usepackage{graphics}
      \graphicspath{{img/}}

      \setlength\headheight{44.2pt}
      \usepackage{setspace}

      \lhead[]{}
      \rhead[]{\leftmark}

      \cfoot{\thepage}
      \lhead[\leftmark]{}
      \rhead[]{\leftmark}

      \usepackage{lipsum}

      \usepackage{hyperref}

      \begin{document}

      \input{dedica.tex}

      \tableofcontents

      \newpage
      \addcontentsline{toc}{chapter}{Sommario}
      \clearpage
      \include{sommario}

      \newpage
      \addcontentsline{toc}{chapter}{Introduzione}
      \clearpage
      \include{introduzione}

      \input{primo capitolo.tex}

      \newpage
      \addcontentsline{toc}{chapter}{Conclusioni}
      \clearpage
      \include{conclusioni}

      \bibliographystyle{plain}
      \bibliography{bibliography}

      \end{document} `

      DEDICA:
      ` \cleardoublepage
      \thispagestyle{empty}
      \vspace*{\stretch{1}}
      \begin{flushright}
      \itshape Alla mia famiglia.
      \end{flushright}
      \vspace{\stretch{2}}
      \cleardoublepage `

      SOMMARIO:
      ` \pagestyle{fancy}{
      \lhead{\includegraphics[scale=0.3]{img/DILEF.jpg}}
      \rhead{\footnotesize{SOMMARIO}}
      }

      \chapter*{Sommario}

      \lipsum[1-10]
      Ciao.\footnote{Così usano salutarsi gli esseri umani di lingua italiana.`

      Per quanto riguarda l’immagine richiamata DILEF.jpg, allego l’immagine negli allegati di questo post.

      INTRODUZIONE:
      ` \pagestyle{fancy}{
      \lhead{\includegraphics[scale=0.3]{img/DILEF.jpg}}
      \rhead{\footnotesize{INTRODUZZIO}}
      }

      \chapter*{Introduzione}

      \lipsum[1-10]

      Ciao.\footnote{Ecco una bella nota a piè di pagina.}

      `

      PRIMO CAPITOLO:
      `\pagestyle{fancy}{
      \lhead{\includegraphics[scale=0.3]{img/DILEF.jpg}}
      \rhead{\footnotesize{Primo Capitolo}}
      }

      \chapter{Primo capitolo}

      \lipsum[1-10]

      Ciao.\footnote{Ecco una bella nota a piè di pagina.}

      \section{Prima sottosezione}

      \lipsum[4-5]`

      CONCLUSIONI:
      `\pagestyle{fancy}{
      \lhead{\includegraphics[scale=0.3]{img/DILEF.jpg}}
      \rhead{\footnotesize{CONCLUSIòòò}}
      }

      \chapter*{Conclusioni}

      \lipsum[1-10]
      `

      Grazie mille per la disponibilità e per l’attenzione.
      Lorenzo

      Attachments:
      You must be logged in to view attached files.
    • #119913
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Il tuo problema si risolve facilmente: hai messogli addcontentsline nei posti sbagliati; devono essere messi DOPO i comandi \chapter* che usi per diverse partii del tuo esempio.

        Però ti faccio alcune domande:
        1) Visto che sei dell’Università di Firenze, perché non usi la classe unifyth che un vostro professore ha predisposto per tutto l’ateneo e che fa già parte della tua installazione MacTeX? Non devi nemmeno andarla a cercare in rete, ce l’hi già. Serve essenzialmente per tesi magistrali e dottorali, ma se stai scrivendo una tesi triennale, non credo che ci siano troppe difficoltà a configurarla; all’occorrenza scrivi in merito a questa confiurazione.
        2) Usi \input e \include come ti capita; non va bene; in questo sito c’è una sezione Documentazione dove ci sono moltissime guide generali e tematiche; una riguarda le tesi, ma ti consiglierei prima di tutto di scaricarti la guida Il LaTeX Refeence Manual commentato perche fa bene leggerla ai principianti, ma anche agli esperti; io me la consulto spesso per farmi tornare in mente certi comandi che uso meno spesso o dei quali dimentico la sintassi, eppure sono circa 35 anni che uso LaTeX — in questi anni un po’ di esperienza dovrei essermela fatta, ma la documentazione non si impara a memoria, quindi…
        3) Leggendo quel manuale commentato capisci che il comando \addcontentsline coni suo argomenti non può essere messo prima del rispettivo comando \chapter, perché questo va da solo inizia una pagina nuova (esegue un suo comando interno \cleardoublepage) quindi l’hyperlink che \addcontentsline si riferisce all’ultimo sezionamento eseguito, di conseguenza al sezionamento precedente che tu vorresti lincare.
        3a) Stai attento ai pacchetti che carichi; per esempio carichi graphicx e graphics; il primo carica già il secondo; carich float; se ti serve per definire altri oggetti flottanti va bene; se ti serve per usare il posizionatore delle figure “qui e non fare storie”, si tratta di una operazione sbagliata e tipica dei word processor; di nuovo conviene leggere il manuale LaTeX commentato.
        3b) Il pacchetto setspace non andrebbe mai usato; passi per correggere le bozze stampate, ma la versione finale no deve essere con le righe distanziate di più di quello che LaTeX fa di suo, che è tipograficamente perfetto.
        4) Non ricordo su due piedi se la classe unifith si appoggi alla classe book o alla classe report; tu provala, e usa i comandi di supersezionamento \frontmatter, \mainmatter e \backmatter; \fontmatter dice che si inizia la parte iniziale che comprende pagina del titolo, sommari,o, dedica, introduzione, indice generale;, con le pagine numerate con numeri romani, con i comandi \chapter senza asterisco che non vengono numerrati, ma che vanno nell’indice senza bisogno di usare \addcontentsline; \mainmatter ricomincia la numerazione da 1 e numera le pagine con cifre arabe, e se componi twoside, ci pensa da solo a iniziare i capitoli solo sulle pagine di desra; \le appendici se sono più di una vanno numerate con lettere e sono l’ultima cosa della main matter; infine la backmatter prosegue la numerazione in cifre arabe, non numera i capitoli ma ne manda i titolo all’indice; se la tesi contiene una sola appendice, questa forma il primo capitolo della back matter. Questi comandi di sezionamento fanno anche altre cose e leggere la documentazione è necessario.
        5) se usi la classe unifith leggine la documentazione dando da terminale (trovi l’app Terminal.app nella cartella Applicazioni o Applications del tuo Mac; ti suggerisco di mantenerne l’icona sempre a portata di mouse nella barra inferiore)il comando texdoc unifith. Probabilmente non serve usare fancyhdr e le sue varie impostazioni.
        6) vedoche carichi la lingua greek a babel; visto il logo del tuo dipartimento, deduco che tu segua un corso di laurea di tipo umanistico/letterairo e che tu NON ti interessi del greco demotico moderno ma del greco classico; per cui no specificare sempplicemente [tt]greek[/tt] ma [tt]greek.ancient[/tt]; per maggiori dettagli leggi con texdoc greek la documentazione per usare correttamente il greco; A questo proposito mi pare strano che tu voglia usare il pacchetto alphabeta, molto utile per certe applicazione, ma secondo me non utile per scrivere parolein greco usando per ogni lettera \alpha per scrivere α, \beta per scrivere β, eccetera. Col Mac è piuttosto semplice aggiungere il driver per la tastiera greca politonica: clicchi sulla icona in basso nella barra col disegno di un ingranaggio, poi selezioni l’icona della tastiera, e nella nuova finestra di dialogo selezioni Input Sources (io ho il sistema operativo in inglese) Lì selezioni e aggiungi la tastiera Greek – Polytonic. Terminata questa operazione nella barra superiore dove vedi un A in campo bianco se clicchi puoi scegliere quale tastiera usare La A serve epr l’alfabeto latino; la ε serve per la tastiera greca; in ogni caso cliccando quell’icona ti si apre un menù in fondo ak quale sta scritto Show Keyboard Viewer; cliccando il quale ti appare un disegno di tastiera reattivo ai singoli tasti che tu premi, non solo i tasti delle lettere o dei numeri ma anche quel che succede se premi il tasto delle maiuscole, o il tasto control, o il tasto al t (o option) o il tasto command. se impari bene ad usare questa tastiera visibile scopri che anche con la tastiera italiana (come suppongo che sia la tua) puoi scrivere anche le vocali maiuscole accentate À È É Ì Ò Ù e tanti alri segni che nemmeno ti immagini; selezionando la tastiera greca hai a disposizione non solo tutto l’alfabeto, ma anche gli spiriti la dieresi, gli accenti e la iota sottoscritta. Scrivere ἂ non è un problema; inoltre usando i giusti comandi della mappatura della tastiera latina con quella greca, si possono usare ancora più segni diacritici. Se poi devi occuparti di filologia greca, prendi in esame il pacchetto teubner che è scritto apposta per i filologi ellenisti.

        Scusa la lunghezza di questo messaggio, ma sentito la necessità di spiegarti alcune cose che mi pare, agli inizi della tua dimestichezza con LaTeX, ancora non conosci.

      • #119914
        Up
        0
        Down
        ::


        Ciao OldClaudio,
        ti ringrazio moltissimo per la risposta!

        Tutte le osservazioni che mi hai fatto sono infinitamente utili… chiedo venia per la mia inesperienza.

        L’unica cosa a cui posso risponderti è relativa a questa osservazione:

        … usa i comandi di supersezionamento \frontmatter, \mainmatter e \backmatter; \fontmatter dice che si inizia la parte iniziale che comprende pagina del titolo, sommari,o, dedica, introduzione, indice generale;, con le pagine numerate con numeri romani, con i comandi \chapter senza asterisco che non vengono numerrati, ma che vanno nell’indice senza bisogno di usare \addcontentsline; \mainmatter ricomincia la numerazione da 1 e numera le pagine con cifre arabe …

        Io non posso fare riferimento ai comandi di supersezionamento di \frontmatter, \mainmatter, \backmatter perché il mio relatore di tesi (magistrale) ritiene obsoleta la suddivisione fra numeri romani e numeri arabi. Da qui la mia difficoltà nel gestire sezioni come Sommario o Introduzione, che non sono capitoli veri e propri.

        Grazie ancora.
        Lorenzo

      • #119915
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Basta che tu metta nel preambolo i segenti comandi`\makeatletter
          \renewcommand\mainmatter{%
          \cleardoublepage
          \@mainmattertrue
          }
          \renewcommand\frontmatter{%
          \cleardoublepage
          \@mainmatterfalse
          \pagestyle{frontmatter}
          }
          \makeatother
          ` e la numerazione in cifre arabe comincia da 1 con la prima pagina della tesi (il frontespizio) e prosegue iinterrota fino alla fine.

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

      Go to top