Tamaños, formas 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 grupoUna 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
fuenteHe 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é..
Si utilizamos este sistema es preferible que usemos una fuente vectorial, así estará disponible en cualquier tamaño. Por ejemplo, con Computer Modern es probable que nos salga un aviso de este estilo:Para una explicación mejor sobre los tipos de fuente podéis echarle un ojo al artículo de la Wikipedia
LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <20> not available
(Font) size <20.74> 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 comandosLos comandos del párrafo anterior también realizan esta misma función aunque no son exactamente iguales. Afectan al grupo o entorno actual.:
-
\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
What are the available “documentclass” types and their uses? en StackExchange
What commands are there for horizontal spacing? en TexExchange
Font sizes, families, and styles
Font selection in LaTeX: The most frequently asked questions (pdf)
LaTeX/Page Layout en WikiBooks
Anterior: A vueltas con el idioma, Siguiente: La página [Contenido]