Espacio en blanco
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ínea¿Recordáis el comando\refeq
? Lo definimos usando un espacio duro por este mismo motivo:\newcommand{\refeq}[1]{Ecuación~\ref{#1}}
.
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 emUn espacio de la anchura
de una letra m en la fuente actual 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, exUn espacio de la altura de una letra x en la fuente actual 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árrafoProbad a saltar de línea
sin usar el paquete parskip
¿la línea tras el salto está
indentada?. 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:
-
Queremos una página en blanco al inicio del documento para poner una dedicatoria, un resumen, los agradecimientos o algo similar.
-
Nos ha empezado una sección muy abajo en la página y no nos gusta cómo queda.
-
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
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
\pagebreak
vs \newpage
en TexExchange
Anterior: La página, Siguiente: Un documento científico [Contenido]