Mostrando entradas con la etiqueta encabezados y pies de página. Mostrar todas las entradas
Mostrando entradas con la etiqueta encabezados y pies de página. Mostrar todas las entradas

miércoles, 26 de febrero de 2014

Cómo añadir una imagen en los encabezados

En esta entrada explico cómo añadir una imagen, en los encabezados de un documento de LaTeX. Para ello, podemos usar el comando \includegraphics, en el encabezado correspondiente, pero dentro de un \begin{picture} \end{picture}, como muestro a continuación:

\usepackage{fancyhdr}
\usepackage{graphicx}

\lhead{\begin{picture}(0,0) \put(0,0){\includegraphics[width=20mm]{./tortuga}} \end{picture}}
\rhead{\begin{picture}(0,0) \put(0,0){\includegraphics[width=20mm]{./tortuga}} \end{picture}}
\renewcommand{\headrulewidth}{0.5pt}

\pagestyle{fancy}

\begin{document}

\end{document}


La imagen de la derecha, nos ha quedado fuera de los márgenes. Para colocarla correctamente, basta con indicar la posición que queremos con el comando "\put(0,0)". En este comando, la posición hay que indicarla con unidades de puntos (1 punto = 0.3528 mm). Queremos mover la figura hacia la izquierda todo su ancho. Es decir, 20 mm o 56.7 puntos. (Con signo negativo, para indicar que es hacia la izquierda.)

\lhead{\begin{picture}(0,0) \put(0,0){\includegraphics[width=20mm]{./tortuga}} \end{picture}}
\rhead{\begin{picture}(0,0) \put(-56.7,0){\includegraphics[width=20mm]{./tortuga}} \end{picture}}
\renewcommand{\headrulewidth}{0.5pt}






Si además de una imagen, queremos añadir texto, lo podemos hacer de manera normal. Por ejemplo:

\chead{Galápago}


Como el texto nos ha quedado un poco bajito, lo podemos subir con \vspace{}, poniendo una distancia negativa. Aquí una cosa importante. Al subir el texto, no solo lo estaríamos subiendo en el encabezado, sino también todo el texto de la hoja. Para evitarlo, añado después del texto correspondiente un nuevo \vspace{}, con la misma distancia, pero ahora con valor positivo. 

\chead{\vspace{-0.3cm} Galápago \vspace{0.3cm}}

lunes, 24 de junio de 2013

Cómo quitar el número de páginas en un artículo

Cuando estamos escribiendo un artículo, dependiendo de la clase que estemos usando, LaTeX nos puede añadir el número de página. Para quitarlo, en principio se podría hacer con "\pagestyle{empty}". Pero esto no siempre es suficiente. La página con el título, sigue mostrando el número de página... Para quitar el número de página aquí también, podemos usar "\thispagestyle{empty}", justo detrás de "\maketitle", como se muestra a continuación:

\begin{document}

\pagestyle{empty}
\maketitle
\thispagestyle{empty}

miércoles, 23 de enero de 2013

Encabezados y pies de página en LaTeX

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:
  • 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}


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:
  • 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}

Bla bla bla...

\section{Estado del Arte}

\lhead[\thepage]{\thesection. Estado del Arte}

Bla bla bla...

\section{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}

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".

\usepackage{emptypage}

jueves, 25 de octubre de 2012

Cómo poner los encabezados en minúsculas

Cuando trabajamos con el formato "book", los encabezados que se crean siguen el siguiente estilo. En las páginas impares, el nombre del capítulo en mayúsculas. En las páginas pares, el nombre de la sección en mayúsculas.


Personalmente, no me gusta mucho este formato. Si queremos que el encabezado de las secciones lo ponga en minúscula, podemos usar el paquete "scrpage2", y añadir las líneas siguientes. Además, he puesto la instruccíon "\markboth..." para que el encabezado del capítulo sí que lo siga poniendo en mayúsculas.

\documentclass[twoside,a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}

\usepackage[nouppercase]{scrpage2} % encabezados

\pagestyle{scrheadings} %encabezados
\setlength{\headheight}{1.1\baselineskip} %encabezados

\begin{document}

\chapter{Animales fantásticos}\label{ch:animales}
\markboth{CAPÍTULO \ref{ch:animales}. ANIMALES FANTÁSTICOS}{}

\section{Dragones de Agua}

\end{document}




Otra forma más completa de hacerlo, es editando completamente los encabezados y pies de páginas. Como explico en detalle en otra entrada (click aquí).

miércoles, 26 de septiembre de 2012

Cómo quitar los encabezados de las páginas en blanco

Por defecto, en las páginas en blanco, aparece el encabezado del capítulo anterior. Si queremos que estas páginas estén completamente en blanco, sin encabezados ni número de página, podemos usar el paquete {emptypage}.

A continuación, un ejemplo sin usar dicho paquete:

 

Y usándolo:

\usepackage{emptypage}

 

martes, 13 de diciembre de 2011

Cómo trabajar con encabezados muy largos con LaTeX

Cuando usamos el formato {book} con LaTeX, por defecto, en la cabecera de las páginas pares, aparece el título del capítulo. De forma general, esto está bien, pero cuando tenemos un título muy largo, tenemos problemas. Por ejemplo, si tenemos el siguiente código:

\documentclass[twoside,a4paper,openright,12pt]{book}
\usepackage[spanish]{babel} % espanol
\usepackage[latin1]{inputenc} % acentos sin codigo

\begin{document}

\tableofcontents

\chapter{Sobre cómo descubrí que no había ningún monstruo debajo de la cama}
bla bla bla...

\end{document}

El título del capítulo es tan largo, que el resultado de la cabecera es el siguiente:


Una primera solución, sería indicar un título alternativo más cortito. Esto se hace introduciéndolo entre corchetes después de \chapter, como se muestra a continuación:

\chapter[Sobre cómo descubrí...]{Sobre cómo descubrí que no había ningún monstruo debajo de la cama}



Sin embargo, esto tiene un problema. En el índice de contenidos, se muestra el título alternativo, no el largo.


Una solución mejor sería indicar el encabezado con el comando "\markboth{x}{y}". Donde x e y son los encabezados de las hojas pares e impares respectivamente. Como muestro a continuación:

\begin{document}

\tableofcontents % Indice de contenidos

\chapter{Sobre cómo descubrí que no había ningún monstruo debajo de la cama}
\label{ch:sobre}
\markboth{CAPÍTULO \ref{ch:sobre}. SOBRE CÓMO DESCUBRÍ...}{}

\end{document}



miércoles, 13 de abril de 2011

Notas al pie de página (y al final del documento) en LaTeX

Las notas al pie de página se hacen directamente con el comando \footnote:

Algunos de los animales en peligro de extinción son el oso blanco\footnote{en el Ártico}, el cóndor\footnote{en los Andes}, el tigre siberiano\footnote{en Siberia}, y el lince ibérico\footnote{en la Península Ibérica}.


Por defecto, las referencias se hacen con números. Si queremos otro tipo de numeración, podríamos haber puesto (antes de \begin{document}) alguno de los siguientes comandos:

\renewcommand{\thefootnote}{\fnsymbol{footnote}} % numeración por símbolos
\renewcommand{\thefootnote}{\roman{footnote}} % i, ii, iii...
\renewcommand{\thefootnote}{\Roman{footnote}} % I, II, III...
\renewcommand{\thefootnote}{\alph{footnote}} % a, b, c...
\renewcommand{\thefootnote}{\Alph{footnote}} % A, B, C...
\renewcommand{\thefootnote}{\arabic{footnote}} % 1, 2, 3... (la que hay por defecto)

Estas notas al pie están en parte condicionadas por el paquete de babel que estemos usando. Por ejemplo, con "spanish", \roman produce los números romanos en mayúsculas (como si fuera \Roman, ya que en español, se considera incorrecto escribir los números romanos en minúsculas). O por ejemplo, \fnsymbol utiliza con "spanish" asteriscos, y con "USenglish" símbolos varios, como puedes ver en las dos siguientes imágenes:





Otra cosa importante. La numeración de las notas al pie de página, se resetea con cada capítulo, empezando a numerar otra vez con 1. Si queremos que esto no suceda y que la numeración continue con la del capítulo anterior, podemos poner las siguientes líneas (antes de \begin{document}):

\usepackage{chngcntr}
\counterwithout{footnote}{chapter}




A veces, en vez de situar cada nota al pie de la página correspondiente, preferimos agrupar todas las notas al final del documento (o en otro sitio).  Para ello, podemos usar el paquete {endnotes}. Con este paquete, iremos indicando las notas con \endnote{}. Y donde queramos que aparezcan, escribimos \theendnotes. Por ejemplo:

\documentclass[a4paper,openright,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[latin1]{inputenc}
\usepackage{endnotes}

\begin{document}

\chapter{Introducción}
Algunos de los animales en peligro de extinción son el oso blanco\endnote{en el Ártico}, el cóndor\endnote{en los Andes}, el tigre siberiano\endnote{en Siberia}, y el lince ibérico\endnote{en la Península Ibérica}.

\chapter{Final}
\theendnotes

\end{document}


Por defecto, al añadir las notas, LaTeX pone la palabra "Notes". Si estás escribiendo en español, esto no queda del todo bien. Pero esto se puede cambiar muy fácilmente, con el siguiente comando (antes de \begin{document}):
 
\renewcommand{\notesname}{Notas}
\begin{document}




Igual que con el caso anterior, podemos editar la forma de las notas (números romanos, símbolos, letras, etc.). Se hace de manera idéntica a como estaba indicado anteriormente, pero ahora indicando que son notas al final del documento:

\renewcommand{\theendnote}{\alph{endnote}}



Cuando ponemos las notas al final del documento, es una buena idea añadir un link a cada nota, para que sencillamente haciendo un click sobre ella, nos lleve a la correspondiente nota. Para ello, podemos usar los paquetes {hyperref} y {hyperendnote}

\usepackage[english]{babel}
\usepackage{endnotes}
\usepackage[hidelinks=true,hyperfootnotes=false]{hyperref}
\usepackage{hyperendnote}
 
Con "hidelinks=true" ocultamos unas cajas rojas que aparecen en los links, y que creo que quedan muy feas. Mientras que con "hyperfootnotes=false" indicamos que los links solo se hagan para las notas al final del documento (con \endnote), no a las de pie de página (con \footnote).

Si trabajamos en inglés, no hay ningún problema. Pero si trabajamos en español... ¡cuidado! El paquete [spanish]{babel}, utiliza algunas abreviaturas que también usa {hyperendnote}. Y si solo lo hiciéramos así, nos daría un error. Para evitarlo, podemos desactivar las abreviaturas usadas en español, con la opcion "es-noshorthands"

\usepackage[spanish, es-noshorthands]{babel}
\usepackage{endnotes}
\usepackage[hidelinks=true,hyperfootnotes=false]{hyperref}
\usepackage{hyperendnote}