Re: Pacchetto frontespizio: definizione di \Candidato

#41139
Up
0
Down
::

Ciao a tutti!

Sto scrivendo una classe che prevede(rà) l’utilizzo del pacchetto frontespizio, per comporre il frontespizio della tesi.
Vorrei fare in modo che nelle testatine delle pagine pari compaia il nome che viene inserito come argomento del comando \Candidato, definito dal pacchetto frontespizio.

In pratica il problema è: come si richiama l’argomento del comando \Candidato?

Usando oltre a \Candidato{Nome Candidato} anche il comando \author{Nome Candidato}, si aggirerebbe il problema scrivendo questo codice per le testatine:
`\fancyhf{}
\fancyhead[OC]{\footnotesize\nouppercase\leftmark}
\fancyhead[EC]{\footnotesize\nouppercase\@author}
\fancyfoot[C]{\footnotesize\thepage} `
Ma sarebbe una ripetizione da evitare, se possibile.

Nella tua classe ci sarà \RequirePackage{frontespizio}, suppongo. La definizione di \Candidato che viene usata nel documento base è
`\newcommand{\Candidato}[2][]{%
\def\next{#1}%
\ifx\next\@empty
\front@write{\Candidato{#2}}%
\else
\front@write{\Candidato[#1]{#2}}%
\fi}`
che dovrà essere modificata subito dopo quel \RequirePackage:
`\newcommand{\Candidato}[2][]{%
\def\next{#1}%
\ifx\next\@empty
\front@write{\Candidato{#2}}%
\else
\front@write{\Candidato[#1]{#2}}%
\fi
\gdef\myclass@author{#2}}
\def\myclass@author{–missing author–%
\ClassWarningNoLine{myclass}
{Missing \protect\Candidato, perhaps you did not provide\MessageBreak
a `frontespizio' environment}%
\gdef\myclass@author{–missing author–}}`
dove “myclass” va sostituito con il prefisso per i comandi interni della tua classe. Potrai quindi usare \myclass@author dove vuoi. La definizione di \myclass@author è fatta in modo che se non c’è il comando \Candidato, al primo uso (nella testatina) viene emesso un messaggio di avviso che viene poi omesso alle chiamate successive. Non provato, fammi sapere.

Piuttosto, tu hai provato a usare il comando \@author in quel modo? Con le classi standard non funziona come pensi. 🙂

Ciao
Enrico

Go to top