El \footnote de LaTeX esconde un agujero en el que todo el mundo cae una vez: una nota escrita dentro de un tabular nunca imprime su texto. La marca se queda en la tabla, la nota desaparece y no se informa de nada: ni error ni aviso. Peor aún, la nota perdida consume igualmente un número, así que la siguiente nota empieza en 3 y no en 2. Lo divertido es que LaTeX cae en el mismo agujero: \maketitle compone los nombres de autor dentro de un tabular, de modo que las clases estándar sustituyen discretamente \footnote por \thanks mientras dura el bloque de título. Esta página recorre \footnote, la pareja \footnotemark / \footnotetext, la numeración separada dentro de una minipage, los ajustes con footmisc, las notas marginales con \marginpar y marginnote, y las notas finales, midiendo sobre la marcha.
Bases de las notas: escribir \footnote y elegir la marca
Escribe \footnote{texto} y LaTeX pone un número en superíndice en ese punto y compone el texto correspondiente al pie de la página. El contador footnote lo incrementa por ti, así que nunca asignas un número a mano. Lo que importa es la ubicación. La marca debe ir justo detrás de la palabra anotada, así que escribe \footnote inmediatamente después de esa palabra, sin espacio entre medias. Un espacio o salto de línea entre la palabra y el comando sobrevive en el texto y aleja la marca. Respecto a la puntuación, la marca suele ir después del signo.
TeX was born in 1978.\footnote{Written by Donald Knuth.}
Its maths setting is still the reference.\footnote{arXiv accepts LaTeX sources.}
% forced number: does NOT step the footnote counter
See the note above.\footnote[1]{Same note, referenced twice.}Para imponer un número concreto, escribe \footnote[num]{texto}. Esa llamada no incrementa el contador footnote y usa el número que le das: así es como dos lugares apuntan a la misma nota. La apariencia del número la gobierna \thefootnote. Para cambiar números arábigos por símbolos, usa \renewcommand{\thefootnote}{\fnsymbol{footnote}}; \fnsymbol asigna 1–9 a asterisco, daga y demás, por lo que conviene a documentos con pocas notas. \alph y \roman funcionan igual. Para reiniciar la numeración en cada capítulo, la forma moderna es \counterwithin*{footnote}{chapter} de chngcntr, en lugar de tocar \@addtoreset.
Conviene conocer las longitudes que dan forma al bloque de notas. Medido en TeX Live 2024 con article: \footnotesep, el hueco mínimo entre notas, vale 6.65pt, y \skip\footins, el espacio entre el texto y el bloque de notas, 9.0pt plus 4.0pt minus 2.0pt. La regla corta que los separa es una macro, \footnoterule; redefinirla vacía con \renewcommand{\footnoterule}{} elimina la línea.
La nota dentro de la tabla no aparece: tabular, caption y títulos
Porque \footnote solo funciona correctamente en modo de párrafo externo. Dentro de un tabular estás en una celda, un modo distinto, así que el cuerpo de la nota nunca llega al depósito de notas de la página (\footins) y sencillamente se pierde. Al componer, el síntoma es completamente silencioso. Compila el documento de abajo en TeX Live 2024 y pdftotext devuelve Body text.1, A value2, B value, y al pie solo aparece la nota 1. El cuerpo de la nota 2 no está en ninguna parte, y el registro no dice nada.
\documentclass{article}
\begin{document}
Body text.\footnote{Real footnote at the page bottom.}
\begin{tabular}{ll}
A & value\footnote{This footnote is inside a tabular -- the text is lost.} \\
B & value \\
\end{tabular}
Next.\footnote{This one is numbered 3, not 2.}
\end{document}Lo que se pasa por alto con facilidad es el hueco en la numeración. La nota perdida incrementa igualmente el contador, así que la nota escrita después de la tabla lleva el número 3, no el 2. Leyendo solo el cuerpo del texto, uno se pregunta dónde fue a parar la nota 2. La misma restricción vale para el argumento de \caption y de los comandos de sección, pero allí el síntoma es mucho más ruidoso: \caption{Cap\footnote{...}} se detiene con un error e imprime ! Argument of \@caption has an extra }. seguido de ! Paragraph ended before \@caption was complete. El argumento de \caption es un argumento móvil, que se escribe en la lista de tablas, y un \footnote frágil no puede estar ahí sin protección.
Separar marca y texto: \footnotemark, \footnotetext y \thanks
La salida es colocar la marca y el cuerpo con comandos distintos. Dentro de la tabla o la leyenda, emite solo la marca con \footnotemark; una vez de vuelta en el texto, escribe el contenido con \footnotetext{…}. Para mantener sincronizados los números, lo más seguro es fijarlos explícitamente, \footnotemark[7] junto con \footnotetext[7]{…}.
\footnotemark— coloca solo la marca, el número, en ese punto. Sin argumento incrementa el contadorfootnoteen uno;\footnotemark[num]usa ese número sin incrementar el contador.\footnotetext{texto}— coloca solo el cuerpo de la nota al pie de la página. Escríbelo después de\footnotemark, en un lugar en modo de párrafo externo;\footnotetext[num]{texto}permite hacer coincidir el número.
\begin{tabular}{ll}
Item A & value\footnotemark[1] \\
Item B & value \\
\end{tabular}
\footnotetext[1]{This value is provisional.}Ese patrón de separar la marca del texto está incorporado en el propio LaTeX. Esta es la definición de \thanks en latex.ltx: es exactamente un \footnotemark más un \footnotetext[número actual] diferido. Y \@maketitle en article.cls contiene la única línea \let \footnote \thanks. Los nombres de autor del bloque de título se componen dentro de \begin{tabular}[t]{c}, así que un \footnote corriente perdería allí su texto: la clase se adelanta y cambia \footnote por \thanks dentro del título. El rodeo para la misma trampa con que abre esta página lo usa LaTeX mismo.
\DeclareRobustCommand\thanks[1]{\footnotemark
\protected@xdef\@thanks{\@thanks
\protect\footnotetext[\the\c@footnote]{#1}}%
}En la práctica, mete en \thanks{…} las afiliaciones, agradecimientos y datos de contacto asociados a \title o \author. Si quieres símbolos en lugar de números, lo habitual es \renewcommand{\thefootnote}{\fnsymbol{footnote}} antes de \maketitle y restaurar justo después. Las clases estándar ejecutan \setcounter{footnote}{0} al final de \maketitle, así que las notas del cuerpo vuelven a empezar en 1.
Las notas dentro de una minipage salen como a, b, c
Porque dentro de una minipage, \footnote cambia a otro contador, mpfootnote, cuyas marcas son letras minúsculas. Medido, una nota puesta en una minipage salió como a, sin relación con el 1 y el 2 del cuerpo, y se compuso justo debajo de esa minipage en lugar de al pie de la página. Una minipage se comporta, pues, como una pequeña página autónoma. Para recuperar cifras, usa \renewcommand{\thempfootnote}{\arabic{mpfootnote}}.
Ese comportamiento resulta directamente útil cuando quieres que las notas de una tabla queden bajo ella. Envuelve el tabular en una minipage y \footnote deja de desaparecer: la nota se compone justo debajo de la tabla. Acepta, eso sí, que pasa a pertenecer a una numeración distinta de la de las notas de la página. Para notas de tabla bien hechas, el paquete dedicado threeparttable, que organiza tabla, notas y leyenda en tres partes, o el entorno talltblr de tabularray, dan un resultado más pulcro.
footmisc: reiniciar por página, pasar a símbolos, correr las notas en un párrafo
Para un control más fino del comportamiento estándar, carga \usepackage[options]{footmisc}. La copia incluida en TeX Live 2024 es la v6.0f, del 2023/07/05. Las opciones se combinan: [perpage,symbol] produjo, medido, ∗ † ‡ en la página 1 y de nuevo ∗ † en la página 2: el reinicio y las marcas simbólicas actuando a la vez.
| Opción | Efecto |
|---|---|
perpage | Reinicia la numeración en cada página, que vuelve a contar desde 1. |
symbol | Etiqueta las notas con símbolos (∗ † ‡ …) en vez de números. symbol* solo simboliza la marca en el texto. |
bottom | Fuerza las notas al fondo de la página, aunque la página sea corta. |
para | Corre varias notas juntas como un párrafo continuo en vez de una por línea. |
multiple | Detecta marcas adyacentes y las separa con limpieza en vez de pegarlas. |
hang | Saca la marca a la izquierda y cuelga bajo ella las líneas siguientes de la nota. |
flushmargin | Compone el cuerpo de la nota al ras del borde izquierdo del bloque, sin sangría. |
norule | No traza regla entre el texto y las notas. splitrule da una regla propia a las notas partidas. |
stable | Hace que \footnote sobreviva en argumentos móviles, como los títulos de sección. |
marginal | Coloca la marca fuera del bloque de texto, invadiendo el margen. |
% per-page numbering, notes pushed to the bottom, adjacent marks separated
\usepackage[perpage,bottom,multiple]{footmisc}
% width of the gap between the mark and the note body
\setlength{\footnotemargin}{1.8em}footmisc llega también al margen. El hueco entre la marca y el cuerpo de la nota —el margen izquierdo propio de la nota— se ajusta mediante la longitud \footnotemargin que aporta el paquete. Hay además bottomfloats, abovefloats y belowfloats para el orden frente a los flotantes, side para notas colocadas junto al bloque de texto, y ragged para notas sin justificar. La lista completa de nombres está en las líneas \DeclareOption de footmisc.sty.
Poner una nota en el margen: \marginpar y marginparwidth
Para poner una nota breve junto al cuerpo, escribe \marginpar{texto}. Se compone pequeña en el margen, a la altura de la línea donde la escribiste. En composición a doble cara (twoside) va al margen exterior y cambia de lado automáticamente entre páginas izquierdas y derechas. Para usar texto distinto según el lado, escribe \marginpar[izquierda]{derecha}: el [izquierda] entre corchetes se usa cuando la nota cae en el margen izquierdo, y el {derecha} entre llaves cuando cae en el derecho. \reversemarginpar invierte el lado y \normalmarginpar restaura el valor por omisión.
Tres longitudes rigen la geometría. Medido en TeX Live 2024: \marginparwidth vale 65pt en article y report, 125pt en book, y salta a 121pt si añades twoside a article. El hueco entre texto y nota, \marginparsep, es de 11pt, y \marginparpush, la distancia mínima que las notas guardan entre sí, de 5pt. Con 65pt, un texto de 10pt apenas admite seis caracteres de ancho, así que una nota marginal larga en un article sin retocar se apila casi palabra por palabra. Si las notas marginales forman parte del diseño, cuenta con \setlength{\marginparwidth}{...} o con rehacer los márgenes con geometry.
\marginpar impone límites duros. Internamente se procesa como flotante, así que no puede usarse dentro de un figure o table, dentro de una nota al pie, ni dentro de otro \marginpar. Pon uno en un figure y la compilación se detiene con ! LaTeX Error: Float(s) lost. Además solo admite un párrafo. Y cuando varias notas caen en líneas próximas se empujan entre sí; LaTeX las desplaza e informa LaTeX Warning: Marginpar on page 1 moved. Ese aviso es la señal de que una nota se está imprimiendo lejos de la línea a la que pertenecía.
marginnote: una nota marginal sin flotante, pero con dos compilaciones
Para esquivar esos límites, usa el paquete marginnote y su \marginnote{texto}. No emplea flotante, así que funciona incluso dentro del figure donde \marginpar muere con ! LaTeX Error: Float(s) lost.: probado sobre el mismo documento, la versión con \marginpar se detuvo con el error y la de \marginnote compiló sin queja e imprimió la nota en el margen. Igual que con \marginpar, \marginnote[izquierda]{derecha} da texto por lado, y \reversemarginpar se respeta. La versión incluida en TeX Live 2024 es la 1.4b, del 2018/08/09.
Hay un precio. marginnote no imprime absolutamente nada hasta la segunda compilación. En la primera pasada el registro llevaba Package marginnote Info: xpos seems to be \@mn@currxpos junto con LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right., y el margen del PDF quedó vacío. El paquete decide de qué lado va la nota mediante la maquinaria de referencias cruzadas: solo la segunda pasada pone algo en el margen.
Además, \marginnote admite un tercer argumento después de las llaves: un desplazamiento vertical. La forma es \marginnote[izquierda]{derecha}[desplazamiento]. Medido, una nota con [-3\baselineskip] quedó tres líneas por encima de su texto y otra con [3\baselineskip] tres líneas por debajo: negativo sube, positivo baja. Lo necesitarás, porque \marginnote se limita a colocar la nota a la altura de la línea actual y no evita colisiones en absoluto, a diferencia de \marginpar. Cuando las notas se solapan, las separas a mano con este argumento. Una \marginnote tampoco puede partirse entre páginas, así que para prosa larga en el margen conviene otro diseño (columnas, o una clase orientada a notas laterales).
\usepackage{marginnote}
% ...
A note beside the text.\marginnote{This is a margin note.}
% negative offset moves the note up by three lines
Another line.\marginnote{Nudged upwards}[-3\baselineskip]
% marginnote works here; \marginpar would give "Float(s) lost."
\begin{figure}[h]
Some figure.\marginnote{Inside a float.}
\caption{A figure with a margin note}
\end{figure}Notas finales: endnotes y enotez
Cuando las notas deben reunirse al final de un capítulo o del libro y no al pie de la página, lo que quieres son notas finales, no notas al pie. La herramienta estándar es el paquete endnotes: escribe \endnote{texto} y coloca \theendnotes donde deban aparecer las notas reunidas. Medido, un documento con dos notas finales dejó las marcas 1 y 2 en el texto e imprimió, en la posición de \theendnotes, un título «Notes» con las dos notas debajo. El texto del título es \notesname. Es la elección habitual en libros de humanidades y en cualquier documento donde tantas notas ennegrecerían la página.
Una alternativa más moderna es enotez, escrito en expl3, que expone el agrupamiento de notas, el estilo del título y el formato de la lista mediante opciones clave-valor. La elección es sencilla: endnotes para añadir unas cuantas notas a un documento existente, enotez cuando haya que agrupar por capítulo o diseñar la presentación con cuidado. En cualquier caso, recuerda lo que cuesta mandar las notas al final: quien lee tiene que ir y venir entre texto y notas. Se pueden mezclar: deja como notas al pie las que realmente hacen falta y manda al final solo las referencias escuetas.