Dentro de un párrafo justificado, LaTeX optimiza dónde dividir las líneas automáticamente. Por lo general, eso es suficiente, pero a veces quieres decir: "romper aquí" o "no romper aquí". Esta página no trata sobre separar párrafos (consulte “Saltos de línea y párrafo” para eso). Es el conjunto de herramientas para ajustar dónde se rompen las líneas *dentro* de* un párrafo: forzar saltos, evitarlos, controlar la separación de palabras y vivir con las advertencias de exceso o falta de llenado.
Primero, una regla básica: separar párrafos (con una línea en blanco) es un asunto diferente del ajuste de saltos de línea que se trata aquí. Una línea en blanco inicia un nuevo párrafo, con su sangría y espaciado entre párrafos. En cambio, lo que sigue indica dónde la línea *termina* cae dentro de un solo párrafo. Si esa distinción le parece confusa, lea primero “Saltos de línea y párrafo”.
Forzar un salto de línea
Para forzar una pausa a mitad de párrafo hay dos familias de comandos. El primero es \\ y \newline. Ambos simplemente “terminan la línea aquí” sin salir del modo párrafo. Lo más importante es que se rompen en la longitud natural del texto sin estirarlo, por lo que la línea no llega al margen derecho y permanece corta. Esto se adapta a direcciones o versos, donde cada línea debe terminar exactamente donde usted pretende.
El segundo es \linebreak. Rompe *y* estira los espacios entre palabras para que la línea se justifique hacia el margen derecho. Entonces, a diferencia de \\, la línea nunca se deja corta; en cambio, el espacio entre palabras puede volverse espacioso. Su fuerza la establece \linebreak[n] (n un número entero de 0 a 4): 4 significa "forzar la ruptura" (el valor predeterminado sin argumento), mientras que 1 es un leve "otro lugar podría ser mejor, pero aquí es aceptable". En resumen, \linebreak es una *sugerencia* sobre dónde romper, y el estiramiento final de la línea se deja a la justificación de LaTeX.
El contraste es obvio una vez que lo compilas. Coloque \\ a mitad de la oración y la línea se cortará allí, dejando un espacio en blanco a la derecha a medida que avanza. Coloque \linebreak en el mismo lugar y la línea se extenderá hasta el borde derecho, abriendo espacios incómodos entre las palabras. El mnemotécnico: \\ para abreviar, \linebreak para justificar hasta el margen. Tenga en cuenta que \\ tiene extensiones: una longitud entre corchetes, como en \\[2ex], agrega espacio vertical después de esa línea, y \\* prohíbe un salto de página en ese punto (consulte “Saltos de línea y párrafo”).
% \\ は短く折る/\linebreak は右端まで引き伸ばす
第一の道は険しく\\
第二の道はなだらかだ。
非常に長い一文をここで\linebreak 区切ると、左側の語間が広がります。En el modo de párrafo \newline es igual a \\, pero dentro de una tabla (tabular) sus roles se dividen: en una celda que crea párrafos, como una columna p{...}, \newline se divide solo dentro de la celda, mientras que \\ divide toda la fila. Use \newline cuando desee una dirección en dos líneas dentro de una celda sin finalizar la fila. Y usar \\ donde no hay una línea al final (como justo al comienzo de un párrafo) genera el error There's no line here to end.
Evitar un salto de línea
Para la necesidad opuesta – “no romper aquí” – existe un conjunto de herramientas adecuado. La más útil es la tilde ~ (un “empate”): un espacio entre palabras que no se separa que se usa para mantener lo que está a ambos lados en la misma línea, como en Fig.~3, Dr.~Smith, Chapter~12 o equation~\ref{eq:1}. Un ~ es el ancho de un espacio entre palabras ordinario; la única diferencia es que allí no puede producirse ningún salto de línea. Debido a que todavía permite dividir las palabras adyacentes con guiones, es más suave que pegar una palabra completa con \mbox y suele ser la primera opción.
Para establecer la fuerza con la que resistes una rotura, utiliza \nolinebreak[n]. El espejo de \linebreak, con n de 0 a 4: 4 (el valor predeterminado) prohíbe completamente una ruptura allí, mientras que 1 es un leve "por favor, evite romper aquí". Cuando no se debe dividir una frase completa, \mbox{...} es útil: trata su contenido como un solo cuadro y no los divide entre líneas ni los divide con guiones (piense en evitar que T-34 se divida en T- y 34). \mbox es el equivalente de LaTeX al \hbox de TeX, y escribir \hbox{...} directamente se comporta de la misma manera. El nivel bajo \nobreak coloca una penalización infinita de "no romper aquí" en ese punto y subyace a comandos como ~.
Una advertencia: una palabra envuelta en \mbox puede nunca romperse, por lo que si no encaja sobresaldrá del margen derecho y se convertirá en un cuadro Sobrellenado. Por lo tanto, congelar cosas realmente frágiles (URL largas, nombres químicos) dentro de \mbox resulta contraproducente. Utilice ~ cuando solo desee proteger un espacio y \mbox solo para una frase corta que no debe dividir.
Controlar la separación de palabras
En texto occidental, LaTeX realiza automáticamente la separación de guiones, insertando un guión para dividir una palabra en líneas. Suele ser sensato, pero puede fallar en nombres propios o jerga que no está en su diccionario. Para una solución única, utilice \- (barra invertida, guión discrecional u opcional). Incorpora permiso dentro de una palabra – “puedes dividir aquí si es necesario” – por lo que escribir man\-u\-script, por ejemplo, permite que esa palabra se rompa solo en los puntos marcados.
Aquí se esconde una sutileza. Inserte incluso un \- en una palabra y LaTeX lo dividirá con guiones *solo* en los puntos que marcó, nunca en los demás en los que se habría encontrado. Por lo tanto, \- no significa "también puede romper aquí" sino "puede romper solo aquí.". Por lo tanto, debe deletrear cada punto de interrupción que desee. Tenga en cuenta que \- no *fuerza* una pausa; simplemente dice "si se rompe, debe ser uno de estos puntos".
Si la misma palabra se repite en todo el documento, registre las excepciones una vez en el preámbulo sin saturar el cuerpo. Enumere palabras con sus puntos de interrupción marcados con guiones en \hyphenation{...}. Esta es una configuración global que se aplica a todo el documento y se acumulan varias declaraciones. Dos advertencias: use letras minúsculas y TeX coincida exactamente; las formas flexionadas (plurales y similares) se tratan por separado. Donde \- es “justo aquí, justo ahora”, piense en \hyphenation como “una entrada de diccionario para todo el documento”.
% プリアンブルで分割例外を一括登録(小文字・分割点をハイフンで)
\hyphenation{man-u-script analy-sis FORTRAN}
% 本文では、その場かぎりの任意ハイフン
super\-cali\-fragi\-listicPor el contrario, para prohibir por completo la separación de una palabra en particular, envuélvala en \mbox{...}: el contenido de una caja nunca se rompe, por lo que no se inserta ningún guión. Sin embargo, como se señaló anteriormente, una palabra irrompible puede sobrepasar la línea y provocar un cuadro demasiado lleno. El texto japonés no tiene separación de palabras en este sentido, por lo que \- y \hyphenation son esencialmente herramientas para las partes en idioma occidental.
Advertencias sobrellenado / insuficiente \hbox
En el momento de la compilación, probablemente haya visto advertencias Overfull \hbox o Underfull \hbox. Un \hbox (cuadro horizontal) es una sola línea tipográfica. Demasiado lleno significa "la línea no encajaba y se pegaba más allá del margen derecho", mientras que Insuficientemente lleno significa "la línea está demasiado floja, con el espaciado entre palabras estirado". Knuth prefirió advertir en lugar de aceptar silenciosamente una composición tipográfica deficiente, dejándole la solución a usted. La opción de clase draft imprime una regla negra al lado de cada línea demasiado llena para que puedas detectarla.
¿Por qué LaTeX deja una línea sobresaliendo del margen? Porque cuando TeX no puede encontrar un conjunto “presentable” de cortes dentro del tramo permitido, muestra el desbordamiento como una advertencia en lugar de espaciar la línea grotescamente. El culpable habitual es una palabra larga, una URL o un nombre propio que no se rompe. Lo primero que debe probar son las correcciones locales de las secciones anteriores: proporcione puntos de ruptura a la palabra con \-, coloque un \linebreak cerca o desenrede un espacio con ~. A menudo eso lo soluciona.
Cuando las correcciones locales sean tediosas y acepte algo de flexibilidad para reducir las advertencias, cambie a las herramientas contundentes. La declaración \sloppy relaja en gran medida la tolerancia a la interrupción (configurando internamente \tolerance en 9999), aceptando espacios sueltos entre palabras a cambio de evitar cuadros demasiado llenos. El valor predeterminado es \fussy, que prioriza el espaciado uniforme al final costo de una caja ocasionalmente llena. Después de emitir \sloppy, regrese a \fussy al final del tramo que deseaba afectar.
Sin embargo, estas declaraciones tienen una peculiaridad. El salto de línea obedece a cualquier declaración que esté vigente cuando termina el párrafo, por lo que para que \sloppy afecte un párrafo determinado debes incluir la línea en blanco o \par que lo termina dentro del alcance de \sloppy. Para limitar el efecto a un solo párrafo, el entorno sloppypar es más seguro: solo el texto entre \begin{sloppypar} y \end{sloppypar} se establece como si estuviera bajo \sloppy, y el comportamiento normal se reanuda al salir.
Un enfoque más refinado es \emergencystretch — p.e. \setlength{\emergencystretch}{3em}: permite un estiramiento adicional solo como último recurso, recortando cajas demasiado llenas sin alterar el espaciado tan claramente como \sloppy. El paquete microtype, que sutilmente expande o contrae glifos para ajustarse al margen, también ayuda. La siguiente tabla resume la función de cada comando.
| Comando | Rol | ¿Estira la línea? |
|---|---|---|
\\ , \newline | Forzar un salto de línea (no un salto de párrafo) | No — quedó corto |
\linebreak[n] | Sugerir un descanso (n=4 lo obliga) | Sí: justifica al margen |
\nolinebreak[n] | Prohibir un descanso allí (n=4 completamente) | — |
~ | Espacio sin separación (empate); todavía permite la separación de palabras | — |
\mbox{...} | Envuelva el contenido en una caja; sin pausas, sin guiones | — |
\- | Guión discrecional; rompe la palabra solo aquí | — |
\hyphenation{...} | Excepciones de interrupción global en el preámbulo (minúscula, exacta) | — |
\sloppy / \fussy | Relajar la tolerancia / el valor predeterminado; localizar a través de sloppypar | \sloppy tiende a aflojar el espaciado |
Orden para corregir advertencias de salto de línea
Si silencia las advertencias Overfull o Underfull \hbox colocando \\ en la línea visible, a menudo otra línea se rompe más tarde. El orden es: primero revisar la redacción, luego agregar oportunidades de separación de palabras, luego usar sugerencias locales de no interrupción o de interrupción y, por último, relajar la tolerancia de los párrafos. TeX optimiza el salto de línea en todo el párrafo, por lo que forzar línea por línea debería ser el último paso.
- Palabras largas, URL y fórmulas: identifíquelas primero y vea si se pueden acortar de forma natural o dividirlas con un comando dedicado.
- Términos técnicos: agregue
\hyphenation{...}o\-para que la misma palabra no necesite reparación manual repetida. - Nombres, números y unidades: mantenga solo las divisiones ilegibles junto con
~o\nolinebreak. - Último recurso: localizar
sloppyparo\emergencystretch; no afloje el espacio entre palabras en todo el documento.