Espacios insertados automáticamente

Al configurar texto occidental, TeX coloca automáticamente un espacio ligeramente más amplio después del punto final de la oración que entre palabras comunes. Decide “¿este punto es el final de una frase o una abreviatura?” mirando el caso de la carta anterior, una suposición que a veces sale mal. Esta página cubre cómo funciona, los dos comandos que solucionan el problema cuando falla (\ y \@), y \frenchspacing, que desactiva por completo el espacio de oración más amplio.

El espacio extra al final de la oración

En la tradición tipográfica inglesa/americana, el espacio al final de una oración se establece un poco más ancho que el espacio entre palabras (informalmente llamado “doble espacio”). LaTeX sigue esto de forma predeterminada, agregando espacio adicional después de una oración que termina en ., ? o !. En Computer Modern de 10 puntos, por ejemplo, el espacio entre palabras es de aproximadamente 3,33 pt, mientras que al final de una oración TeX agrega aproximadamente otros 1,11 pt en la parte superior. El espacio de la oración también recibe más extensión y reducción, por lo que cuando se justifica una línea, se amplía antes que los espacios de palabras comunes.

Internamente, cada carácter lleva un “factor de espacio”. Después de un carácter normal es 1000, el valor normal entre palabras. Después de ., ? o ! salta a 3000, y la regla de TeX es: si el factor de espacio es 2000 o más, agregue el ancho adicional al siguiente espacio. Ese es el mecanismo detrás del espacio de oración más amplio. El espacio entre caracteres japoneses (CJK) se rige por un sistema completamente diferente, por lo que todo en esta página trata sobre texto occidental.

Cómo TeX adivina la oración frente a la abreviatura

Pero si cada . terminara una oración, los puntos en abreviaturas como Mr. Smith o etc. también obtendrían el espacio amplio. Entonces TeX adivina a partir del caso de la letra anterior. Si la letra justo antes del punto es minúscula, trata el punto como el final de una oración e inserta el espacio amplio; si es una letra mayúscula, asume una abreviatura o inicial y utiliza un espacio entre palabras ordinario.

Esa excepción de mayúsculas se implementa mediante el mismo factor de espacio. A las letras mayúsculas se les asigna un factor de espacio de 999 (no 1000), por lo que un período después de una mayúscula no puede elevar el factor a 3000 y no se agrega espacio adicional. La regla general “mayúscula + punto = abreviatura” funciona bien para la mayor parte de la prosa inglesa.

Al ser una heurística, sin embargo, falla en dos direcciones. Primero, un punto en minúscula y luego un punto que *no* es un final de oración aún obtiene el espacio amplio (Fig. 5, etc. and). En segundo lugar, una oración que realmente *termina* en mayúscula se confunde con una abreviatura y recibe muy poco espacio (...in the USA.). La siguiente sección muestra cómo solucionar cada uno.

Arreglando los fallos de encendido (\ y \@)

(1) Después de una abreviatura (minúscula + punto, pero no final de oración). Para eliminar el espacio adicional, coloque una barra invertida \ después del punto. Esto inserta un espacio entre palabras ordinario, explícito y que no se extiende: escribir Fig.\ 5 da exactamente un espacio entre palabras después de Fig.. Alternativamente, ~ hace que el espacio sea un espacio entre palabras normal *y* prohíbe un salto de línea allí (un espacio sin rupturas); es bueno para mantener una abreviatura al lado de su número o nombre, como en Mr.~Smith o Fig.~5.

(2) Una oración que termina en mayúscula. Debido a que se confunde con una abreviatura y tiene un espacio bajo, coloque \@ inmediatamente antes del punto para declarar “este es el final de una oración”. \@ actúa esencialmente como una letra minúscula invisible, restaurando el factor de espacio del siguiente período a 3000 y, por tanto, el espacio de oración adecuado. \@ incluye paréntesis y comillas de cierre, por lo que también funciona en formularios como (\dots etc.\@).

Un mnemotécnico: las posiciones son imágenes especulares. Para una abreviatura mayúscula sin fin, coloque \ *después* del punto; para una mayúscula que *termina* una oración, pon \@ *antes* de ella. La compilación del siguiente ejemplo establece el espaciado correctamente después de etc. y USA.

latex
We cite Fig.\ 5 and Mr.~Smith here.
Use etc.\ and so on, mid-sentence.
The rocket was built in the USA\@. It then flew.

Tenga en cuenta que todo esto solo importa bajo el predeterminado \nonfrenchspacing (espaciado amplio entre oraciones). Si cambia a \frenchspacing en la siguiente sección, los espacios de oración son iguales a los espacios de palabras y la mayor parte de esta manipulación se vuelve innecesaria.

Desactivando el espacio amplio (\frenchspacing)

\frenchspacing hace que el espacio después de toda la puntuación, incluidos los finales de oraciones, tenga un ancho uniforme único igual al espacio entre palabras. Una vez declarado, la prueba de caso y período ya no importa, y tanto Fig. 5 como USA. salen espaciados naturalmente. El comando que restaura el valor predeterminado es \nonfrenchspacing. Normalmente lo escribes una vez en el preámbulo para afectar a todo el documento, pero colocarlo dentro de un grupo { ... } lo limita a ese alcance.

latex
\documentclass{article}
\frenchspacing
\begin{document}
No extra space after this period. Or this one.
\end{document}

El nombre “francés” proviene de la convención (en Francia y generalmente fuera del mundo de habla inglesa) de no ampliar los espacios de las oraciones. Los documentos que son principalmente japoneses a veces también eligen \frenchspacing para evitar espacios desiguales entre oraciones en sus pasajes occidentales. En la práctica moderna, muchos autores simplemente establecen \frenchspacing desde el principio en lugar de parchear casos individuales con \@, y esa es una elección perfectamente razonable. Tenga en cuenta también que un paquete de idioma como babel puede ajustar el espacio entre oraciones automáticamente para adaptarse a las convenciones del idioma seleccionado.

ComandoQué hace
\nonfrenchspacingEl valor predeterminado; espacio más amplio después del final de una oraciónEl valor predeterminado; espacio más amplio después del final de una oración
\frenchspacingHace que cada espacio de puntuación sea igual al espacio entre palabrasHace que cada espacio de puntuación sea igual al espacio entre palabras
\ Un espacio entre palabras explícito; cancela el espacio ancho incorrecto después de una abreviatura (p. ej. Fig.\ 5)Un espacio entre palabras explícito; cancela el espacio ancho incorrecto después de una abreviatura
~Un espacio entre palabras sin separación; mantiene una abreviatura con su número o nombre (por ejemplo, Sr.~Smith)Un espacio entre palabras sin separación; mantiene una abreviatura con su número o nombre
\@Colocado antes de un punto; fuerza el espacio al final de la oración después de una mayúscula (por ejemplo, USA\@.)Colocado antes de un punto; fuerza el espacio al final de la oración después de una mayúscula

Establezca primero la política de espaciado de oraciones

El espaciado de las oraciones es uno de esos detalles que varían a medida que crece el capítulo. Decida al principio si usará \frenchspacing o mantendrá el tradicional espacio de oración más amplio en inglés, y luego use \ , ~ y \@ solo para excepciones. Si cambia la póliza tarde, deberá volver a leer las abreviaturas y los números de referencia uno por uno.

  • Para mantener la coherencia, coloque \frenchspacing en el preámbulo y elimine los espacios desiguales de los documentos japoneses que contienen prosa occidental.
  • Para la convención del papel en inglés, mantenga el valor predeterminado y corrija solo los casos de abreviaturas falsas como Fig.\ 5 y Mr.~Smith.
  • Para referencias inseparables, utilice ~. Fig.~5, Section~2 y Eq.~(3) se vuelven más difíciles de leer si se dividen en líneas.
  • Para oraciones que terminan en mayúsculas, escribe USA\@. Next para que TeX sepa que el punto termina una oración.