Reglas de sintaxis

Un archivo fuente LaTeX es texto corriente con comandos incrustados. Los comandos, los espacios y los comentarios siguen un conjunto pequeño de reglas que, una vez interiorizadas, evitan muchas sorpresas. ¿Por qué escribir \LaTeX is se come el espacio? ¿Por qué pulsar Enter dos veces inicia un párrafo nuevo? Esta página reúne esos mecanismos.

Texto frente a comandos

La mayor parte de un fuente es texto corriente: caracteres ordinarios que se componen tal como están. Escribe Hello y obtendrás Hello. En cambio, un comando es una instrucción al sistema de composición, como un salto de línea, un encabezado o un cambio de fuente, y siempre empieza con una barra invertida \ (que en algunas configuraciones japonesas puede verse como el signo yen ¥). \LaTeX significa el logotipo y \newpage un salto de página; ninguno se imprime como texto literal.

El nombre que sigue a la barra invertida se llama secuencia de control, y hay dos clases. Una palabra de control es \ seguida solo de letras (A–Z, a–z); un símbolo de control es \ seguido de un único carácter que no es letra. Así, \section, \LaTeX y \newpage son palabras de control, mientras que \$, \%, \& y \ (barra invertida-espacio) son símbolos de control. No solo difieren en cómo se delimita su nombre, sino también en cómo tratan el espacio siguiente (sección siguiente).

¿Por qué importa la distinción? El nombre de una palabra de control termina automáticamente en el primer carácter que no es letra, de modo que \LaTeXlogo se lee como un único comando (no definido) llamado \LaTeXlogo. Para detener el nombre en \LaTeX, debe seguirle algo que no sea letra: un espacio, un símbolo o {}. Un símbolo de control, al tener exactamente un carácter, no tiene ese problema: \$5 se lee limpiamente como el signo dólar seguido de 5.

Las palabras de control se comen el espacio siguiente

Esta es la trampa principal. Todo espacio en blanco inmediatamente después de una palabra de control (espacios, tabulaciones, saltos de línea) se descarta. Solo delimita el nombre y no produce ningún espacio en la salida. Por eso \LaTeX is great pierde el espacio entre \LaTeX e is, y obtienes “LaTeXis great”.

Hay tres arreglos estándar. (1) Llaves vacías: \LaTeX{} is; {} termina el nombre y el espacio ordinario permanece. (2) Espacio de control: \LaTeX\ is; \ (barra invertida seguida de un espacio) fuerza exactamente un espacio normal entre palabras. (3) Encerrar el comando entre llaves: {\LaTeX} is. Los tres dan “LaTeX is”. Si dudas, {} es la opción segura: funciona tanto si el carácter siguiente es un espacio como si es otro carácter no letra.

latex
% 制御語の直後の空白は消える / The space after a control word vanishes:
\LaTeX is great      % → LaTeXis great   (まちがい / wrong)

% 直し方 / The fixes — all give “LaTeX is great”:
\LaTeX{} is great
\LaTeX\ is great
{\LaTeX} is great

En cambio, un símbolo de control no se come el espacio siguiente: el blanco después de \$ permanece como espacio normal entre palabras. El espacio de control \ también se usa después de un punto que marca una abreviatura, como en Prof.\ Smith o et al.\ (1993). Como LaTeX añade por defecto algo más de espacio después de un punto final de oración, \ le dice “esto no es el final de una oración” y mantiene uniforme el espacio entre palabras.

Argumentos y agrupación con llaves

Muchos comandos toman argumentos, y hay dos clases: las llaves { } encierran un argumento obligatorio, mientras que los corchetes [ ] encierran uno opcional. En \section{Introduction}, {Introduction} es el texto obligatorio del encabezado; en \documentclass[12pt]{article}, [12pt] es opcional y {article} es el nombre obligatorio de la clase. La forma usual es \command[options]{required}.

Las llaves { } tienen también una segunda función: agrupar, es decir, limitar el alcance de una declaración. Los comandos declarativos que cambian la fuente o el tamaño, como \bfseries (negrita), \itshape (cursiva), \large (más grande), no toman argumento; afectan a “todo desde aquí”. Si los encierras entre llaves, el efecto queda limitado solo a ese grupo: {\bfseries bold} normal pone en negrita solo “bold”, y la } final restaura el ajuste anterior.

latex
\section{はじめに}                 % 必須引数 / mandatory argument
\documentclass[12pt]{article}     % [オプション]{必須} / [optional]{required}

{\bfseries 太字になる} ここは普通   % {} で効果を閉じ込める / braces limit the scope
{\bfseries bold here} back to normal

El interior y el exterior de un grupo son independientes, así que un cambio visual no se filtra a zonas no previstas. Es la misma idea que hay detrás de los entornos (\begin{...}...\end{...}): un par \begin\end también forma un grupo. Los entornos se tratan con detalle en su propia página.

Espacios, saltos de línea y líneas en blanco

El espacio en blanco sigue reglas propias que separan el aspecto de la fuente de cómo se lee la salida. Primero, cualquier secuencia de blancos consecutivos (espacios o tabulaciones) se colapsa en un único espacio entre palabras: uno o diez espacios entre palabras producen lo mismo. Segundo, un único salto de línea en la fuente se trata simplemente como un espacio. Donde partas una línea en el fuente no decide los saltos finales; LaTeX los decide, así que puedes cortar la fuente a un ancho cómodo.

¿Cómo se empieza entonces un párrafo nuevo? Con una línea en blanco: dejar una línea vacía marca un salto de párrafo. Dos o más líneas en blanco consecutivas hacen lo mismo que una: un solo salto de párrafo. A la inversa, partir una línea en la fuente *no* inicia un párrafo nuevo. El control más fino de líneas y párrafos, como forzar un salto con \\, se trata en la página de saltos de línea y párrafo.

latex
これらの    余分な空白は     1 つにまとめられ、
この改行も空白 1 つになります。

空行をはさむと、ここから新しい段落が始まります。

A veces quieres colocar un espacio entre palabras exactamente donde lo necesitas. El caso clásico es el lazo ~: un espacio no separable que insertas donde una línea no debe partirse, como en Fig.~\ref{fig:1}, Chapter~12 o Donald~E. Knuth. Tiene el ancho de un espacio normal entre palabras, pero ahí no puede haber salto de línea. El espacio de control \ , como arriba, fuerza un espacio de ancho normal, y en modo matemático \, (espacio fino, 3/18 de un cuadratín) permite ajustar el espaciado.

Comentarios

Un signo de porcentaje % inicia un comentario que llega hasta el final de esa línea, y se ignora por completo al compilar. Como nunca aparece en la salida, sirve para dejar notas en la fuente o desactivar temporalmente (“comentar”) un comando. Un comentario no solo llega al final de la línea: también se come el salto de línea de esa línea y cualquier espacio final. Esto resulta ser un truco útil.

Recuerda que un salto de línea en la fuente se convierte en un espacio. Cuando quieras partir una palabra larga en varias líneas de fuente sin introducir un espacio extra en la unión, termina la línea con %: el salto desaparece y la línea siguiente se une sin espacio. El mismo truco evita espacios no deseados cuando divides un comando en varias líneas.

latex
これは行末コメント % ここから行末まで(と改行)が無視される / ignored to end of line

超長い%
単語          % → 「超長い単語」 % で改行を消してつなぐ / % joins the lines, no space

割引率は 100\% です。   % 文字としての % は \% と書く / a literal percent is \%

Ten en cuenta que % es en sí un carácter especial, así que para imprimir un signo de porcentaje literal se escribe \% (que, al ser un símbolo de control, no se come el espacio siguiente). El conjunto completo de caracteres especiales está reunido en la página de caracteres especiales.

Para desactivar varias líneas de una vez, en lugar de anteponer % a cada una, tienes dos opciones. Encierra el bloque en el entorno comment que proporciona el paquete verbatim (o el paquete comment): \begin{comment} … \end{comment}; o envuélvelo en \iffalse … \fi, que usa un condicional de TeX. Esto último no necesita paquetes extra y permite comentar un bloque completo de una vez.

latex
\usepackage{verbatim}            % プリアンブルで / in the preamble

\begin{comment}
このブロックは丸ごと無視される。
This whole block is ignored.
\end{comment}

\iffalse
下書きのコードもパッケージ無しで一括コメントアウト。
Draft code, commented out with no package needed.
\fi

Hábitos para tu primer manuscrito

La sintaxis se aprende mejor adoptando hábitos robustos que memorizando cada regla. Pon {} después de una palabra de control cuando sigan letras, encierra unidades semánticas en {...} y divide las configuraciones largas en líneas legibles con comentarios en vez de meterlas en una sola línea. Estos tres hábitos evitan mucha confusión inicial: espacios que desaparecen, argumentos equivocados y no saber hasta dónde llega un ajuste.

latex
% 命令名の後ろに英字が続くなら {} で区切る
\LaTeX{} users write source, then compile it.

% 長い設定は意味ごとに分け、行末コメントで不要な空白を消す
\newcommand{\courseTitle}{%
  Advanced Topics in \LaTeX%
}

Los comentarios son útiles, pero en la práctica conviene no dejar grandes bloques de texto descartado comentados en el archivo de trabajo. Deja los borradores antiguos en Git u otra herramienta de historial y mantén el .tex actual centrado en lo que quieres componer ahora. Así los números de línea de los errores coinciden con el manuscrito real y se acelera la depuración antes de la entrega.

Orden de lectura de una fuente rota

Cuando aparezca un error, lee la fuente en unidades sintácticas de LaTeX en vez de releer todo el archivo desde el principio. Justo antes de la línea indicada, comprueba si el nombre de una palabra de control se comió letras siguientes y si los argumentos obligatorios {...} y opcionales [...] están equilibrados. Luego inspecciona %: ¿un comentario de fin de línea eliminó un espacio necesario, o olvidaste \% donde querías un porcentaje literal?

SíntomaPrimer sospechosoArreglo
run-togetherLas palabras se pegan tras un logotipo o comandoDelimita con {}, como en \LaTeX{} users
wrong-argumentEl alcance de un encabezado o comando se extiende demasiadoEmpareja { y } alrededor de una unidad semántica
comment-gapAparece o desaparece un espacio en un salto de línea de la fuenteElige deliberadamente entre % al final de línea y salto normal