Ho appena iniziato a utilizzare fancyhead
.
Ho riscontrato un problema che i titoli delle mie sottosezioni sono posizionati sulla stessa riga dellintestazione. Se il titolo della sottosezione è troppo lungo, i due frammenti di testo verranno stampati uno sopra laltro.
Sarei felice di una qualsiasi delle due soluzioni:
- Rimuovi il titolo della sottosezione dalle intestazioni
- Assicurati che il titolo della sottosezione e lintestazione da me creata siano su righe diverse. Forse una qualche soluzione con una tabella, come in Ottenere capitolo e sezione in \ fancyhead .
Allegherò il mio codice fittizio di seguito:
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[swedish]{babel} \usepackage{lipsum} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhead[R]{Studiehandledning \date{\today}} \title{Studiehandledning till kursen \\ xxxxx} \begin{document} \maketitle \newpage \section{bla bla} \lipsum \subsection{skalleper} \lipsum \section{wlä wlä wlä} \lipsum \section{olika oolika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \subsection{olika oolika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \end{document}
Una particolarità è anche che nellintestazione vengono visualizzate solo le sottosezioni, non le sezioni. Ma questo potrebbe essere correlato alla discussione riguardante le pagine pari e dispari in Ottenere capitolo e sezione in \ fancyhead .
Commenti
- Non sono sicuro di quello che vuoi, poiché i tuoi punti 1 e 2 sono un po contraddittori. Vuoi o no un titolo di sottosezione? E i titoli delle sezioni?
- Non è necessario ai fini di questo rapporto. Quindi due opzioni. I titoli delle sezioni non vengono visualizzati nellintestazione, come ho scritto. Forse è dovuto a questa cosa delle pagine pari / dispari. ' non ne sono sicuro.
- Ma cosa tu vorresti avere esattamente?
- È di più su ciò che non voglio avere. Non voglio che il testo intreferisca / si sovrapponga allintestazione prevista.
Risposta
Forse questo codice fa quello che tu desidera (solo la tua intestazione e il numero di pagina):
\pagestyle{fancy} \fancyhf{} \fancyhead[R]{Studiehandledning \date{\today}} \fancyfoot[C]{\thepage}
Aggiunto:
Lo propongo, usando largomento opzionale della sezione (sub) quando il titolo è troppo lungo, se ha senso. Penso che sia più semplice farlo con titleps
:
\documentclass[a4paper, twoside, swedish]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{geometry} \usepackage{babel} \usepackage{lipsum} \usepackage{titleps} \newpagestyle{mine}{% \large \headrule \sethead[\itshape\thesection.\enspace\MakeUppercase{\sectiontitle}][][\itshape Studiehandledning \date{\today}]% {\itshape Studiehandledning \date{\today}}{}{\itshape\thesubsection\enspace\subsectiontitle} \setfoot{}{\thepage}{} }% \title{Studiehandledning till kursen \\ xxxxx} \pagestyle{mine} \begin{document} \maketitle \newpage \section{bla bla} \lipsum \subsection{skalleper} \lipsum \section{wlä wlä wlä} \lipsum \section[olika oolika grrrumph]{olika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \subsection[olika oolika pfffyiæð] {olika oolika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \end{document}
Questo codice funziona solo per documenti fronte / retro, a causa delluso dei 3 argomenti opzionali di \sethead
.
Aggiunto 2 : per i documenti unilaterali, puoi ottenere lo stesso risultato con il pacchetto \ifoddpage
e questo codice :
\usepackage{isoddpage} \sethead{\itshape Studiehandledning \date{\today}}{}% {\checkoddpage% \itshape\ifoddpage\thesubsection\enspace\subsectiontitle\else\thesection.\enspace\MakeUppercase{\sectiontitle}\fi} \setfoot{}{\thepage}{} }%
Commenti
- Sì, questo è davvero " Soluzione 1 "!
\fancyhf{}
significa che qualsiasi altra intestazione dovrebbe essere ignorata? - Presumo che " Soluzione 2 " è molto più complicato?
- Vuoi i titoli delle sottosezioni e il tuo testo sulla stessa pagina? titoli di sezione? vanno da qualche parte o non dovrebbero essercene? È per un documento a due lati o unilaterale?
- ' direi che ' è più facile con
titleps
(che viene fornito contitlesec
) perché non è necessario lottare con i marchi. ' inserirò un codice tra un attimo. Le lunghezze delle tue sottosezioni sono realistiche? Puoi utilizzare largomento facoltativo per avere titoli più brevi. - (1): No, ha vinto ' t. Ho ' pubblicato un altro codice per documenti unilaterali (2) Devi farlo a mano, con un codice come
\section[short title]{A much longer title}
. (3) Metti tutto quello che vuoi nellintestazione (tranne i float …): immagini, tabelle. Di solito, ' dovrai modificare il valore di\headheight
. Potrebbe essere al prezzo di uno stupro delle regole tipografiche.