Я хотел бы включить название раздела отображаемой части страницы в теги заголовков в пакете 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}