Ich möchte den Abschnittsnamen des angezeigten Abschnitts der Seite in meine Header-Tags im fancyhdr-Paket aufnehmen, etwa so
\fancyhf[HR]{SECTION NAME}
\fancyhf[HL]{SUBSECTION NAME}
Wie kann ich dabei vorgehen?
Antwort1
titleps
bietet dies out-of-the-box und unterscheidet sich in der Benutzeroberfläche/Nutzung nicht wesentlich vonfancyhdr
Das könnte Sie auch interessierentitleps
für fancyhdr
Benutzer.
Wenn Sie dies direkt mit tun möchten fancyhdr
, müssen Sie die Abschnittseinheitskonstruktionen patchen, um die Titel zu speichern, oder die Titelmarkierungen mit etwas Massage verwenden.
Sie verwenden
\usepackage{titleps}% http://ctan.org/pkg/titleps
\newpagestyle{main}{
\setheadrule{.4pt}% Header rule
\sethead{\subsectiontitle}% left
{}% center
{\sectiontitle}% right
}
\pagestyle{main}
Hier ist ein sehr minimales Beispiel, bei dem auch die Abschnittseinheitsnummer hinzugefügt wurde:
\documentclass{article}
\usepackage{titleps}% http://ctan.org/pkg/titleps
\newpagestyle{main}{
\setheadrule{.4pt}% Header rule
\sethead{\thesubsection\ \subsectiontitle}% left
{}% center
{\thesection\ \sectiontitle}% right
}
\pagestyle{main}
\begin{document}
\section{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\end{document}
Antwort2
Ich verwende das fancyhdr
Paket für diese Aufgabe. Normalerweise bereite ich mehrere neue Befehle vor, um die volle Kontrolle darüber zu haben, was in der Kopf- und Fußzeile angezeigt wird. Ich füge eine kleine Demonstration bei.
\documentclass[a4paper]{article}
\parindent=0pt
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\myleft}
\fancyhead[C]{\thepage}
\fancyhead[R]{\myright}
\def\tomyleft#1{\def\myleft{#1}}
\def\tomyright#1{\def\myright{#1}}
\def\mysection#1#2{\section{#1}\tomyleft{#2}}
\def\mysubsection#1#2{\subsection{#1}\tomyright{#2}}
\begin{document}
\mysection{Welcome}{My welcome\ldots}
\mysubsection{Hello World!}{\ldots My Hello World!}
My first page.\newpage
My second page.
\end{document}