Estou tentando terminar minha tese mas enfrento alguns problemas em relação ao alinhamento do texto no cabeçalho. Eu uso o pacote fancyhdr e quero o capítulo posicionado no lado esquerdo e a seção no lado direito do cabeçalho. Como tenho alguns nomes de seção mais longos, tentei a seguinte solução:
\newcommand{\changefont}{
\fontsize{10}{11}\selectfont
}
\fancyhf[lh,rh,ch]{}
\fancyhf[lh]{\begin{minipage}[t]{\textwidth}\changefont
\slshape\raggedleft\leftmark\qquad\raggedright\rightmark\\\\
\end{minipage}}
Nem a primeira nem a segunda linha da seção estão alinhadas à direita. Outro problema é que a segunda linha colide com a linha horizontal do cabeçalho. Gostaria que a seção fosse alinhada à direita e, assim que ultrapassasse o centro da página, continuasse em uma nova linha.
Espero que alguém tenha uma ideia ou mesmo uma solução.
Obrigado, Johannes
Responder1
Você pode colocar o conteúdo \rightmark
(ou seja, o número da seção e o título da seção) em uma minipágina de largura 0.5\textwidth
.
Uma demonstração para o seu propósito:
\documentclass{book}
\usepackage{showframe}
\usepackage{fancyhdr}
\renewcommand{\chaptermark}[1]%
{\markboth{\thechapter.\ #1}{}}
\renewcommand{\sectionmark}[1]%
{\markright{\thesection.\ #1}}
\setlength{\headheight}{20pt}
\fancyhf{}
\fancyhead[L]{\fontsize{8}{9}\selectfont\slshape\leftmark}
\fancyhead[R]{\minipage[b]{.5\textwidth}\fontsize{8}{9}\selectfont\slshape\raggedleft\rightmark\endminipage}
\pagestyle{fancy}
\begin{document}
\chapter{AAAAA}
\section{This section is very very very very very very very very long}
some text
\newpage
some text
\newpage
\section{aaaa}
some text
\end{document}
Responder2
A ideia aqui é ajustar a largura do \parbox
lado direito para caber no espaço restante. Curiosamente, a parte difícil era fazer com que o topo do cabeçalho aparecesse sempre no mesmo nível.
\documentclass{book}
\usepackage{showframe}
\setlength{\headheight}{20pt}
\makeatletter
\newsavebox{\lefthead}
\def\ps@myheadings{%
\def\@oddfoot{\hfil\thepage\hfil}% assuming you want the page number somewhere
\let\@evenfoot\@oddfoot
\def\@oddhead{\savebox{\lefthead}{\slshape\leftmark}%
\parbox[b][\headheight][t]{\textwidth}{\usebox\lefthead\hfill
\parbox[t]{\dimexpr \textwidth-\wd\lefthead-\columnsep}%
{\raggedleft\slshape\rightmark}\par}}%
\let\@evenhead\@oddhead
\let\@mkboth\markboth
\def\chaptermark##1{%
\markboth {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ %
\fi
##1}}{}}%
\def\sectionmark##1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\z@
\thesection. \ %
\fi
##1}}}}
\makeatother
\pagestyle{myheadings}
\begin{document}
\chapter{AAAAA}
\section{This section is very very very very very very very very long}
some text
\newpage
some text
\newpage
\section{aaaa}
some text
\end{document}