Meu título de seção é muito longo para o cabeçalho da página

Por padrão, os comandos de secionamento do LaTeX disponibilizam o título do capítulo ou da seção para serem usados por cabeçalhos de página e similares. Cabeçalhos de página funcionam em uma área restrita, e é comum que os títulos sejam grandes demais para caber: os comandos de secionamento do LaTeX portanto, aceitam um argumento opcional:

\section[short title]{full title}
Se o ‹short title› curto estiver presente, ele será usado tanto para o índice quanto para o cabeçalho de página. A resposta usual para as pessoas que se queixam de que seu título é grande demais para o cabeçalho é sugerir que eles usem o argumento opcional.

No entanto, usar o mesmo texto do índice no cabeçalho também pode ser insatisfatório: se seus títulos de capítulo forem verdadeiramente longos (como os de um romance vitoriano), um esquema válido e racional é ter uma entrada curta para o índice e uma entrada realmente concisa para o cabeçalho.

Um dos problemas é a tendência dos cabeçalhos serem definidos em maiúsculas (que ocupam mais espaço); então, por que não definir cabeçalhos da maneira que seriam escritos para leitura “comum”? Não é possível fazer isso com o LaTeX, sem modificação, mas o pacote fancyhdr fornece um comando \nouppercase para ser usado em cabeçalhos (e rodapés) para suprimir as tendências do LaTeX de escrever em maiúsculas. As classes do conjunto KOMA-script não usam maiúsculas por padrão.

Na verdade, os comandos de seção usam comandos de ‘marcar’ para passar informações aos cabeçalhos das páginas. Por exemplo, o \chapter usa o \chaptermark, o \section usa o \sectionmark, e assim por diante. Com esse conhecimento, pode-se conseguir uma estrutura de três camadas para capítulos:

\chapter[middling version]{verbose version}
\chaptermark{terse version}
o que deve suprir as necessidades de todos os gostos. Os capítulos, no entanto, são mais fáceis: dificilmente algum design de livro coloca um cabeçalho de página na primeira página do capítulo. No caso de secções, normalmente é necessário ter em conta a natureza do comando \*mark : o que vai no cabeçalho é a primeira coisa marcada na página (ou, na falta de qualquer marca, a última marca em qualquer página anterior). Consequentemente, a receita para as seções é mais cansativa:
\section[middling version]{verbose version%
              \sectionmark{terse version}}
\sectionmark{terse version}
(a primeira \sectionmark lida com o cabeçalho da página em que estiver o comando \section , e a segunda lida com as páginas subsequentes; note que aqui, você precisa do argumento opcional para \section, mesmo se a “versão média” seja, na verdade, o mesmo texto da “versão longa”.)

Um arranjo semelhante é necessário até para capítulos se a classe que você estiver usando for estranha o suficiente para colocar um cabeçalho de página na página de abertura de um capítulo.

Note que o pacote titlesec gerencia os cabeçalhos de uma maneira completamente diferente; por exemplo, você pode usar o argumento opcional de comandos de seção para cabeçalhos de página apenas se carregar o pacote como:

\usepackage[toctitles]{titlesec}
A documentação do pacote oferece outras técnicas úteis nesta área.

A classe memoir evita toda essa tolice, fornecendo um argumento opcional extra para comandos de capítulo e de seção, por exemplo:

\section[middling version][terse version]{verbose version}
Consequentemente, os usuários da memoir sempre podem ajustar o texto do cabeçalho para que ele caiba, sem muito problema.
fancyhdr.sty
fancyhdr
KOMA script bundle
koma-script
memoir.cls
memoir
titlesec.sty
titlesec

This answer last edited: 2012-02-01


Do you have any question? Ask on: latex.net.br - we love qood questions!