Re: footnote:indentazione prima riga

#14779
Up
0
Down
::

Sto provando così
`\usepackage[bottom,flushmargin]{footmisc}
\footnotemargin=1em
\interfootnotelinepenalty =10000
\makeatletter
\let\orig@makefnmark\@makefnmark
\def\@makefnmark{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi}`

e mi sembra di avere dei risultati soddisfacenti. Mi spiegheresti il significato delle varie parti della magia?

Il comando \@makefnmark viene usato per comporre il numero della nota sia nel corpo del testo che prima della nota al piede. Sfrutto il fatto che nel corpo del testo il comando è usato in modo orizzontale normale, nel quale il test \ifinner risulta falso, mentre per comporre il numerino prima della nota è usato in una \hbox, dove \ifinner è vero.

Dunque definisco il comando \orig@makefnmark in modo che abbia il significato originale di \@makefnmark e ridefinisco quest’ultimo. Da qualche parte di footmisc c’è il comando che compone il numero in testa alla nota al piede che è qualcosa come
`\hbox to {\@makefnmark\hss}`
dove
è una dimensione che non ci riguarda. Quindi il numerino è in una scatola orizzontale larga , all’inizio, e lo spazio rimanente è bianco. Con la modifica, il comando viene espanso come
`\hbox to
{\ifinner\hfill\fi\orig@makefnmark\ifinner\thinspace\fi\hss}`
e, siccome \ifinner risulta vero, ciò che si ottiene è
`\hbox to
{\hfill\orig@makefnmark\thinspace\hss}`
Qui il comando \hfill annulla \hss, perché produce uno spazio espandibile “più infinito” di \hss, ma non annulla \thinspace.

Ciao
Enrico

Go to top