
Estoy intentando lograr un breve desvanecimiento \headrule
debajo de los números de página. Pero no puedo entender cómo "voltearlo" en páginas pares o impares. ¿Alguien sabe cómo gestionar eso?
También recibo una advertencia que dice que headheight
es demasiado pequeño. Esto es causado por tikzpicture
, pero ¿cómo puedo solucionarlo? No quiero aumentar headheight
tanto...
\documentclass[11pt, titlepage, openright]{book}
\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}
\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}
\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\headrule}{
\begin{tikzpicture}
\shade[white] (0,0) rectangle (8,0);
\shade[left color=white, right color=black, dashed] (8,1) rectangle (12.98,1.01);
\end{tikzpicture}}
\begin{document}
\chapter{Test chapter}
\lipsum
\lipsum
\end{document}
Respuesta1
En LaTeX estándar, la verificación de encabezados izquierdo/derecho se realiza en el valor de \count0
via \ifodd
. Puede usar esto en su \headrule
comando para configurar diferentes imágenes en las dos páginas.
Agregar una headheight
opción a sus geometry
especificaciones le brindará más espacio. Utilice el valor informado en el archivo de registro.
Sin embargo, usted dice en su pregunta que no quiere hacer eso. La razón por la que su encabezado es tan alto es que intenta moverlo hacia arriba dibujando algo en blanco en la altura 0
y la regla en la altura 1
. Más fácil es simplemente dibujar la regla y asegurarse de que esté colocada correctamente mediante algunos saltos verticales.
\documentclass[11pt, titlepage, openright]{book}
\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm,
paperwidth=20cm, paperheight=27cm, layoutwidth=19cm,
layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm,
showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}
\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}
\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\headrule}{%
\vskip-\baselineskip\vskip4pt
\ifodd\count0\hfill\begin{tikzpicture}
\shade[left color=white, right color=black, dashed] (0,0) rectangle (4.98,0.01);
\end{tikzpicture}\else\begin{tikzpicture}
\shade[left color=black, right color=white, dashed] (0,0) rectangle (4.98,.01);
\end{tikzpicture}\fi}
\begin{document}
\chapter{Test chapter}
\lipsum
\lipsum
\end{document}
Respuesta2
Puedes hacerlo con el etoolbox
paquete:
\documentclass[11pt, titlepage, openright]{book}
\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}
\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}%
\usepackage{etoolbox}
\setlength{\headheight}{24pt}
\fancyhead[RO]{\sffamily\bfseries\textcolor{grey}\leftmark\hspace{0.3cm}\sffamily\textcolor{darkgrey}\thepage}
\fancyhead[LE]{\sffamily\bfseries\textcolor{darkgrey}\thepage\hspace{0.3cm}\sffamily\textcolor{grey}\leftmark}
\renewcommand{\headrulewidth}{0.6pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\headrule}{%
\begin{tikzpicture}%
\ifnumodd{\value{page}}{%
\shade[white] (0,0) rectangle (8,0);
\shade[left color=white, right color=black, dashed] (8,1) rectangle (12.98,1.01);
}%
{%
\shade[white] (0,0) rectangle (5,0);
\shade[left color=black, right color=white, dashed] (0,1) rectangle (4.98,1.02);
}
\end{tikzpicture}
}%
\begin{document}
\chapter{Test chapter}
\lipsum
\lipsum
\end{document}
Respuesta3
Puedes poner tu \fancyhead
contenido dentro de un node
y luego dibujar se vuelve fácil.
\fancyhead[RO]{%
\begin{tikzpicture}
\node[inner xsep=0pt, align=right,text width=5cm] (a) {\sffamily\bfseries\textcolor{grey}
{\leftmark}\hspace{0.3cm}\sffamily\textcolor{darkgrey}{\thepage}};
\shade[left color=white, right color=black, dashed] (a.south west) rectangle
([yshift=0.01cm]a.south east);
\end{tikzpicture}%
}
\fancyhead[LE]{%
\begin{tikzpicture}
\node[inner xsep=0pt, align=left,text width=5cm](a){\sffamily\bfseries\textcolor{darkgrey}
{\thepage}\hspace{0.3cm}\sffamily\textcolor{grey}{\leftmark}};
\shade[right color=white, left color=black, dashed] (a.south west) rectangle
([yshift=0.01cm]a.south east);
\end{tikzpicture}%
}
Código:
\documentclass[11pt, titlepage, openright]{book}
\usepackage[textwidth=13cm, left=2.5cm, bottom=2cm, top=2.5cm, paperwidth=20cm, paperheight=27cm, layoutwidth=19cm, layoutheight=26cm, layouthoffset=0.5cm, layoutvoffset=0.5cm, showcrop, asymmetric,headheight=24pt]{geometry}
\usepackage{fancyhdr}
\usepackage{tikz}
\usepackage{lipsum}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhead{}
\fancyfoot{}
\definecolor{grey}{rgb}{0.6,0.6,0.6}
\definecolor{darkgrey}{rgb}{0.4,0.4,0.4}
%\setlength{\headheight}{24pt}
\fancyhead[RO]{%
\begin{tikzpicture}
\node[inner xsep=0pt, align=right,text width=5cm] (a) {\sffamily\bfseries\textcolor{grey}
{\leftmark}\hspace{0.3cm}\sffamily\textcolor{darkgrey}{\thepage}};
\shade[left color=white, right color=black, dashed] (a.south west) rectangle
([yshift=0.01cm]a.south east);
\end{tikzpicture}%
}
\fancyhead[LE]{%
\begin{tikzpicture}
\node[inner xsep=0pt, align=left,text width=5cm](a){\sffamily\bfseries\textcolor{darkgrey}
{\thepage}\hspace{0.3cm}\sffamily\textcolor{grey}{\leftmark}};
\shade[right color=white, left color=black, dashed] (a.south west) rectangle
([yshift=0.01cm]a.south east);
\end{tikzpicture}%
}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\begin{document}
\chapter{Test chapter}
\lipsum
\lipsum
\end{document}