- Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 1 mese fa da .
-
Topic
-
Ciao,
ho ricominciato ha lavorare con entusiasmo ritrovato, sulla mia classe basata su quella standard report ed il pacchetto pstricks, che produce particolari report (appunto) con in pratica nessuna necessità tipografica (!).Le testatine ed i piè di pagina (il report è sempre oneside) sono di default vuoti, ma vorrei dare all’utente la possibilità di inserire un testo a sinistra, al centro ed a destra.
Aggiungo che non ci sono comandi di sezionamento, ma solo un comando apposito di salto di pagina.Penso che convenga implementare la cosa il più semplicemente possibile (lasciando stare il pacchetto fancyhdr).
Ho quindi pensato di appoggiarmi al kernel stesso di LaTeX, scrivendo questo codice (mi pare di aver capito che lo stile myheadings generato dalla classe standard non prevede un campo centrale):`\documentclass[a4paper]{report}
\def\sx{Sinistra}
\def\dx{Lato Destro}
\def\cc{Centro}\makeatletter
\def\ps@mystyle{%
\renewcommand{\@oddhead}{%
\hbox to \textwidth{%
\hbox to 0pt{\sx\hskip 0pt minus 1fil}%
\hfill\cc\hfill%
\hbox to 0pt{\hskip 0pt minus -1fil\relax\dx}}}
\renewcommand{\@oddfoot}{%
\hbox to \textwidth{%
\hbox to 0pt{\sx\hskip 0pt minus 1fil}%
\hfill\cc\hfill%
\hbox to 0pt{\hskip 0pt minus -1fil\relax\dx}}}
\let\@evenhead\@oddhead
\let\@evenfoot\@oddfoot
}
\makeatother
\pagestyle{mystyle}% rendo attivo lo stile\begin{document}
% filetto per verificare il centraggio di \cc
\noindent\rule{0.4pt}{10pt}\hfill\rule{0.4pt}{10pt}\hfill\rule{0.4pt}{10pt}Ciao a tutti!
\end{document}`Le domande sono:
il codice è corretto (a parte che per pigrizia non ho definito le tre macro che andrebbero nel piè di pagina)?
ed ancora:
L’uso delle grandezze elastiche può essere migliorato?
Grazie dell’interessamento.Una breve spiegazione del codice:
Per definire uno stile (per testatine e piè di pagina) si definisce un comando \ps@e per applicarlo si scriverà \pagestyle{ }. Il comando \ps@
deve definire quattro comandi di base, due per le testatine (pari e dispari) che sono \@oddhead e \@evenhead, e due per il piè di pagina (sempre uno per la pagina pari ed uno per la pagina dispari) che sono \@oddfoot ed \@evenfoot. Il codice ridefinisce i quattro comandi inserendo tre campi \sx, \cc, \dx che l’utente andrà con un linguaggio opportuno, a definire, linguaggio implementato con xkeyval, quindi con la sintassi chiave=valore.
I miei più cordiali Saluti.
Roberto
- Devi essere connesso per rispondere a questo topic.