domingo, 4 de octubre de 2015

Cómo poner "página" en el índice de contenidos

En esta entrada explico cómo añadir la palabra "Página" en el índice de contenidos, justo encima de la columna con el número de página. Para ello, podemos usar el comando "\addtocontents", que también se usaba para añadir a la lista de contenidos, las partes del documento que por defecto, no aparecían en dicha lista, como los "\chapter*", la lista de tablas y figuras, y la bibliografía.

Justo después de "\begin{document}", y antes de otros "\addtocontest", hay que añadir la siguiente línea: 

\addtocontents{toc}{\hfill \textbf{Página} \par}

Donde "\hfill" se utiliza para llevar la palabra "Página" al final de línea; y "\par" añade un salto de página. El resultado se muestra a continuación:


Teniendo esto en cuenta, es fácil modificar un poco la lista de contenidos. Por ejemplo, si queremos que, además de "Página", ponga "Capítulos" y una línea horizontal, podríamos poner:

\addtocontents{toc}{\hspace{-7.5mm} \textbf{Capítulos}}
\addtocontents{toc}{\hfill \textbf{Página} \par}
\addtocontents{toc}{\vspace{-2mm} \hspace{-7.5mm} \hrule \par}


\chapter*{Agradecimientos}
\addcontentsline{toc}{chapter}{Agradecimientos}

\tableofcontents

\chapter{Encantamientos}

\chapter{Magia}

\chapter{Hechizos}

Cuyo resultado es:


Solo un par de comentarios más. Si estamos trabajando con [spanish]{babel}, los párrafos empiezan con una pequeña sangría. Para que esto no nos ocurra ahora con la palabra "Capítulos", y que esté alineada con el resto del índice, hemos eliminado la sangría con un espacio negativo, con "\hspace{-7.5mm}".

La línea horizontal la hemos añadido con "\hrule". Otros comandos para dibujar líneas, como "\rule", no funcionan. Por último, como esta línea aparecen por defecto muy abajo, las hemos subido con "\vspace{-2mm}".

10 comentarios:

Luis dijo...

Hola Álvaro,
para los encabezados, muy fácil. Tienes que editarlos dos veces. Antes del índice de contenidos, los pones todos en blanco. Y luego, después del índice, vuelves a editarlos, indicando lo que te gustaría que hubiera (título del capítulo, número de página, etc.) Tengo una entrada donde ya explico eso mismo.

En cuanto a añadir el número de capítulo, se me ocurre lo siguiente. En vez de usar \pagenumbering.

\renewcommand{\thepage}{\thechapter.\arabic{page}}
\setcounter{page}{1}

Hasta luego

Joany Mariño dijo...

Hola Luis,

Esta entrada me resultó muy útil para modificar los índices de la tesis de acuerdo a los requisitos de mi posgrado. En el formato me piden colocar las palabras "Tabla" y "Figura" en los índices correspondientes, lo cual hice con:

\addtocontents{lof}{\textbf{Figura} \hfill \textbf{Página} \par}
\addtocontents{lot}{\textbf{Tabla} \hfill \textbf{Página} \par}

No obstante, en el formato también me piden que el número de la página esté centrado debajo de la palabra "Página" y no alineado a la izquierda, así mismo, en el índice de tablas y figuras el número de la tabla/figura debería estar centrado bajo la palabra "Tabla"/"Figura" en lugar de alineado a la derecha. Hasta ahora no he encontrado cómo resolver este detalle, intenté con:

\newcommand{\cftpnumalign}{c}
\renewcommand{\cftpnumalign}{c}

como dice en la documentación de tocloft pero no funciona. ¿Se te ocurre algo?


Saludos,

Luis dijo...

Hola Joany,
fiuuu, qué chungo.

Bueno, lo de \newcommand{\cftpnumalign}{c} lo que alinea son los números de páginas entre ellos. Es decir:

_2
123

Lo que habría que hacer es mover un poco la palabra "Página", para que quede encima de los numeritos, o añadir un margen izquierdo a los números... Pero no se me ocurre cómo hacerlo. Con la siguiente línea, sí consigo mover un poco la palabra "Página"... (pero ahora queda mal la línea recta). Qué difícil... XD

\addtocontents{toc}{\hspace{108mm} \textbf{\mbox{Página}} \par}

Si alguien sabe cómo hacerlo, que lo diga. :-)

Joany Mariño dijo...

Hola Luis,

Muchas gracias por responder. Le di varias vueltas y resolví dejarlo con el formato original, después de todo es sólo el índice xD

Saludos y Feliz navidad.

Luis dijo...

Me alegro, y feliz Navidad. :-)

Rosa Seminario dijo...

Hola, Luis, buenas tengo una consulta, en la parte de índice. Si en vez de la numeración que sale de 1,2,3, ...en las secciones,quisiera poner capítulo 1, capitulo 2, y así sucesivamente.
¿cómo podría hacer?

Miriam dijo...

Hola! Estoy intentando modificar el índice de mi presentación en latex pero no funciona igual :(
Al hacer \tableofcontents me aparece el índice pero sin numerar. ¿Cómo lo puedo conseguir?

MeLiZzA dijo...

no me salen los sub sub indices , ue puedo hacer ?

Unknown dijo...

Buenas noche saludos cuál es el comando para que la palabra indico general salga centrado

co dijo...

Hola Luis buenas tardes. he hecho un libro con varios autores de capítulos y quiero que aparezca su nombre de cada capítulo en el índice
\tableofcontents. pero no se como añadir el chapterauthor en índice. ¿podrías ayudarme?