Incluindo títulos de seção em cabeçalhos sofisticados

Incluindo títulos de seção em cabeçalhos sofisticados

Eu gostaria de incluir o nome da seção exibida da página em minhas tags de cabeçalho no pacote fancyhdr, algo como

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

Como posso fazer isso?

Responder1

titlepsfornece isso pronto para uso e não é tão diferente em interface/uso defancyhdr. Você pode estar interessado em lertitlepspara fancyhdrusuários.

Se quiser fazer isso diretamente com fancyhdr, você terá que corrigir as construções das unidades seccionais para armazenar os títulos ou usar as marcas de título com alguma massagem.

Você usaria

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

Aqui está um exemplo mínimo com a adição do número da unidade seccional também:

insira a descrição da imagem aqui

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

Responder2

Eu uso o fancyhdrpacote para esta tarefa. Costumo preparar vários comandos novos para ter controle total do que será mostrado no cabeçalho e rodapé. Anexo uma pequena demonstração.

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

Página 1

página 2

informação relacionada