Caracteres especiales

LaTeX tiene diez caracteres que no puedes escribir sin más esperando verlos: # $ % & _ { } ~ ^ \. Cada uno está reservado para una función especial: iniciar un comentario, entrar en modo matemático, comenzar un comando, etc. Esta página explica qué hace cada uno y cómo imprimir el propio carácter cuando lo necesitas.

Los diez caracteres reservados

Un carácter reservado es uno que LaTeX usa como parte de su sintaxis, así que al escribirlo en el texto activa un comportamiento en lugar de imprimirse. Escribe % y el resto de esa línea desaparece como comentario; escribe $ y entras en modo matemático. Para que un carácter así aparezca como sí mismo en la página, hay que hacer algo más.

Esto es lo que hace cada uno. # representa un argumento en una definición de macro; $ inicia y termina el modo matemático; % inicia un comentario (se ignora el resto de la línea); & separa columnas o celdas en tablas y alineaciones. _ y ^ introducen subíndices y superíndices en matemáticas; { y } delimitan un argumento o un grupo. ~ produce un espacio entre palabras que no se rompe, y \ (barra invertida) inicia todos los comandos.

CarácterFunción especial
#Argumento en una definición de macro (#1, #2, …)
$inicia y termina el modo matemático
%inicia un comentario (se ignora el resto de la línea)
&separador de columnas o celdas en tablas y alineaciones
_subíndice en modo matemático
^superíndice en modo matemático
{abre un argumento o grupo
}cierra un argumento o grupo
~espacio entre palabras no separable
\inicia un comando

Imprimir el propio carácter

Siete de los diez son sencillos: basta con poner una sola barra invertida delante. Así se obtiene \#, \$, \%, \&, \_, \{, \}. Por ejemplo, escribir \$1.23 imprime $1.23. La barra invertida indica: “el siguiente carácter es él mismo, no el inicio de un comando”.

Los tres restantes son más delicados. Imprime ~ con \textasciitilde (o \~{}), y ^ con \textasciicircum (o \^{}). Escritos solos, \~ y \^ son comandos de *acento* y pondrían una tilde o un sombrero sobre la letra siguiente; al añadir {} vacías, el acento no tiene dónde colocarse y queda el símbolo desnudo.

Por último, la propia barra invertida: imprímela con \textbackslash. No uses \\: eso no son dos barras invertidas, sino el comando de salto de línea. Es una trampa muy común.

EscribesObtienesNotas
\##una sola barra invertida delante
\$$igual
\%%igual
\&&igual
\__igual
\{{igual
\}}igual
\textasciitilde~\~{} también funciona; \~ solo es un acento
\textasciicircum^\^{} también funciona; \^ solo es un acento
\textbackslash\No \\, que es un salto de línea

Los comandos \textbackslash, \textasciitilde y \textasciicircum forman parte del núcleo actual de LaTeX y no necesitan paquete extra (históricamente venían de textcomp). Ten en cuenta que algunas fuentes de texto no tienen un glifo independiente de tilde o caret en la cara de texto; con esas fuentes, estos comandos de símbolos de texto son la forma fiable de obtener la marca.

Ejemplo

Imprimamos una frase llena de caracteres reservados, como 100% & $5 cost #1. Cada uno de %, &, $, # se escapa con una barra invertida delante.

latex
100\% \& \$5 cost \#1

% backslash, tilde and caret need their own commands:
A path: C:\textbackslash Users \\
Math symbols out of math: \textasciitilde{} and \textasciicircum{}

La primera línea se compone como 100% & $5 cost #1. Debajo, una ruta de estilo Windows usa una barra invertida (\textbackslash), y una tilde y un caret independientes usan \textasciitilde{} y \textasciicircum{} (el \\ al final de la línea es el comando que corta la línea de salida; no imprime una barra invertida).

Cuando hay muchos especiales o una URL

Escapar uno por uno los caracteres de un fragmento denso de código o símbolos es tedioso. Para eso ayuda el mecanismo verbatim. En línea, escribe \verb|...|, delimitando el texto con cualquier carácter que no aparezca dentro (aquí |); su contenido se compone tal cual en una fuente monoespaciada, con todos los significados especiales desactivados. Para varias líneas, usa el entorno verbatim.

latex
Use \verb|a_b^c & d%| to show specials literally.

\begin{verbatim}
foo_bar = 100% & #1   % all printed as-is
\end{verbatim}

Para cadenas que suelen contener ~, #, % o _, sobre todo URLs, usa \url{...} del paquete url (o hyperref). Maneja automáticamente los caracteres reservados internos, los compone en monoespaciado y corta la línea de forma razonable, así que no hace falta escapar a mano.

latex
\usepackage{hyperref}
% ...
See \url{https://example.com/path?id=1#sec_2~ok}

En resumen: escapa los símbolos aislados como en la tabla, pasa los fragmentos densos a \verb/verbatim y deja las URLs a \url{}. La lógica más amplia de la sintaxis se cubre en “Reglas de sintaxis”, y los muchos símbolos de texto que puedes usar en el cuerpo están en la página “Símbolos de texto”.

Separa primero las entradas riesgosas

En informes y documentos técnicos, los fallos suelen venir no de la prosa, sino de nombres de archivo, URLs, nombres de tipos y celdas de tabla que contienen _, % o &. Al comenzar un manuscrito, separa tres tipos de material: texto que se leerá como prosa, código que se mostrará literalmente y enlaces que se procesarán como enlaces. Una vez hecho eso, la estrategia de escape resulta clara.

SituaciónHerramientaDecisión
priceEscapes aislados como \$ y \%Úsalo cuando el texto deba leerse como prosa normal
code\verb o verbatimMostrar literalmente código fuente, salida de terminal o una ruta corta
url\url{...} (normalmente con hyperref)Componer una URL larga como enlace que puede partirse

Las tablas merecen cuidado especial: como & separa celdas, un ampersand sin escapar en el nombre de una empresa o el título de un artículo desplaza el número de columnas. Al pegar datos de tabla desde fuera, busca primero & y %, decide uno por uno si cada caso es prosa o sintaxis de LaTeX, y solo entonces compila. Así evitas roturas de tabla misteriosas.

Limpia datos externos antes de pegarlos

En manuscritos reales, los caracteres especiales suelen llegar no porque los hayas escrito, sino porque vinieron de un CSV, una página web, un correo o un PDF. Es más rápido y fiable decidir la forma de recepción antes de pegar que perseguir errores después. Escapa solo los caracteres necesarios en prosa, mueve código y registros a entornos de estilo verbatim, y pon las URLs en \url{...}.

latex
% 表へ貼る前に、データ中の & と % を確認する
% before pasting into a table, inspect & and % in the data

\begin{tabular}{ll}
  Smith \& Wesson & company name \\
  95\% & reported rate \\
\end{tabular}

% URL は手で _ や # を逃がさず \url に任せる
\url{https://example.com/report?id=95#table_1}

Si una tabla se desplaza una columna, desaparece la segunda mitad de una fila o aparece de repente Missing $ inserted, el culpable suele ser &, % o _. Busca primero solo en la región pegada y clasifica cada caso: escapa como \&, \% o \_ si es prosa; déjalo igual si es sintaxis de LaTeX; usa \url para enlaces; y muestra el código en verbatim.