Curso no convencional de LaTeX: el espacio en blanco

Seguimos investigando el formato en LaTeX. ¡Hoy moveremos las cosas por la página!


Como hemos visto en anteriores entregas, LaTeX gestiona el espacio en blanco él solito. Esto tiene varias implicaciones:

  • Le da igual que pongamos un espacio o sesenta y cuatro entre dos palabras, para él serán un único espacio.

  • Partirá las líneas donde mejor le venga a no ser que nosotros le obliguemos a hacerlo en un sitio determinado, dónde hayamos saltado de línea en el editor le da absolutamente igual. Lo mismo puede decirse de las páginas.

  • Dos trozos de texto que no estén separados por una línea en blanco pertenecerán al mismo párrafo a no ser que le digamos expresamente que no es así.

  • No pintará una línea en blanco a no ser que le digamos expresamente que lo haga por muchas líneas en blanco que tengamos en el editor.

Así visto parece que es malvado y que le gusta fastidiarnos, pero que él tome las decisiones de formato tiene la grandísima ventaja de que obtenemos un documento con pinta profesional con muy poco esfuerzo.

En cualquier caso, como nos gusta cacharrear, vamos a ver cómo menear alegremente las cosas por el documento en contra de la lógica interna de LaTeX. Aunque en general es mejor y más práctico dejar que LaTeX haga lo que le dé la real gana. Avisados estáis.

Espacio horizontal

Hay muchas maneras de generar espacio en blanco en LaTeX, demasiadas para mí. Os voy a hablar de las que yo uso, si queréis convertiros en expertos en el espacio horizontal tenéis las referencias.

Primero tenemos los dos comandos que ya vimos en el capítulo de ecuaciones:

  • \, crea un espacio estrecho (\thinspace). Se usa cuando queremos separar ligeramente dos glifos porque interfieren entre sí.

  • ~ crea un espacio duro, es decir, un espacio que no se puede partir. Es especialmente útil para las iniciales o casos como Ejemplo 1 donde no queremos que el uno vaya a otra línea1.

Hay muchos más comandos de este tipo cada uno con sus reglas de uso pero no sé cómo de útil es saberse una pila de ellos sin entender de tipografía. Solo voy a citar la pareja \quad y \qquad que equivalen respectivamente a 1 em2 y a 2 em porque aparecen a menudo por ahí.

Por otra parte tenemos un comando que nos permite introducir un espacio blanco del tamaño que nosotros queramos:

\hspace{LONGITUD} 

Esta longitud puede estar definida en cualquiera de las medidas que LaTeX entiende: puntos (pt), pulgadas (in), centímetros (cm), milímetros (mm), em, ex3 o picas (pc).

Una cosa a tener en cuenta es que LaTeX ignorará el \hspace{} si viene justo después de un salto de línea ya que para él las líneas no pueden empezar con espacio en blanco. Nos ocurre exactamente lo mismo al final de las líneas. Podemos obligarle a que ponga siempre el espacio con la versión con asterisco \hspace*{}:

% Diferencia entre \hspace y \hspace* 
\hspace{1em}Línea alineada

\hspace*{1em}Línea movida 1 em hacia dentro 

Un comando similar a \hspace{} es \phantom{}, que nos genera un espacio en blanco igual de ancho que su argumento:

% Hueco del tamaño de abc 
\phantom{abc} 

Finalmente tenemos \hfill, el espacio de goma. Este comando crea todo el espacio que puede dentro de una línea y sirve para situar cosas espaciadas pero con un cierto orden en la línea:

Texto a la izquierda \hfill Texto a la derecha 

Todos estos comandos de espacio nos vienen bien a la hora de diseñar una portada para nuestro documento o para crear encabezados y pies de página personalizados.

Espacio vertical

El espacio vertical se gestiona de manera muy similar al horizontal con los comandos \vspace{} y \vfill. El primero nos permite crear espacio vertical del tamaño deseado. Tiene una versión con asterisco para que LaTeX no ignore el espacio vertical tras un salto de página, es decir, al inicio de la página.

El segundo, \vfill, nos crea espacio de goma vertical y es especialmente útil cuando queremos alinear texto verticalmente:

\vfill Texto centrado verticalmente \vfill 

Párrafos y saltos de línea

Hemos dicho que para LaTeX un párrafo no acaba hasta que haya una línea en blanco o alguna indicación extra. Esta indicación es el comando \par, que apenas se usa a la hora de escribir ya que empeora la legibilidad y se suele reservar para definir entornos.

Tenemos que tener en cuenta que solo si estamos usando el paquete parskip pintará una línea entre los párrafos, si no, por mucho que en nuestro editor los párrafos estén separados por una o siete líneas en blanco veremos dos párrafos juntos con el segundo de ellos sangrado.

Para provocar saltos de línea tenemos (entre otros menos usados) dos comandos \\ y \newline, ambos comienzan una nueva línea pero no un nuevo párrafo4. El primero es preferible dejarlo para alinear, ya que LaTeX lo redefine según el entorno, por ejemplo en las tablas, para organizar ecuaciones con align o tras un centering. El segundo solo puede usarse en el texto normal y a ser posible sin abusar.

Saltos de página

Lo último que nos queda son los saltos de página. En general uno de puede despreocupar porque LaTeX tiene la habilidad de situar las cosas más o menos correctamente en la página. En mi opinión saber saltar de página es necesario en tres contextos:

  1. Queremos una página en blanco al inicio del documento para poner una dedicatoria, un resumen, los agradecimientos o algo similar.

  2. Nos ha empezado una sección muy abajo en la página y no nos gusta cómo queda.

  3. Nos ha almacenado todas las imágenes en una página, la opción H de las figuras nos está haciendo cosas raras y tenemos prisa. Meter unos saltos de página por ahí nos puede solucionar la papeleta momentáneamente.

Vamos a ver las opciones que tenemos:

  • \newpage provoca un salto de página dejando los párrafos que quedan tal cual, es decir, con espacio en la parte inferior como si se acabase el capítulo.

  • \pagebreak provoca un salto de página y esparce los párrafos en la página para no dejar hueco blanco.

  • \clearpage y \cleardoublepage provocan un salto de página y hacen que se pinten todos las figuras y tablas definidas hasta ese punto. La diferencia entre ellos es que, como su nombre indica, \clearpage salta una página y \cleardoublepage salta dos caras. Si estamos en un documento con diferentes estilos para la página derecha y la izquierda \cleardoublepage saltará las páginas necesarias para que la siguiente sea impar.

Una vez que hemos identificado los casos posibles y conocemos las diferentes opciones vamos a combinar las dos cosas para obtener unas reglas:

  • Para organizar secciones o figuras podemos elegir entre \newpage, \pagebreak y \clearpage dependiendo del resultado que queramos conseguir, si es a la mitad de un capítulo igual nos conviene más \pagebreak pero todo es probar.

  • Para las dedicatorias, resúmenes y tal de los libros la opción ganadora es \cleardoublepage ya que nos los va a poner siempre a la derecha como es lo habitual.

El resumen

Os resumo lo que hemos aprendido en este capítulo incluyendo unas buenas prácticas:

  • Espacio horizontal: poner un espacio en blanco o varios entre dos palabras nos da exactamente el mismo resultado. Hay muchos comandos para crear espacio horizontal de mayor o menor tamaño, algunos para el texto, otros para las ecuaciones y algunos de ellos para ambas cosas. Si queremos crear un espacio a nuestro gusto tenemos \hspace{} y \hspace*{}, comandos que generan un espacio horizontal del tamaño que les pidamos, siendo el del asterisco imposible de ignorar. Si queremos un espacio que se ajuste solo tenemos \hfill que es de goma.

  • Espacio vertical: LaTeX no nos va a crear espacio blanco vertical a menos que se lo digamos. Para ello tenemos los comandos \vspace{} y su versión con asterisco que fabrican espacio vertical del tamaño que les pidamos. Para situar elementos espaciados con cierto equilibrio en la página tenemos el espacio de goma \vfill.

  • Párrafos y saltos de línea: lo más práctico es separar los párrafos con una línea en blanco y solo usar los saltos de línea en casos especiales, para ello tenemos \newline para usar en el texto normal y \\ en los entornos especiales.

  • Saltos de página: para saltar de página tenemos \newpage, \pagebreak, \clearpage y \cleardoublepage. Los tres primeros saltan a la siguiente página pero difieren en como tratan el texto y los objetos flotantes como las tablas y las figuras. El último salta dos caras y es útil para definir la página de dedicatoria o similares de un libro.

Referencias

Line breaks and blank spaces

What commands are there for horizontal spacing? en TexExchange

Whitespace character en la Wikipedia

When to use \par and when \, or blank lines en TexExchange

LaTeX Line and Page Breaking

\pagebreak vs \newpage en TexExchange


¿Qué mejor para acompañar un texto sobre el espacio en blanco que el disco blanco?


  1. ¿Recordáis el comando \refeq? Lo definimos usando un espacio duro por este mismo motivo: \newcommand{\refeq}[1]{Ecuación~\ref{#1}} 
  2. Un espacio de la anchura de una letra m en la fuente actual 
  3. Un espacio de la altura de una letra x en la fuente actual 
  4. Probad a saltar de línea sin usar el paquete parskip ¿la línea tras el salto está indentada? 
Anuncios

2 pensamientos en “Curso no convencional de LaTeX: el espacio en blanco

  1. Pingback: En qué ando: segunda quincena de marzo | Onda Hostil

  2. Pingback: Lo que he aprendido: portadas para LaTeX | 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