Jump to content
tivi.nuun

Latex, modificar formato del Indice

Recommended Posts

México D.F. a 24 de Marzo 2010

 

 

 

 

Hola a todos, tengo una nueva duda de Latex y no he podido resolverla. Quizá lo estoy buscando mal, porqué no dudo que a alguien le haya pasado.

 

Resulta que uso el comando \tableofcontents y me genera un índice automáticamente. Sin embargo utiliza el mismo formato que tienen los capítulos, de manera que el título de Índice general aparece a 1/3 de la hoja y quisiera que apareciera centrado y en la parte superior. anexo la imagen para que se den una idea.

 

 

4461774758_f4e4d08bdb_o.jpg

 

 

 

Si alguien me puede ayudar se lo agradeceré muuuuucho o bien, si me dicen que comando usar buscaré la información. Cuídense mucho

Share this post


Link to post
Share on other sites

Cambiar el layout de la tabla de contenidos (mejor no decir "indice" por confusión con el "index") es una de las cosas más jodidas de LaTeX, porque no hay comandos a nivel de usuario. A no ser que uses un \documentclass como memoir, que lo tiene todo previsto. Pero en tu caso parece que estás usando book. El problema es que el comando \tableofcontents está definido a bajo nivel de forma que llama a \chapter*{\contentsname}, es decir, produce un capítulo sin numerar con el título que le hayas dado en el comando \contentsname. La única solución es redefinir en el preámbulo de tu documento el primer comando, eliminando esta llamada y sustituyéndola por un formateo del encabezamiento a tu elección, seguido de la creación de la tabla de contenidos estándar. Te pongo una sugerencia, con comentarios para que lo adaptes a tus gustos:

\makeatletter       %%%   INICIO DE UNA DEFINICION A BAJO NIVEL
\renewcommand\tableofcontents{%
   \if@twocolumn
     \@restonecoltrue\onecolumn
   \else
     \@restonecolfalse
   \fi
           \begin{center}      %%%   Lo quieres centrado, no ?
           \Large              %%%   Experimenta hasta encontrar el tamaño que desees
           \bfseries           %%%   Por si quieres negrita; si no, quita esta línea
           \contentsname       %%%   El "nombre" del capítulo, que tú has definido
           \end{center}        %%%
           \addvspace{1cm}     %%%   Añade o quita espacio vertical según desees
   \@mkboth{%
      \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}        %%%  para las headlines
   \@starttoc{toc}             %%%  Aquí se produce la tabla de contenidos realmente
   \if@restonecol\twocolumn\fi
   }
\makeatother        %%%   FINAL DE UNA DEFINICION A BAJO NIVEL

Suerte!

Share this post


Link to post
Share on other sites

Pepito5 Gracias por responder, me fuiste de gran ayuda!! Disculpa por no contestar inmediatamente, estoy trabajando en una brigada de exploración y no había internet :( Me da mucha pena no haberte agradecido antes.

 

Utilicé el código que escribiste y me ha quedado de la siguiente manera:

 

 

4612789287_957cce0d8f.jpg

 

El formato que tengo en la mayor parte de mi tesis es el siguiente:

Número y nombre del Subtítulo Nombre del Capítulo

4612789531_647969b388.jpg

Y ese formato de encabezado se repite en mi índice. Dirán que soy muy pesado, pero... no me gusta que en cada hoja del índice aparezca en el encabezado índice___________índice ¿Hay alguna manera de quitarlo completamente en la primera página del índice? Basta con leer el título para saber que es el índice

¿¿Qué debo de hacer para que en las siguientes páginas de índice sólo aparezca en el encabezado ________________ índice en las siguientes hojas??

Gracias a todos, un abrazo

Edited by tivi.nuun

Share this post


Link to post
Share on other sites

El encabezamiento está producido por el comando \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}} que hay en mi ejemplo. Pero la cosa no es fácil de arreglar porque esto lo define de golpe para todo el índice. Si lo suprimes creo que desaparecerá de todas las páginas. Entonces el problema es cómo hacer que aparezca en la segunda y siguientes. En texto normal esto es fácil porque se ponen los comandos adecuados en el lugar adecuado del texto y ya está, pero el índice es producido de golpe con el comando \tableofcontents.

 

Una manera sería tocando el fichero .toc correspondiente a tu documento, insertando entre dos entradas, en un lugar que veas que corresponde a la segunda página, los comandos adecuados. Pero esto sólo va bien para la compilación ultra-super-final, porque este fichero se crea de nuevo con cada compilación del código fuente. Pero también esto tiene solución, que ya te diré.

 

Pero primero dime: estás usando el paquete fancyhdr para formatear los encabezamientos y pies de página? Cómo has hecho para obtener el encabezamiento con la línea horizontal, y el número de página al pie ?

 

Por cierto, el problema de "estética" que dices, no lo tienes también en la primera página de cada capítulo ? Lo has resuelto ahí ?

 

Finalmente, tienes los mismos encabezados en las páginas pares que en las impares ? Tu tesis se va a imprimir a doble cara o a una sola cara ? En el primer caso, lo normal es tener los encabezados simètricos, no siempre iguales. Para todo esto el paquete que te he mencionado es fenomenal.

 

Seguiremos hablando.

Edited by pepito5

Share this post


Link to post
Share on other sites

Pepito 5 ¿Cómo estás? Disculpa por no responder a tiempo, pero he tenido muchos problemas personales que me han impedido continuar con mi tesis.

 

Efectivamente estoy utilizando el paquete fancyhdr y esta es mi línea de comandos:

\usepackage{fancyhdr}

\pagestyle{fancy}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}\fancyfoot[C]{\slshape \thepage}

 

Estoy imprimiendo a una cara, por lo que la configuración es simétrica. ¿Hay alguna forma para que el índice tenga un formato diferente?

 

En lo que respecta a los capítulos, efectivamente me salen a 1/3 de la hoja, pero agregaba un párrafo a manera de mini-introducción en cada capítulo -sólo llevo escritos dos a medias- y después en una nueva hoja comenzaba con el desarrollo.

 

Por cierto, en la Bibliografía tengo el mismo problema que el índice, me aparece Bibliografía____________________Biblografía

Estoy usando BibDesk, esta es mi línea de comandos:

\bibliography{bibliografia/bibliografia.bib}

\bibliographystyle{plain}

 

 

Gracias por todo de verdad aprecio mucho tu ayuda, un abrazo y discúlpame por ser tan lento

Edited by tivi.nuun

Share this post


Link to post
Share on other sites

Hola, me pareció interesante su post a pesar de ya pasar 9 años. 

Estoy escribiendo un proyecto en latex y necesito un formato específico con respecto al índice general.

En realidad necesito quitar la palabra general en el título del índice, podrías ayudarme con eso por favor? 

Saludos.

Share this post


Link to post
Share on other sites

Hola Criscbpf, bienvenida a Macuarium... si tienes tiempo, acércate por Bienvenidos y preséntate.

 

Volviendo a tu duda. Supongo que has usado el paquete babel para traducir las "palabras automáticas" de LaTeX, es decir, añadir \usepackage[spanish]{babel} en el preámbulo de tu documento. Al hacer eso como dices, el índice automático de Latex (\tableofcontents) lo que hace es poner ese anómalo "Índice General", que la verdad que lo de General... vamos a cambiarlo. Tienes que añadir lo siguiente en el preámbulo de tu documento, a ser posible detrás de donde añades el paquete babel:

 

\addto\captionsspanish{
  \renewcommand{\contentsname}
    {Índice}
}

Donde pone Índice puedes poner Contenidos, Tabla de contenidos... cualquier texto, vaya. Y cuando haga el índice será el texto que saldrá.

Ya nos comentarás qué tal va. Si tienes más problemas es mejor que copies y pegues aquí el código mínimo necesario para reproducir la situación que necesitas.

Share this post


Link to post
Share on other sites

Hola Mr. Bean, gracias funcionó!

Bueno, soy nuevo en el foro y tengo otro problema, esta vez relacionado con los Anexos.

Quiero que en el índice aparezcan los Anexos como un capítulo de mi proyecto, por ejemplo:

VIII ANEXOS.......................................................................................1

Anexo 1...............................................................................................1

Resultando en la página 1:

VIII ANEXOS

Anexo 1

(contenido del anexo 1)

Traté de hacerlo en mi código modificando el nombre del \appendixname de la siguiente forma:

\usepackage{appendix}
\renewcommand{\appendixname}{VIII \hspace{1.2cm}   ANEXOS}
\renewcommand{\appendixtocname}{VIII \hspace{1.2cm}   ANEXOS}
\renewcommand{\appendixpagename}{VIII  ANEXOS}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\appendix
\clearpage
\appendixpage
\chapter{Anexo 1} 
(contenido del anexo 1)

\end{document}

Pero el resultado al compilar me dio algo así 

VIII ANEXOS (centrado en la página 1)

A Anexo 1 (al margen superior izquierdo de la página 2)

Podrías ayudarme con esto? 

Gracias de antemano.

Share this post


Link to post
Share on other sites

Hola.

 

¿Cómo hago para que los títulos "indice general" "lista de tablas" etc...  aparezcan en mayúsculas?

Con los capítulos no tengo ese problema porque ya escribo yo el título a mano, pero con las cosas automáticas sí.

Hola.

 

¿Cómo hago para que los títulos "indice general" "lista de tablas" etc...  aparezcan en mayúsculas?

Con los capítulos no tengo ese problema porque ya escribo yo el título a mano, pero con las cosas automáticas sí.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.