Per incorniciare un indice in modo che la scatola
risulti nei margini ho usato il seguente codice
`\noindent\fboxsep=3mm\framebox{
\begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}
\tableofcontents
\end{minipage}
}`
Visto che la distanza imposta da fboxsep ammonta a 3mm,
come dovrei sistemare opportunamente il codice?
Cioè come devo calcolare esattamente la distanza da sottrarre
a textwidth? Perché col codice sopra riportato
il box sporge a destra oltre il margine…
Vedi che succede a non usare la sintassi consigliata da LaTeX? Cioè \setlength{\fboxsep}{3mm}, per essere chiaro.
Il problema con il tuo codice è che TeX si attende uno spazio dopo l’unità di misura (che poi ignorerà). Perché? Ci sono vari motivi TeXnici, in parecchi casi permette qualche trucco carino. Il token dopo l’unità di misura viene espanso, nel tuo caso è \framebox, con l’effetto che la box viene costruita con il valore precedente di \fboxsep perché l’assegnazione di un nuovo valore non è ancora terminata. Tutto ciò si cura con l’assegnazione eseguita in sintassi LaTeX.
Secondo problema: ci sono due spazi che non vengono affatto eliminati:
`\begin{center}
\setlength{\fboxsep}{3mm}
\fbox{%
\begin{minipage}{\textwidth-2\fboxsep-2\fboxrule}
\tableofcontents
\end{minipage}%
}
\end{center}`
L’ambiente center permette di evitare il \noindent e stacca la \fbox da ciò che precede e segue.
Ciao
Enrico