martes, 22 de noviembre de 2016

Contenidos del blog

LaTeX es un programa diseñado para crear documentos científicos y técnicos. La idea básica es la siguiente. Tú pones el contenido y LaTeX pone el formato. Claro que siempre puedes ayudar a LaTeX a definir el formato, pero al final lo hace él, y en algunas cosas, te tocará ceder.

Una vez que sabes manejar LaTeX, resulta muy cómodo, y tiene muchas ventajas frente a otros editores de texto. Pero al inicio, es bastante complejo y rudo. Mientras he ido aprendiendo LaTeX, he creado este blog, recopilando las instrucciones que me parecieron más útiles.

A continuación, puedes ver los contenidos del blog. Quizás alguno de ellos te pueda resultar útil a ti. :-)

Si eres nuevo en LaTeX:
  • Cómo instalar LaTeX en Windows (usando el editor TeXnicCenter) (click aquí).
  • Primeros pasos con LaTeX (click aquí). 
  • Cómo usar el corrector ortográfico en TeXnicCenter (click aquí).
  • Recopilación de algunos errores comunes con TeXnicCenter (click aquí).
  • Principales funciones para editar el formato (negrita, tamaño...) (click aquí).
  • Reglas generales y estilos para hacer la bibliografía (click aquí).
  • Reglas generales para las referencias cruzadas (click aquí).

Si vas a escribir tu tesis en LaTeX:
  • Ideas básicas para hacer una tesis (click aquí).
  • Ideas básicas para hacer la página del título (click aquí).
  • Cómo hacer la tesis en B5 (click aquí).
  • Cómo añadir una lista con la nomenclatura (click aquí).
  • Cómo añadir al inicio de la tesis, una lista con nuestros artículos (click aquí). 
  • Cómo añadir al final de cada capítulo, la bibliografía usada en dicho capítulo (click aquí).

Si estás trabajando en español con LaTeX:
  • Varias ideas generales para trabajar en español (click aquí).
  • Cómo poner "y" en vez de "and" en la bibliografía (click aquí).
  • Cómo trabajar con apellidos con preposiciones en la bibliografía (click aquí).
  • Cómo alternar entre varios idiomas (click aquí).

Documentos cortos con LaTeX:
  • Cómo escribir un informe, dossier o reporte, sin capítulos (click aquí). 
  • Cómo hacer un currículum (click aquí).

Artículos:

Bibliografía:
  • Ideas generales y varios estilos (click aquí).
  • Método sencillo para hacer la bibliografía, sin archivo bib (click aquí).
  • Cómo añadir una página web en la bibliografía (click aquí).
  • Cómo poner "y" en vez de "and" al trabajar en español (click aquí).
  • Cómo trabajar con apellidos con preposiciones (click aquí).
  • Cómo añadir una lista de artículos, fuera de la lista bibliográfica (click aquí). 
  • Cómo añadir al final de cada capítulo, la bibliografía usada en dicho capítulo (click aquí). 
  • Cómo añadir en la bibliografía, la página donde es citada cada referencia (click aquí). 
  • Bibliografía en una presentación (click aquí).

Imágenes:
  • Ideas generales para trabajar con figuras (click aquí).
  • Cómo editar un texto dentro de una imagen (click aquí).
  • Cómo definir el texto de cada figura en la lista de figuras (click aquí).
  • Cómo definir el título de la lista de figuras (click aquí).
  • Cómo poner "Figura 1.1" en la lista de figuras (click aquí).  
  • Cómo editar el nombre de las figuras (click aquí).
  • Cómo quitar el número de las figuras (click aquí).
  • Cómo evitar los espacios en blanco entre párrafos e imágenes (click aquí).
  • Cómo añadir una imagen en los encabezados de página (click aquí). 
  • Cómo añadir imágenes en una tabla (2 entradas distintas) (click aquí) (click aquí).

Ecuaciones:

Tablas:

Formato:
  • Principales funciones para editar el formato (negrita, tamaño...) (click aquí).
  • Cómo editar el color de una palabra (click aquí).
  • Cómo justificar correctamente las líneas (click aquí).
  • Cómo editar el interlineado (click aquí). 
  • Cómo poner una página en horizontal (click aquí).
  • Cómo editar el tamaño de los márgenes (dos entradas distintas) (click aquí) (click aquí).

Encabezados y pies de página:
  • Ideas generales para hacer los encabezados y pies de página (click aquí).
  • Cómo quitar los encabezados y pies de páginas de las páginas en blanco (click aquí).
  • Cómo poner los encabezados en minúsculas (click aquí)
  • Cómo evitar encabezados muy largos (click aquí).
  • Cómo añadir una imagen en los encabezados (click aquí).
  • Cómo quitar el número de página (click aquí).
  • Cómo añadir notas al pie de página (click aquí).

Símbolos:

Listas y enumeraciones:
  • Ideas generales para trabajar con listas y enumeraciones (click aquí).
  • Cómo continuar la numeración entre dos listas (click aquí).
  • Cómo editar el espacio entre los elementos de una lista (click aquí).

Índices:
  • Cómo añadir la palabra "Página" en el índice de contenidos (click aquí).
  • Cómo definir el texto de cada tabla y figura en las listas de tablas y figuras (click aquí).
  • Cómo definir el título de las listas de tablas y figuras (click aquí).
  • Cómo hacer un índice de palabras (click aquí).
  • Cómo hacer un índice de símbolos (click aquí).

Presentaciones:

Otras cosas:
  • mo añadir notas al pie de página y al final del documento (click aquí).
  • Cómo hacer comentarios en nuestro archivo de LaTeX (click aquí).
  • Cómo añadir líneas horizontales (click aquí).
  • Cómo editar el color de una palabra (click aquí).
  • Cómo alternar entre varios idiomas (click aquí).
  • Cómo evitar los grandes espacios en blanco entre figuras, tablas y párrafos (click aquí).
  • Cómo crear un contador (click aquí).
  • Cómo añadir el número total de páginas (click aquí).
  • Cómo editar el número con el que se comienzan a numerar las páginas (click aquí).
  • Cómo crear nuestras propias funciones (click aquí).
  • Cómo añadir código (click aquí) y pseudocódigo de programación (click aquí). 
  • Cómo evitar cortar una palabra de un título (click aquí).
  • Cómo evitar que dos palabras se separen por un salto de línea (click aquí).
  • Cómo separar los millares (click aquí).
  • Cómo trabajar con hyperlinks (click aquí).
  • Cómo añadir un hyperlinks de ida vuelta, entre las citas y el texto (click aquí).
  • Cómo editar la numeración de las secciones (click aquí). 

sábado, 9 de abril de 2016

Cómo poner Figura 1 / Tabla 1 en la lista de figuras y tablas

En los índices de figuras y tablas, estas se indican exclusivamente con el número correspondiente (1.1, 1.2...) omitiéndose las palabras "Figura" y "Tabla" delante.


Pero podemos añadirlas muy fácilmente, utilizando el paquete {tocloft}, y editando las variables "\cftfigfont" y "\cfttabfont", de la siguiente forma:

\usepackage{tocloft}

\renewcommand{\cftfigfont}{Figura }
\renewcommand{\cfttabfont}{Tabla }

domingo, 13 de marzo de 2016

Cómo quitar la numeración de figuras, tablas y ecuaciones

Para quitar la numeración de tablas y figuras, conozco un método muy sencillo. Basta cargar el paquete {caption} y editar las leyendas de las tablas y figuras, de la forma siguiente:

\usepackage{caption}

\captionsetup[table]{labelformat=empty}
\captionsetup[figure]{labelformat=empty}


Para quitar la numeración de las ecuaciones, conozco un método que funciona pero que no es elegante. El paquete {amsmath} contiene la instrucción "\notag". Si escribimos esta instrucción al inicio de cada ecuación, no se numerará. (¿Conoces un método mejor?)
 
\usepackage{amsmath}

\begin{equation}
\notag e^{i\tau} = 1
\end{equation}

martes, 3 de noviembre de 2015

Cómo añadir la página donde se cita cada referencia

En esta entrada explicaré cómo se puede hacer para que, en la bibliografía, junto a cada referencia, se diga el número de página donde ha sido citada en el documento. En primer lugar, depende de si usas o no, el paquete {hyperref}. Porque se hace distinto. Empecemos primero sin usarlo.

  • Si no usas el paquete {hyperref}
En este caso, podemos usar el paquete {backref} (con la opción ([pageref]), y ya nos aparecería el número de página.

\usepackage[pageref]{backref}


Y como ves, al final de cada cita, añade "pages" y los número de página donde aparece dicha referencia. Si estamos escribiendo en español, podemos añadir la opción [spanish], para que en vez de "pages", diga "páginas".

\usepackage[pageref,spanish]{backref}


En vez de "pages" (o "páginas"), podemos poner una pequeña frase. Por ejemplo, "Citado en páginas". Para eso, bastaría con editar la variable "\backrefpagesname", que es donde definido "pages".

\usepackage[pageref]{backref}

\renewcommand{\backrefpagesname}{Citado en páginas}


Está bien... pero no me llega a gustar del todo. Lo que realmente me gustaría es que, si una referencia es citada en una única página, que diga "página", y que si es citada en varias veces, que diga "páginas". Esto se puede hacer con el siguiente código, donde además, he añadido unos paréntesis para que cierren :

\usepackage[pageref,spanish]{backref}

\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{
    \ifcase #1 (No citado.)
          \or (Citado en página~#2.)
          \else (Citado en páginas #2.)
    \fi%
}

Y este sí que es un resultado que ya me gusta.

Unos últimos comentarios sobre este código: 1) Si escribes en español, sigue siendo importante la opción [spanish], para que añada "y" en vez de "and". 2) La frase "(No citado.)" se utiliza cuando una referencia no aparece en el documento. Cosa que nos pasaría si la hubiéramos añadido con \nocite{}. 3) El símbolo ~ se utiliza para que no separe en dos líneas distintas dos palabras. En este caso "página" y el número.



  • Si usas el paquete {hyperref}
Con este paquete, se crean links dentro del pdf final. Desde el índice de contenidos a las diferentes secciones. Y también desde cada referencia a la lista bibliográfica. Tienes más información sobre este paquete en esta otra entrada (click aquí).

Por lo que en este caso, resulta muy recomendable añadir otro link en cada referencia, para que nos lleve a la página donde fue mencionada. De hecho, este paquete ya incorpoera esta posibilidad, que se activa con la opción [backref=page]

\usepackage[backref=page]{hyperref}


El paquete {hyperref} no añade ninguna palabra extra. Por lo que no hay que preocuparse del idioma que estemos usando. Pero si queremos, también podemos añadir una pequeña frase, de manera parecida al caso anterior.

\usepackage[backref=page]{hyperref}

\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{
    \ifcase #1 (No citado.)
          \or (Citado en página~#2.)
          \else (Citado en páginas #2.)
    \fi%
}
\renewcommand*{\backrefsep}{, }
\renewcommand*{\backreftwosep}{ y~}
\renewcommand*{\backreflastsep}{ y~}


Las tres últimas líneas definen la separación, cuando hay varias páginas. Si estamos escribiendo en español, son importantes para que ponga "y" en vez de "and".

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

sábado, 3 de octubre de 2015

Cómo poner en horizontal una única página

Si queremos poner en horizontal una única página de nuestro documento, podemos usar el paquete {lscape}. A continuación, bastaría con encerrar entre \begin{landscape} y \end{landscape} la parte del documento que queremos ver en horizontal. Así de sencillito.
 
\usepackage{lscape}

\begin{landscape}

\end{landscape}

martes, 10 de febrero de 2015

Cómo editar el interlineado de nuestro documento

En esta entrada mostraré algunas formas para editar el interlineado de nuestro texto. En primer lugar, podemos cambiar el espaciado de todo el documento, escribiendo (antes de \begin{document}), lo siguiente:

\renewcommand{\baselinestretch}{2}

Entre llaves indicamos  el nuevo interlineado. En este caso, 2 significa doble espacio.

Este método cambia el espaciado en todo el documento. Es decir, en el texto, pero también en los títulos, en las notas de pie de página, etc.



Existe un método mejor. Y es usando el paquete {setspace}. Este paquete añade las funciones "\doublespacing", "\onehalfspacing" y "\singlespacing", que fijan el interlineado a doble, uno y medio, y uno, respectivamente. También tiene la función general "\spacing{}", con el que podemos poner el interlineado que queramos.

\usepackage{setspace}

\doublespacing
\onehalfspace
\singlespace
\spacing{1.5}

Todas estas funciones operan desde el punto donde están incluidas, hacia delante. Hasta que se encuentren con otra función. Si no queremos cambiar el interlineado de los títulos de los capítulos, al final de cada capítulo, deberíamos añadir "\singlespacing"

\usepackage{setspace}  

\chapter{Introducción}
\doublespacing
Bla bla bla...
\singlespacing
\chapter{Introducción}
\doublespacing

Bla bla bla...
\singlespacing 


Este método, no cambia el espaciado de las notas al pie de página. A no ser que lo hubiéramos indicado también dentro de la nota. Es decir:

\footnote{\spacing{2} Bla bla bla}

miércoles, 5 de noviembre de 2014

Cómo justificar correctamente las líneas

Por defecto, LaTeX se encarga de cortar las palabras en sílabas, de manera que las líneas queden justificadas. Casi siempre lo hace bien, pero hay veces que falla. Sobre todo cuando hay una palabra que no conoce, por ejemplo, un nombre propio. Por ejemplo:


Esta situación, se puede solucionar, indicándole a LaTeX cómo tiene que separar las sílabas de las palabras nuevas. En este caso:

aaaaaaaah gritó Ya\-rosh\-chuk.


Aun así, esto no siempre funciona a la perfección. Fíjate que en el caso anterior, las líneas siguen sin estar perfectamente alineadas. Para ello, podemos añadir la función "\sloppy". Con esta función, indicamos a LaTeX que debe esforzarse en justicar las líneas, y que para ello, puede aumentar el espacio en blanco entre palabras.

\sloppy
aaaaaaaah gritó Ya\-rosh\-chuk. 


También existe la función "\fussy", donde indicamos a LaTeX que se esfuerce más en mantener constante el espacio en blanco entre palabras. LaTeX trabaja con esta opción por defecto, por lo que no hay que añadirla. Tanto "\sloppy" como "\fussy", funcionan desde el punto donde están, hacia adelante.

martes, 4 de noviembre de 2014

Cómo editar la numeración de las secciones

Por defecto, cuando LaTeX numera las secciones, lo hace siguiendo el siguiente patrón:

Capítulo 1.
    Sección 1.1
    Sección 1.2
Capítulo 2.
    Sección 2.1
    Sección 2.2

En esta entrada, mostraré un método sencillito para seguir este otro patrón:

Capítulo 1.
    Sección 1
    Sección 2
Capítulo 2.
    Sección 3
    Sección 4

En primer lugar, quito la numeración de las secciones con \setcounter{secnumdepth}{0}. Y a continuación, fijo la numeración correspondiente con un contador. Con \newcounter{ns} creo el contador ns (inicialmente, toma el valor de 0). Mientras que con \addtocounter{ns}{1}, le voy añadiendo 1, en cada sección.

\documentclass[a4paper,12pt]{book}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}

\setcounter{secnumdepth}{0}
\setcounter{tocdepth}{1}

\newcounter{ns}
\addtocounter{ns}{1}

\begin{document}

\tableofcontents

\chapter{Magia}

\section{\arabic{ns} Blanca}
\addtocounter{ns}{1}

\section{\arabic{ns} Negra}
\addtocounter{ns}{1}

\chapter{Encantamientos}

\section{\arabic{ns} Peligrosos}
\addtocounter{ns}{1}

\section{\arabic{ns} Arcanos}
\addtocounter{ns}{1}

\end{document}



Por otro lado, si lo que quieres, es algo así:

Capítulo 1.
    Sección 1
    Sección 2
Capítulo 2.
    Sección 1
    Sección 2

Basta con que añadas "\setcounter{ns}{1}", después de cada capítulo. Con esa instrucción, se fija el valor del contador ns, igual a 1.

martes, 28 de octubre de 2014

Cómo girar 90 grados una sola celda en una tabla en LaTeX

Una de las asignaturas pendientes de LaTeX son las tablas. Hay que reconocer que, por ejemplo con Word, es inmensamente más fácil girar un texto de una celda, alinearlo, centrarlo vertical y horizontalmente, etc. ¿Cuál es mi consejo entonces? Bueno, cuando trabajo con LaTeX siempre trato de hacer las tablas lo más sencillitas posibles.

En esta entrada explicaré un poco cómo se puede girar verticalmente un texto. Las tablas se empiezan a complicar un poco, así que, es algo que recomendaría hacer solo en casos sencillos, como los siguientes.

En primer lugar, parto del siguiente ejemplo. Es una tabla normal, excepto quizás, en que en la primera columna fusiono las primeras 5 filas, y luego las 2 siguientes. Para lo que necesito el paquete {multirow}. Ahora, la idea sería girar 90º, las palabras Cretácico y Jurásico.

\usepackage{multirow}

\begin{table}[htb]
\centering
\begin{tabular}{|l|l|}
\hline
\multirow{5}{2cm}{Cretácico} & Tiranosaurio\\ \cline{2-2}
& Triceratops \\ \cline{2-2}
& Velociraptor \\ \cline{2-2}
& Anquilosaurio \\ \cline{2-2}
& Hadrosaurio \\ \hline
\multirow{2}{2cm}{Jurásico} & Alosaurio\\ \cline{2-2}
& Estegosaurio \\ \hline
\end{tabular}
\caption{Dinosaurios.}
\label{ta:dino}
\end{table}


Esto se puede hacer con el paquete {rotating}, que entre otras funciones, tiene la funcion "\rotatebox{xx}{yyy}", que nos gira la palabra yyy, el ángulo xx en grados (cuyo valor puede ser positivo o negativo). El resultado lo muestro a continuación. Por cierto, fíjate que ahora, la primera columna va a ser más estrechita. Y en vez de los 2cm de antes, pongo solo 0.5 cm.

\usepackage{multirow}
\usepackage{rotating}

\begin{table}[htb]
\centering
\begin{tabular}{|l|l|}
\hline
\multirow{5}{0.5cm}{\rotatebox{90}{Cretácico}} & Tiranosaurio\\ \cline{2-2}
& Triceratops \\ \cline{2-2}
& Velociraptor \\ \cline{2-2}
& Anquilosaurio \\ \cline{2-2}
& Hadrosaurio \\ \hline
\multirow{2}{0.5cm}{\rotatebox{90}{Jurásico}} & Alosaurio\\ \cline{2-2}
& Estegosaurio \\ \hline
\end{tabular}
\caption{Dinosaurios.}
\label{ta:dino}
\end{table}


Crétacico ha quedado bien, pero Jurásico es demasiado largo. Aquí empiezan los problemas que mencionaba con LaTeX... Bueno, esto se puede solucionar, por ejemplo, añadiendo un cierto espacio extra en las dos últimas filas. Esto se puede hacer añadiendo justo después del salto de línea, [ZZex] donde ZZ corresponde al espacio añadido, como se ve a continuación:

\usepackage{multirow}
\usepackage{rotating}

\begin{table}[htb]
\centering
\begin{tabular}{|l|l|}
\hline
\multirow{5}{0.5cm}{\rotatebox{90}{Cretácico}} & Tiranosaurio\\ \cline{2-2}
& Triceratops \\ \cline{2-2}
& Velociraptor \\ \cline{2-2}
& Anquilosaurio \\ \cline{2-2}
& Hadrosaurio \\ \hline
\multirow{2}{0.5cm}{\rotatebox{90}{Jurásico }} & Alosaurio\\[1.8ex] \cline{2-2}
& Estegosaurio \\[1.8ex] \hline
\end{tabular}
\caption{Dinosaurios.}
\label{ta:dino}
\end{table}


Un último pequeño problema es que ahora las palabras Alosaurio y Estegosaurio quedan muy arriba de sus respectivas celdas. Quedaría más bonito si estuvieran centradas verticalmente. Para solucionarlo, he añadido 2 filas extra (ahora con Jurásico fusiono 4 columnas, no solo 2), y añado al final de cada salto de línea los espacios extra con [ZZex]

\usepackage{multirow}
\usepackage{rotating}

\begin{table}[htb]
\centering
\begin{tabular}{|l|l|}
\hline
\multirow{5}{0.5cm}{\rotatebox{90}{Cretácico}} & Tiranosaurio\\ \cline{2-2}
& Triceratops \\ \cline{2-2}
& Velociraptor \\ \cline{2-2}
& Anquilosaurio \\ \cline{2-2}
& Hadrosaurio \\ \hline
\multirow{4}{0.5cm}{\rotatebox{90}{Jurásico }} & \\[-1ex]
& Alosaurio\\[0.9ex] \cline{2-2}
& \\[-1ex]
& Estegosaurio \\[0.9ex] \hline
\end{tabular}
\caption{Dinosaurios.}
\label{ta:dino}
\end{table}