Ciao a tutti,
dovrei creare molti riferimenti ai numeri di sezione e ai rispettivi titoli. Dato che queste informazioni vengono salvate nel file *.toc pensavo di riutilizzare parte del comando \tableofcontents e modificarlo.
Per sapere se quello che ho in mente sia fattibile, mi piacerebbe dare un’occhiata alla definizione del comando \tableofcontents, ma non so dove trovarla.
Sapreste darmi una indicazione?
Il comando \tableofcontents, essenzialmente, equivale a \input{
Puoi provare con questa magia:
`\makeatletter
\newcommand{\sectionwithref}[1]{\def\@thislabel{#1}\@dblarg{\@sectionwithref}}
\def\@sectionwithref[#1]#2{%
\section[#1]{#2}\expandafter\label\expandafter{\@thislabel}%
\global\@namedef{titleref@\@thislabel}{#2}%
\global\@namedef{abbrtitleref@\@thislabel}{#1}}
\newcommand\titleref[1]{\@nameuse{titleref@#1}}
\newcommand\abbrtitleref[1]{\@nameuse{abbrtitleref@#1}}
\makeatother`
L’uso è simile a quello di \section (ma non c’è la variante *); per introdurre una sezione scrivi cose del tipo
`\sectionwithref{pippo}{Titolo della sezione}
\sectionwithref{pluto}[Titolo breve]{Titolo lunghissimo di questa sezione}`
dove il primo argomento è l’etichetta (corrisponde al solito \label). Se ti devi riferire al numero della sezione, usi semplicemente \ref{pippo}; se vuoi il titolo breve usi \abbrtitleref{pippo}, se vuoi il titolo lungo usi \titleref{pippo}.
Nel caso della prima sezione, titolo lungo e breve coincidono; con \abbrtitleref{pluto}, invece, ottieni “Titolo breve” e con \titleref{pluto} ottieni il titolo lungo.
Ciao
Enrico