En esta entrada mostraré cómo editar los encabezados y pies de página de nuestro documento de LaTeX. Antes una cosa importante, los comandos que aquí uso, funcionan bien con el formato {book}, pero pueden fallar cuando se usan otros formatos...
Los encabezados y pies de página, hay que editarlos para tres tipos de páginas:
Los encabezados y pies de página, hay que editarlos para tres tipos de páginas:
- Páginas inicial de un capítulo.
- Páginas pares.
- Páginas impares.
Para ello, se puede utilizar el paquete {fancyhdr} y el siguiente código:
\documentclass[a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
% aqui definimos el encabezado de las paginas pares e impares.
\lhead[x1]{x2}
\chead[y1]{y2}
\rhead[z1]{z2}
\renewcommand{\headrulewidth}{0.5pt}
% aqui definimos el pie de pagina de las paginas pares e impares.
\lfoot[a1]{b2}
\cfoot[c1]{d2}
\rfoot[e1]{f2}
\renewcommand{\footrulewidth}{0.5pt}
% aqui definimos el encabezado y pie de pagina de la pagina inicial de un capitulo.
\fancypagestyle{plain}{
\fancyhead[L]{K1}
\fancyhead[C]{K2}
\fancyhead[R]{K3}
\fancyfoot[L]{L1}
\fancyfoot[C]{L2}
\fancyfoot[R]{L3}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
}
\pagestyle{fancy}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
% aqui definimos el encabezado de las paginas pares e impares.
\lhead[x1]{x2}
\chead[y1]{y2}
\rhead[z1]{z2}
\renewcommand{\headrulewidth}{0.5pt}
% aqui definimos el pie de pagina de las paginas pares e impares.
\lfoot[a1]{b2}
\cfoot[c1]{d2}
\rfoot[e1]{f2}
\renewcommand{\footrulewidth}{0.5pt}
% aqui definimos el encabezado y pie de pagina de la pagina inicial de un capitulo.
\fancypagestyle{plain}{
\fancyhead[L]{K1}
\fancyhead[C]{K2}
\fancyhead[R]{K3}
\fancyfoot[L]{L1}
\fancyfoot[C]{L2}
\fancyfoot[R]{L3}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
}
\pagestyle{fancy}
Explico un poco qué significan estas líneas.
\lhead[x1]{x2} define el texto a la izquierda (l = left, c = center, r = right) de los encabezados. Primero, entre corchetes, se pone el texto de las páginas pares. Y después, entre llaves, se indica el texto de las páginas pares.
\renewcommand{\headrulewidth}{0.5pt} define el grosor de la línea. Si no queremos línea, ponemos {0pt}.
\fancyhead[L]{K1} define el texto de los encabezados de la primera página de un capítulo. Entre corchetes, se pone la posición que queremos editar (L = left), y entre llaves, el texto que queremos poner.
Ahora, ya podemos hacer un ejemplo bien bonito. Por ejemplo, queremos lo siguiente:
Ahora, ya podemos hacer un ejemplo bien bonito. Por ejemplo, queremos lo siguiente:
- Página inicial de un capítulo. Número de página arriba a la derecha.
- Encabezado de las páginas pares. Con línea, número de página a la izquierda y CAPÍTULO 1. TÍTULO DEL CAPÍTULO, a la derecha.
- Encabezado de las páginas impares. Con línea, número de página a la derecha y 1.1 Título de la sección a la izquierda.
- Pie de página de las páginas pares. Nombre del autor a la derecha.
- Pie de página de las páginas impares. Fecha a la izquierda.
Para hacer esto, son útiles los siguientes comandos:
- "\markboth{}{}" indica el encabezado a la derecha y a la izquierda. Lo indicamos después de cada sección.
- "\rightmark" y "\leftmark" seleccionan el encabezado a la derecha o a la izquierda, que había sido fijado con "\markboth{}{}".
- "\thechapter" y "\thesection" dan el número del capítulo y la sección correspondiente.
- "\today" genera la fecha actual.
A continuación el código de ejemplo. En este caso, al inicio de cada capítulo, utilizo "\markboth" para definir el nombre del capítulo, que aparecerá en los encabezados. Y al inicio de cada sección, redefino los encabezados con "\lhead", para editar el nombre de cada sección.
\documentclass[a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
% encabezados
\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\chead[]{}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
% pie de pagina
\lfoot[]{\today}
\cfoot[]{}
\rfoot[Arenita Mejillas]{}
\renewcommand{\footrulewidth}{0pt}
% primera pagina de un capitulo
\fancypagestyle{plain}{
\fancyhead[L]{}
\fancyhead[C]{}
\fancyhead[R]{\thepage}
\fancyfoot[L]{}
\fancyfoot[C]{}
\fancyfoot[R]{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\pagestyle{fancy}
\begin{document}
\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}
\chapter{Introducción}\label{cap.intro}
\markboth{INTRODUCCIÓN}{INTRODUCCIÓN}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
% encabezados
\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\chead[]{}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
% pie de pagina
\lfoot[]{\today}
\cfoot[]{}
\rfoot[Arenita Mejillas]{}
\renewcommand{\footrulewidth}{0pt}
% primera pagina de un capitulo
\fancypagestyle{plain}{
\fancyhead[L]{}
\fancyhead[C]{}
\fancyhead[R]{\thepage}
\fancyfoot[L]{}
\fancyfoot[C]{}
\fancyfoot[R]{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\pagestyle{fancy}
\begin{document}
\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}
\chapter{Introducción}\label{cap.intro}
\markboth{INTRODUCCIÓN}{INTRODUCCIÓN}
Bla bla bla...
\section{Estado del Arte}
\lhead[\thepage]{\thesection. Estado del Arte}
\lhead[\thepage]{\thesection. Estado del Arte}
Bla bla bla...
\section{Objetivos de la Tesis}
\lhead[\thepage]{\thesection. Objetivos de la Tesis}
\lhead[\thepage]{\thesection. Objetivos de la Tesis}
Bla bla bla...
\chapter{Nudo}\label{cap.nudo}
\markboth{NUDO}{NUDO}
Bla bla bla...
\section{Situación Mundial}
\lhead[\thepage]{\thesection. Situación Mundial}
\lhead[\thepage]{\thesection. Situación Mundial}
Bla bla bla...
\end{document}
Hay
veces que queremos que nuestro documento tenga varios formatos
distintos de encabezados. Por ejemplo, un primer capítulo resumen sin
ningún encabezado. Y el resto de capítulos con el nombre del capítulo y
número de página. En este caso, bastaría con copiar dos veces las
funciones aquí descritas. Estas aplican desde el capítulo donde están,
hacia delante.
Las
funciones aquí descritas funcionan desde donde están, hacia delante. Si
quNo hay ningún problema. Lo único que tenemos que hacer es editarlos
utiliza.
Por ejemplo, si quiero tener un primer capítulo
\documentclass[a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
% editamos los encabezados del primer capítulo
\lhead[]{}
\chead[]{}
\rhead[]{}
\renewcommand{\headrulewidth}{0pt}
\lfoot[]{}
\cfoot[]{}
\rfoot[]{}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{plain}{
\fancyhead[L]{}
\fancyhead[C]{}
\fancyhead[R]{}
\fancyfoot[L]{}
\fancyfoot[C]{}
\fancyfoot[R]{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\pagestyle{fancy}
\begin{document}
\chapter*{Resumen}
Bla bla bla...
\chapter{Introducción}\label{cap.intro}
\markboth{INTRODUCCIÓN}{INTRODUCCIÓN}
% editamos los encabezados para el resto de capítulos
\lhead[\thepage]{CAPÍTULO \thechapter. \rightmark}
\chead[]{}
\rhead[CAPÍTULO \thechapter. \leftmark]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
\lfoot[]{\today}
\cfoot[]{}
\rfoot[Arenita Mejillas]{}
\renewcommand{\footrulewidth}{0.5pt}
\fancypagestyle{plain}{
\fancyhead[L]{\thechapter. \leftmark}
\fancyhead[C]{}
\fancyhead[R]{\thepage}
\fancyfoot[L]{}
\fancyfoot[C]{}
\fancyfoot[R]{}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
}
Bla bla bla....
\end{document}
Un par de cosas más:
1) Si usas el paquete fancyhdr, es muy posible que te salga el siguiente error: "Package Fancyhdr Warning: \headheight is too small (12.0pt)". Para solucionarlo, puedes añadir la siguiente instrucción antes de \begin{document}:
\setlength{\headheight}{15pt}
2) Si quieres que en las páginas en blanco no haya ni encabezados ni pies de página, puedes usar el paquete "emptypage".
1) Si usas el paquete fancyhdr, es muy posible que te salga el siguiente error: "Package Fancyhdr Warning: \headheight is too small (12.0pt)". Para solucionarlo, puedes añadir la siguiente instrucción antes de \begin{document}:
\setlength{\headheight}{15pt}
2) Si quieres que en las páginas en blanco no haya ni encabezados ni pies de página, puedes usar el paquete "emptypage".
\usepackage{emptypage}