
Soy nuevo en Latex (uso xelatex) y estoy intentando diseñar un documento con muchas notas breves a pie de página. Estoy usando para
y perpage
.
Lo he probado para
con ambos bigfoot
y footmisc
. Lo he probado perpage
desde footmisc
, perpage
y bigfoot
. Sin embargo, en todas las combinaciones de estas (cuando finalmente consigo compilar algo), termino con una especie de condición de carrera en la que una página comenzará con las notas a pie de página 27 y 28, por ejemplo. Cuando vuelvo a ejecutar xetex, las notas al pie terminan en la página anterior pero están numeradas 1 y 2 y la página siguiente comienza en la nota al pie 3.
En otras palabras, parece que los números de las notas a pie de página, que tienen dos dígitos, están en el umbral que lleva las palabras a la página siguiente. Cuando xetex se ejecuta nuevamente (con las palabras y las notas al pie en la página siguiente), el número de la nota al pie se reduce por página, lo que hace que las palabras vuelvan a la página anterior.
Puedo volver a ejecutar xetex infinitamente pero la numeración/espaciado no se estabiliza. Puedo dar un ejemplo práctico, pero no será "mínimo" porque los documentos suelen ser largos. También son en su mayoría griegos.
[EDITAR:]Como dije, soy nuevo en Latex y parece que todo el sistema es algo frágil. Si existe una manera correcta™ de hacerlo, soy todo oídos. Sin embargo, una cosa que pensé que podría ayudar fue si hubiera una manera de establecer un ancho mínimo de nota al pie. No creo que tenga 100 notas a pie de página en ninguna página, por lo que sería simplemente cuestión de fijar el ancho en algo lo suficientemente ancho como para contener los dos dígitos más anchos. No sé si eso es posible, pero eso haría que los números de las notas a pie de página fueran predecibles para su ajuste.
Respuesta1
Las marcas de notas a pie de página estándar de LaTeX se escriben en cuadros cuyo ancho es lo suficientemente grande como para caber en su contenido. Esto se hace mediante el \@makefnmark
comando definido en ltfloat.dtx
por:
\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}
segúntu comentario, Le mostraré cómo puede modificar esta definición para componer marcas de notas al pie en cuadros que tengan el mismo ancho. Me temo que esto será feo para números de notas al pie pequeños (por ejemplo, de un dígito)...
Para el ancho común compartido por todos los cuadros de marcas de notas al pie, usaremos el ancho natural de 00
y \normalfont
el tamaño para las notas al pie estándar. Si deseas corregir el ancho de una manera más sencilla (que no se adapte a la fuente del documento), puedes usar algo como \setlength{\myfootnotemarkwidth}{4mm}
.
Dado que los cuadros para las marcas de notas al pie tienen un ancho fijo en esta configuración, debe elegir cómo se alineará el contenido dentro del cuadro. Lo siguiente, utilizado en el ejemplo completo a continuación, centra cada marca de nota al pie dentro de su cuadro:
\renewcommand*\@makefnmark{%
\hbox to \myfootnotemarkwidth{%
\hfil\@textsuperscript{\normalfont\@thefnmark}\hfil
}%
}
Si prefiere la alineación hacia la izquierda o hacia la derecha, simplemente elimine uno de los \hfil
comandos.
Si tiene marcas de notas al pie que son demasiado grandes para el ancho del cuadro elegido (que está \myfootnotemarkwidth
en mi código), esto producirá correctamente \hbox
advertencias de exceso de llenado. Como entendí por su pregunta, la situación de exceso de capacidad puede ser temporal debido a que perpage
desaparecerá en la próxima ejecución de LaTeX. Dicho esto, si le molestan demasiado las \hbox
advertencias excesivas en la primera ejecución (¿por qué?), es posible que desee reemplazarlas \hfil
con \hss
; pero tenga en cuenta que, si lo hace, es posible que las marcas de las notas al pie se superpongan con el texto cercano sin recibir notificación. Por lo tanto, sopese cuidadosamente los pros y los contras antes de realizar dicho cambio.
Aquí está el ejemplo completo:
\documentclass{article}
\makeatletter
\newlength{\myfootnotemarkwidth}
% Compute the width of a standard footnote mark numbered 00 (two digits) in
% \normalfont.
\AtBeginDocument{%
\settowidth{\myfootnotemarkwidth}{\@textsuperscript{\normalfont 00}}%
}
\renewcommand*\@makefnmark{%
\hbox to \myfootnotemarkwidth{%
\hfil\@textsuperscript{\normalfont\@thefnmark}\hfil
}%
}
\makeatother
\begin{document}
Some text\footnote{The footnote text.} to show the width of the footnote mark.
And now a high-numbered\footnote[99]{Other footnote text.} footnote.
\end{document}
Parte superior de la página:
Pie de página:
En caso de que desee que las marcas de notas al pie utilizadas por el \footnotetext
comando (es decir, el lugar “destino” de las notas al pie, en la parte inferior del cuerpo de la página) permanezcan con su formato habitual, puede modificar el ejemplo anterior de esta manera:
\documentclass{article}
\usepackage{etoolbox}
(...)
\AtBeginDocument{(...)
}
\let\@latex@makefnmark\@makefnmark
\patchcmd{\@makefntext}{\@makefnmark}{\@latex@makefnmark}{}{\FAILED}
\renewcommand*\@makefnmark{%
(...)
Entonces, el pie de página del ejemplo se verá así (la cifra "1" está más cerca de la palabra "El" que en el ejemplo completo que se muestra arriba):