Curso no convencional de LaTeX: formas, tamaños y colores

Con este título tan críptico quería hacer referencia al formato del texto. Hasta ahora hemos escrito cosas pero nos hemos conformado con el que nos aparece por defecto, hoy vamos a aprender a cambiar el tamaño y estilo de la letra y a escribir en diferentes colores. Pero para ello antes de nada tenemos que entender qué es una clase y cómo afecta a nuestro documento.

Clases

Lo primero que tenemos que saber es que el formato de nuestro documento está definido por su clase. Ahí pondrá cómo de grande tienen que ser los títulos, cuánto espacio tiene que haber entre los ítems de una lista o el tamaño de los márgenes. Estas clases pueden ser las típicas article o book, unas que vivan en un paquete como las clases Tufte o incluso unas que hayamos escrito nosotros mismos. Son simplemente un archivo cls lleno de definiciones.

La clase del documento la establecemos en la definición inicial:

% Usar la clase memoir
\documentclass{memoir}

Ahora que sabemos que el estilo de nuestro documento lo decide la clase, vamos a ver cómo cambiar alguna cosa puntual en el documento. Digo puntual porque si queremos, por ejemplo, que todos los títulos de sección sean en cursiva es preferible que redefinamos la orden en cuestión. Ya haremos eso en el futuro, no os preocupéis.

Formato de texto

Empecemos modificando el texto. Vamos a cambiar su tamaño, le aplicaremos diferentes estilos y, por último, haremos una pequeña introducción al color en LaTeX.

Tamaño

La manera en la que LaTeX trata el tamaño de letra es bastante original: coge como referencia el tamaño de la letra del cuerpo del documento y define los demás tamaños de manera relativa respecto a este. Así, si cambiamos el tamaño de letra del cuerpo todo lo demás cambia en consonancia.

Recordemos que el tamaño de letra del cuerpo lo podemos establecer como argumento opcional en \documentclass:

\documentclass[11pt]{article}

Si no ponemos nada, usará 10pt por defecto.

En esta tabla del libro sobre LaTeX en Wikibooks están los comandos para agrandar y reducir la letra y su respectivos tamaños de letra según el tipo de documento que estemos creando. Tanto article como book son parte de las clases estándar.

Para usar cualquiera de estos comandos hay dos opciones, usarlos dentro de una línea o como entorno. Si los usamos en la propia línea, harán efecto hasta el final del grupo (una zona delimitada entre llaves) o entorno actual. Si la zona de aplicación no está delimitada, el tamaño de letra se mantendrá hasta encontrarse con otro comando de tamaño o hasta el final del documento. Veamos un ejemplo para entenderlo mejor:

Texto normal {\Huge Texto gigantesco}

\normalsize Texto normal hasta nueva orden

\section{\Huge Título de sección enorme}

Texto normal

\begin{quote}
  \Large Letra grande solo para la cita
\end{quote}

Texto normal de nuevo

\small Texto pequeño hasta el final del documento

Si el trozo de texto que queremos personalizar es muy largo, tal vez merezca la pena usar el entorno para ganar en legibilidad:

\begin{tiny}
    Miniletrilla 
\end{tiny}

También podemos establecer otros tamaños de letra como haríamos en los editores de toda la vida. Para ello utilizamos el comando \fontsize:

\fontsize{tamaño}{baseline skip}\selectfont Texto

Podemos facilitar ambos argumentos en diferentes unidades, si no ponemos más que el número, LaTeX entenderá que estamos hablando de puntos. El segundo argumento es importante, ya que fija la distancia \baselineskip, es decir, la distancia entre las partes inferiores de dos líneas sucesivas. Suele ser 1.2 veces el tamaño de fuente1.

Si utilizamos este sistema es preferible que usemos una fuente vectorial, así estará disponible en cualquier tamaño2. Por ejemplo, con Computer Modern es probable que nos salga un aviso de este estilo:

LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size  not available
(Font)              size  substituted on input line 25.

Esto ocurre porque la fuente Computer Modern es del tipo bitmap, es decir, las letras están formadas por puntitos. Esto implica que hay versiones de la fuente para tamaños concretos, no para todos. En este caso, lo más fácil es pasarnos a Latin Modern (\usepackage{lmodern}) que es igualita y como es OpenType (y por lo tanto vectorial) no tiene este problema. Además es compatible con la codificación T1, algo que necesitamos si vamos a escribir acentos.

Forma

De momento en el tema de las formas vamos a ignorar el tipo de fuente y vamos a hablar de negritas, cursivas y esas cosas. Sobre el tipo de fuente hablaremos en el futuro, que da para rato.

Una cosa que aprendí yo hace poquito es que en LaTeX el estilo de cada letra pertenece a una familia, una serie y una forma:

  • La familia indica cómo es la fuente: con serifas o roman (\rmfamily), sin serifas (\sffamily) o monoespaciada (\ttfamily)
  • La serie hace referencia al grosor del trazo: fino (\lfseries), medio (\mdseries) o grueso (\bfseries)
  • La formas como su nombre indica describen la forma de las letras: recta (\upshape), cursiva (\itshape), oblicua (\slshape) o versalita (\scshape).

La letra por defecto tiene serifas, es de grueso medio y recta, es a lo LaTeX denomina \normalfont. Podemos hacer otras combinaciones siempre con un elemento de cada grupo. Saber esto es especialmente útil cuando estamos definiendo nuestro propio estilo.

Podemos activar diferentes familias, series y formas con diferentes comandos3:

  • \textbf{} pone el texto en negrita
  • \textit{} sirve para activar la cursiva
  • \texttt{} escribe en letra de máquina de escribir o monoespaciada
  • \textsc{} para las versalitas
  • \textnormal{} vuelve a \normalfont

Hay claramente un patrón, ¿verdad?

Podemos anidar estos comandos y escribir en letra monospaciada, cursiva y negrita simultáneamente si nos parece que es una buena idea. En cualquier caso, este es un tema complejo y esto no deja de ser una explicación un poco por encima, en las referencias podéis encontrar más información.

Como veis, no aparece la opción de subrayar porque es una muy mala decisión tipográfica que proviene de los tiempos en los que se escribía a máquina. Si aun así queréis subrayar porque sois tercos como mulas, lo que estáis buscando es el comando \underline{}. También tenéis el paquete ulem, que proporciona el comando \ul para subrayar y del que me niego a
hablar.

Una cosa interesante es el comando \emph{} que sirve para enfatizar. En general se comporta como la cursiva aunque con un par de pequeñas diferencias:

  • Depende del contexto, por ejemplo, si enfatizamos un trozo que estaba ya en cursiva se pone recto:
\textit{Texto en cursiva \emph{texto recto}}
\emph{Texto en cursiva \emph{texto recto}} 
  • Podemos modificarlo para enfatizar a nuestro gusto, ya sea en negrita, con colores o lo que sea. Es precisamente lo que hace el paquete ulem (underline emphasis)

Color

¡Por fin llegamos al color! Tenía ganas ya, es cansino todo en blanco y negro. Como suele ser habitual, para usar colores en LaTeX necesitamos un paquete: xcolor, la evolución del paquete color. Lo cargamos en el preámbulo con unas pocas opciones que nos facilitan la vida:

\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
  • usenames permite que llamemos a los 16 colores básicos por su nombre en lugar de por su definición
  • dvipsnames nos da acceso a otros 64 colores extra
  • svgnames añade otros 150 colores más
  • table nos deja usar colores en las tablas

Tenéis una explicación sobre los colores disponibles en el apartado 2.4 del manual de xcolor.

Para cambiar el color del texto podemos usar tanto \textcolor como \color:

\textcolor{red}{texto de color rojo}

{\color{magenta} texto en color rosa raro}

Al igual que ocurría con los comandos para cambiar el tamaño de letra, en este caso color afecta hasta el final del grupo.

También podemos definir nuestros propios colores con \definecolor dándoles un nombre o directamente cuando los vayamos a usar. Para ello necesitamos elegir un modelo de color (rgb, cmyk, HTML, …) y darle el valor correspondiente:

% RGB
\definecolor{azulito}{rgb}{0.36, 0.54, 0.66}

% HTML (en hexadecimal y mayúsculas)
\definecolor{otroColor}{HTML}{4070A0}

% Definir directamente al usarlo
{\color[HTML]{4070A0} texto en color}

Definir nuestros propios colores es especialmente útil cuando queremos combinar los colores del texto con alguno específico de una imagen o si las opciones dvipsnames y svgnames no nos funcionan por algún motivo. En la página LaTeX color hay montones de definiciones de colores para que empecemos a jugar.

El resumen

Vamos a hacer una recapitulación sobre lo que hemos visto hoy, que es largo y denso:

  • Tamaño: los tamaños en LaTeX son relativos y se cambian con comandos que van de \tiny para la letra más pequeña a \Huge para la más grande. También se puede establecer un tamaño de fuente concreto, pero con cuidado.

  • Forma: los estilos de las letras se dividen en familias, series y formas que pueden combinarse entre sí. A cada elemento le corresponde un comando que activa un formato específico. El texto por defecto tiene serifas, es de grueso medio y recto, se conoce como \normalfont.

  • Color: para usar colores en LaTeX necesitamos el paquete xcolor. Sus diferentes opciones nos dan acceso a un número de colores predefinidos pero también existe la posibilidad de definir unos nosotros con \definecolor{modelo}{definición}. Aplicamos al texto cualquiera de estos colores con \textcolor{color}{texto} o con \color{color}.

Referencias

Classes en The TeX catalogue

What are the available “documentclass” types and their uses? en StackExchange

Tufte-LaTeX en CTAN

LaTeX/Fonts en Wikibooks

Font sizes, families, and styles

Font selection in LaTeX: The most frequently asked questions (pdf)

LaTeX font commands

The fontspec package


Espero que os haya resultado interesante el tema del formato de texto en LaTeX. Mañana configuraremos los márgenes, el interlineado y la sangrías de la página. Todo ello iba a ser una única entrada pero se me estaba yendo de las manos totalmente.

Os dejo con mi inspiración para esta entrada:


  1. He de decir también que ponernos a cambiar estas cosas sin dominar es el camino directo al infierno del LaTeX en el que todo queda mal y arreglamos una cosa y se rompe otra y no sabemos por qué. 
  2. Para una explicación mejor sobre los tipos de fuente podéis echarle un ojo al artículo de la Wikipedia
  3. Los comandos del párrafo anterior también realizan esta misma función aunque no son exactamente iguales. Afectan al grupo o entorno actual. 
Anuncios

3 pensamientos en “Curso no convencional de LaTeX: formas, tamaños y colores

  1. victorhck

    el triple Sandinista! de Clash me lo compré en vinilo hace mucho. Y he de decir que no me gustó mucho.
    Ha sido después de escucharlo más y pasar más tiempo cuando empecé a “cogerle el tranquillo”

    Saludos

    PS: Sé que nada tiene que ver con esto, pero por si te sirve para tus clases de Emacs he conocido hace un tiempo el blog de esta hacker (en inglés)
    http://sachachua.com/blog/category/emacs/

    Responder
    1. Ondiz Autor de la entrada

      Es uno de mis discos preferidos, muy vanguardista él. Supongo que ser aficionada al jazz aparte de punki me ayuda a apreciar esto discos raros.

      PD. Conocía el blog, tiene dibujillos molones. Gracias por compartirlo!

      Responder
  2. Pingback: En qué ando: primera quincena de marzo | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s