- Questo topic ha 5 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 17 anni, 9 mesi fa da .
-
Topic
-
Oggi, aggiornando hyperref, pensavo di risolvere alcuni dei problemi
che questo pacchetto produce; tra questi problemi, quello più fastidioso
è senza dubbio la creazione di collegamenti a posizioni
*sbagliate* nel testo a partire dai link nell’output in PDF
(dall’indice analitico i collegamenti non riportano sulla riga
della parola collegata, dall’indice si finisce in posizioni strane
se si usano i sezionamenti stellati, nelle figure/tabelle, se non si
usa hypcap o si mette la caption *sopra* l’oggetto flottante, si finisce
a volte nella pagina successiva a quella corretta…)Non essendo un texnico ma solo un utente curioso di LaTeX ho
cercato di risolvere almeno il problema dei collegamenti stellati
sbagliati. A furia di ricerche e tentativi ho provato a ridefinire
section (e subsection, …) usando del codice trovato in rete (e riportato
sotto). Con questa ridefinizione si ottengono collegamenti corretti, cioè:se clicco nell’indice su
Sezione non numerata…. 10
Adobe Reader mi sposta sul titolo “Sezione non numerata” creato da
`
\section*{Sezione non numerata}
`e non esattamente sotto di esso.
Il codice originale (essendo già troppo texnico per me) non è farina del
mio sacco ed essendomi solo limitato a modificarlo “a naso”,
non so perchè funziona nè tanto meno se produce danni collaterali…`
%% Ridefinizione section e subsection per bypassare il problema
%% dei collegamenti stellati non funzionanti di hyperref%% Ridefinizione section
\makeatletter
\def\section{\@ifstar\unnumberedsection\numberedsection}
\def\numberedsection{\@ifnextchar[%]
\numberedsectionwithtwoarguments\numberedsectionwithoneargument}
\def\unnumberedsection{\@ifnextchar[%]
\unnumberedsectionwithtwoarguments\unnumberedsectionwithoneargument}
\def\numberedsectionwithoneargument#1{\numberedsectionwithtwoarguments[#1]{#1}}
\def\unnumberedsectionwithoneargument#1{\unnumberedsectionwithtwoarguments[#1]{#1}}
\def\numberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
\vskip 3ex\goodbreak
\refstepcounter{section}%
\noindent
\begingroup
\leavevmode\scriptsize\bfseries\raggedright
%\llap{\thesection\quad}%
\llap{\quad}%
#2
\par
\endgroup
\vskip 2ex\nobreak
\addcontentsline{toc}{section}{%
% \protect\numberline{\thesection}%
#1}%
}
\def\unnumberedsectionwithtwoarguments[#1]#2{%
\ifhmode\par\fi
\removelastskip
\vskip 3ex\goodbreak
% \refstepcounter{section}%
\noindent
\begingroup
\leavevmode\scriptsize\bfseries\raggedright
\leavevmode\scriptsize\bfseries\raggedright
% \thesection\quad
#2
\par
\endgroup
\vskip 2ex\nobreak
\addcontentsline{toc}{section}{%
% \protect\numberline{\thesection}%
#1}%
}
\makeatother`
- Devi essere connesso per rispondere a questo topic.