Estoy intentando terminar mi tesis pero tengo algunos problemas con respecto a la alineación del texto en el encabezado. Utilizo el paquete fancyhdr y quiero que el capítulo esté ubicado en el lado izquierdo y la sección en el lado derecho del encabezado. Como tengo algunos nombres de secciones más largos, probé la siguiente solución:
\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}}
Ni la primera ni la segunda línea de la sección están alineadas a la derecha. Otro problema es que la segunda línea choca con la línea horizontal del encabezado. Me gustaría tener la sección alineada a la derecha, y una vez que sobrepase el centro de la página continúa en una nueva línea.
Espero que alguien tenga una idea o incluso una solución.
Gracias johannes
Respuesta1
Puede colocar el contenido de \rightmark
(es decir, el número de sección y el título de la sección) en una minipágina de ancho 0.5\textwidth
.
Una demostración para su 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}
Respuesta2
La idea aquí es ajustar el ancho del \parbox
lado derecho para que se ajuste al espacio restante. Curiosamente, la parte difícil fue que la parte superior del encabezado siempre apareciera al mismo nivel en todo momento.
\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}