Re: layout con fancyhdr e \frontmatter \mainmatter

#34312
Up
0
Down
::


Ciao a tutti!
Scrivo qui perché mi sembra che il titolo del topic sia adatto.

Sto scrivendo una classe per impaginare un libro e mi ritrovo con un problema che vorrei risolvere in maniera elegante.

Ho impostato le testatine con il seguente codice (serve anche il pacchetto itnumpar):

`\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]%
{\markboth{\chaptername~\ordinalem{chapter}}{#1}}
\renewcommand{\sectionmark}[1]{}

\fancyhf{}
\fancyhead[LE,RO]{\footnotesize\thepage}
\fancyhead[LO]{\footnotesize\nouppercase\rightmark} % pagine dispari
\fancyhead[RE]{\footnotesize\nouppercase\leftmark} % pagine pari`

Le testatine dovrebbero essere cosi:
– pagine pari: numero di pagina in alto a sinistra; “Capitolo primo” in alto a destra.
– pagine dispari: numero di pagina in alto a destra; “Titolo del capitolo” in alto a sinistra.
Fin qui tutto bene.
Nel frontmatter (e nel backmatter) vorrei invece il titolo del capitolo, per esempio “Introduzione” sia a destra (nelle pagine pari) sia a sinistra (nelle pagine dispari). I numeri di pagina sono al solito posto.
Qui sorge il problema. Se non aggiungo \markboth{}{} dopo \chapter{} le testatine vengono sbagliate e riportano la scritta “capitolo”.
Ho provato con il segunte codice, opportunamente modificato

`\renewcommand{\chaptermark}[1]{%
\markboth{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\@chapapp\ \thechapter. \ %
\fi
\fi
#1}{}} `

indicato qui, ma non sono riuscito a risolvere il problema. C’è un modo per trovare una soluzione elegante in modo da evitare di dover scrivere \markboth{}{} nei capitoli non numerati?

Graize!

Ciao
Ivan

Go to top