Diseño de notas a pie de página en entorno multicols.

Diseño de notas a pie de página en entorno multicols.

Estoy usando el paquete multicolpara componer un encabezado de una columna (que abarca todo el ancho del texto) y un bloque de texto principal de dos columnas. Para hacerlo, comienzo el entorno multicols junto con el inicio del bloque de texto. El encabezado de una columna abarca una pequeña fracción de la altura del texto en la página principal y necesito establecer una nota al pie allí, antes de comenzar el entorno de dos columnas. Me gustaría tener esa nota al pie escrita debajo de la primera columna del texto de dos columnas. ¿Cómo podría hacer esto?

Además, me gustaría tener las notas al pie escritas en una sola columna debajo de una de las columnas de texto; ni siquiera me importa tenerlas como notas al pie de dos columnas, pero lo que no quiero es un diseño de notas al pie que abarque todo el ancho del texto. Lo he probado con el comando \twocolumnfootnotesde la clase memoir, con los paquetes ledmac, dblfnotee incluso con ftnright(este último se queja de que se usa en un documento de una sola columna, debido a ese encabezado de una sola columna). Ninguno ha resultado útil en este contexto. Como menos que MWE, solo para transmitir una descripción más concreta de mi escenario, consideremos:

\documentclass{memoir}

\usepackage{multicol}

\begin{document}

A single-column heading\footnote{Here I have my footnote.}

\begin{multicols}{2}
Here I am in the two-column environment, and I want my footnotes being set in accordance with the document's ``columnwidth''.\footnote{A footnote in the two-column environment.}
\end{multicols} 

\end{document}   

Respuesta1

Hay varias buenas razones por las que es imposible proporcionarle el diseño que busca multicols. Dos importantes son:

  • Como su nombre lo indica, se supone que el código admite diferentes números de columna en la misma página. Ahora bien, ¿qué ancho debe tener una nota a pie de página? El ancho del texto completo es feo, pero también lo es cualquier otro ancho, si no encaja con el resto de la configuración de la columna. Incluso si la especificación se redujera a "una y dos columnas con equilibrio", seguiría siendo feo si tuviera, por ejemplo, una sola nota al pie (en dos columnas de ancho) pero la parte inferior de su página terminara siendo de una columna.

  • Técnicamente, multicolsfunciona recopilando una página de material y luego dividiendo las columnas (y en caso de equilibrar al final, potencialmente volver a intentar muchos (cientos) escenarios para encontrar la mejor solución de equilibrio). Ahora bien, esto funciona utilizando \vsplity \vsplitmanteniendo el material de las notas a pie de página dentro de las cajas. Entonces, al utilizar este enfoque, no se puede utilizar el material de la nota al pie como parte de la columna misma (o como parte del equilibrio). Ahora es posible, por supuesto, utilizar un enfoque diferente que implique una colección de rutinas de salida que realicen todo este tipo de trabajo en la lista vertical principal en lugar de hacerlo de forma segura con el material ya reunido en cajas. Sin embargo, sería mucho más complicado y, como resultado, las rutinas de salida muy complejas generalmente se limitan a resolver problemas limitados.

Ahora TeX es Turing completo como mencionaste en un comentario, pero esto no te ayudará mucho inicialmente. Esto no significa que sea factible programar todas y cada una de las cosas en TeX e incluso si fuera posible, podría terminar eliminando todas o la mayoría de las funciones que ofrece TeX en un área y reprogramarlas usted mismo de una manera bastante ineficiente sólo para superar las limitaciones incorporadas. Hasta hace poco, el mayor obstáculo era que hacer eso también significaría que el procesamiento terminaría siendo increíblemente lento o alcanzaría límites de memoria.

Esa situación ha mejorado mucho en los últimos años y esta es una de las razones por las que ahora es posible crear un marco de programación (como expl3) que proporcione esa base para expandir las capacidades de TeX dentro de TeX. Cuando multicolsse escribió originalmente, hubiera sido imposible imaginar que se implementara un analizador de expresiones regulares completo en TeX (no técnicamente, pero sí de manera realista), ahora tenemos uno en expl3.

En pocas palabras, el diseño de TeX se hizo para documentos de una sola columna, y cualquier cosa que vaya mucho más allá de eso era prácticamente imposible o sólo posible en escenarios restringidos.

Hoy en día, se podría hacerlo mejor y tenemos un concepto de diseño de página diferente en el cajón que ofrece lo que estás buscando. El problema es que no está listo. Su prototipo ya es del año 2000, pero entonces todavía era una utopía, por las restricciones de velocidad que imponía.

Eso ha cambiado, por lo que ahora algo así como expl3es una plataforma que se puede (y se usa) de verdad, y actualmente estamos en el proceso de revisión del código y las ideas de finales del siglo pasado. Ahora bien, esto suena terriblemente viejo, ¿no? Pero el hecho es que, en la actualidad, LaTeX multicoltodavía existe como "la" solución, así que... hay alguna razón para ello.

información relacionada