Questa volta più che esporre un problema chiedo un aiuto per un compito che non sono in grado di fare (non in breve tempo). Insomma vi sfrutto un po’!
dato che voglio avere i titoletti di capitoli e sezioni (nelle testatine) abbreviati, MA li voglio completi nell’indice ottengo quello che desidero con:
`
\section[titolo lungo]{titolo lungo%
\sectionmark{titolo breve}}
\sectionmark{titolo breve}
`
per le sezioni e:
`
\chapter{titolo lungo}
\chaptermark{titolo corto}
`
per i capitoli.Dato che ho parecchie sezioni che necessitano di questo trattamento un po’ tedioso.. non è che qualcuno mi sa scrivere un \renewcommand in modo da poter inserire solo \section[corto]{lungo} e \chapter[corto]{lungo} , tenendo conto che [corto] è opzionale?
(io ci ho provato, ma mi dava errori, non conosco bene il linguaggio…)sarebbe davvero comodo.. :p
La cosa più semplice è ridefinire \@chapter; se usi la classe book (magari avresti potuto dirlo, no?) scrivi nel tuo preambolo
`\makeatletter
\def\@chapter[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#2}%
\else
\addcontentsline{toc}{chapter}{#2}%
\fi
\else
\addcontentsline{toc}{chapter}{#2}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\makeatother`
Si tratta della definizione della classe book, ma cambiando #1 in #2 dove si dà l’istruzione \addcontentsline
Ciao
Enrico