Включение названий разделов в заголовки fancyhf

Включение названий разделов в заголовки fancyhf

Я хотел бы включить название раздела отображаемой части страницы в теги заголовков в пакете fancyhdr, что-то вроде

\fancyhf[HR]{SECTION NAME}
\fancyhf[HL]{SUBSECTION NAME}

Как мне это сделать?

решение1

titlepsпредоставляет это из коробки и не сильно отличается по интерфейсу/использованию отfancyhdr. Вам может быть интересно прочитатьtitlepsдля fancyhdrпользователей.

Если вы хотите сделать это напрямую fancyhdr, вам придется исправить конструкции секционных блоков для хранения заголовков или использовать метки заголовков с некоторой обработкой.

Вы бы использовали

\usepackage{titleps}% http://ctan.org/pkg/titleps
\newpagestyle{main}{
\setheadrule{.4pt}% Header rule
\sethead{\subsectiontitle}% left
        {}%                 center
        {\sectiontitle}%    right
}
\pagestyle{main}

Вот очень простой пример с добавлением номера секционного блока:

введите описание изображения здесь

\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}

решение2

Я использую fancyhdrпакет для этой задачи. Обычно я готовлю несколько новых команд, чтобы иметь полный контроль над тем, что будет показано в заголовке и нижнем колонтитуле. Я прилагаю небольшую демонстрацию.

\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}

Страница 1

страница 2

Связанный контент