14

I am using the package multicol to typeset a one-column (spanning the entire text width) heading and a two-column main text block. In order to do so, I begin the multicols environment along with the start of the text block. The one-column heading spans a small fraction of the text height in the front page and I need to set a footnote there, before starting the two-column environment. I'd like to have that footnote typeset under the first column in the two-column running text. How could I possibly do this?

Moreover, I'd like to have the footnotes typeset in a single column under one of the text columns -- I don't even mind having them as two-column footnotes, but what I do not want is a footnotes layout spanning the entire text width. I have tried with the command \twocolumnfootnotes from the class memoir, with the packages ledmac, dblfnote, and even with ftnright (the latter complains about its being used in a single-column document, due to that one-column heading). None has proved useful in this setting. As a less than MWE, just to convey a more concrete depiction of my scenario, let us consider:

\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}   
3
  • You may be (pretty much) out of luck; but perhaps I'm not correctly picturing what you are hoping for. A mock image of the desired output might spur more people to come up with a solution.
    – jon
    Aug 21, 2012 at 3:29
  • @Jon: Right. I know that there is much room for improvement in TeX-based systems when we consider such an important scenario as grid-based typesetting, but I would expect more of them in regard to multicolumn environments. Maybe this expectation sprouts from my deep appreciation of Knuth's work and my love of TeX itself. The latter being a Turing-complete language, I'm pretty sure what I'd like to do can be done by means of some algorithm and therefore can be implemented based on TeX code. I wonder that there is nothing like that already available -- if such is the case.
    – Marcos
    Aug 21, 2012 at 9:50
  • 1
    What's wrong with dblfnote? It works for me with your example.
    – cgnieder
    Aug 21, 2012 at 13:53

1 Answer 1

12

There are a number of good reasons why it is impossible to provide the layout you are looking for with multicols. Two important ones are:

  • As the name implies the code is supposed to support different column numbers on the same page. Now how wide should a footnote be? Full text width is ugly, but so is any other width, if it doesn't fit with the rest of column setup. Even if the spec would be reduced be just "one and two columns with balancing" it would still be ugly if you have, say, a single footnote (in twocolumn width) but the bottom of your page ends up being one-column.

  • Technically, multicols works by collecting a page worth of material and then splitting off the columns (and in case of balancing at the end potentially retrying many (hundred) scenarios to find the best balancing solution). Now this works by using \vsplit and \vsplit is keeping footnote material inside the boxes. So by using this approach you can't use the footnote material as poart of the column itself (or taking part of the balancing). Now it is possible, of course, to use a different approach involving a collection of output routines that do all this kind of work on the main vertical list rather than safely with already gathered material in boxes. However, it would be a good factor more complicated and as a result really complex output routines typically limit themselves to solving restricted problems.

Now TeX is Turing complete as you mentioned in a comment, but this isn't going to help you much initially. It doesn't mean that it is feasible to program each and everything in TeX and even if it is possible you might end up dropping all or most of the functionality that TeX offers in one area and reprogram it in a fairly inefficient way yourself just to get over built-in limitations. Until quite recently the biggest hurdle was that doing that would also mean the processing would end up being incredibly slow or hit memory limits.

That situation has improved a lot in the last years and this is one of the reasons why it is now possible to come up with a programming framework (like expl3) that provides that basis for expanding TeX's abilities within TeX. When multicols was originally written it would have been impossible to envision that one implements a full blown regular expression parser in TeX (not technically but realistically) now we have one in expl3.

Bottom line, the design of TeX was made for single column documents, and anything that goes a lot beyond that was pretty much either impossible or only possible in restricted scenarios.

Nowadays, one could do better and we do have a different page design concept in the drawer that does offer what you are looking for. The catch is, it is not ready. Its proto-type is already from 2000, but back then it was still utopia, because of the speed restrictions it imposed.

That has changed, so now something like expl3 is a platform that can be (and is) used for real, and we are currently in the process of revising the code and ideas from the end of the last century. Now this sound awfully old, doesn't it? But fact is, for current LaTeX multicol is still around as "the" solution so ... there is some reason for that.

7
  • Sure, there is a difference between what is computable in principle and what can be computed with the data processing tools and resources available within a reasonable computational ``effort''. I am really excited at the development of the LaTeX3 project, but I haven't been brave enough yet to start devoting time to learning about its features. May I ask what would you suggest as an online resource in order to be properly informed about its development?
    – Marcos
    Aug 22, 2012 at 15:04
  • I am intrigued about your reference to a ``different page design concept in the drawer''. Is it LaTeX3 or is it a different project that you're talking about?
    – Marcos
    Aug 22, 2012 at 15:05
  • @Marcos I'm referring to this paper latex-project.org/papers/xo-pfloat.pdf and we are currently rewriting the code for it to make use of the latest expl3. Aug 22, 2012 at 15:40
  • @Marcos I missed your first comment above. You may want to have a look at the following answers on this site: tex.stackexchange.com/questions/24932/… tex.stackexchange.com/questions/45838/… tex.stackexchange.com/questions/23914/… and perhaps at latex3.org Aug 24, 2012 at 7:14
  • Thanks so much also for the links. I had already browsed the LaTeX3 site. It'll take me some time to read some of the stuff I'd like to get acquainted with, though. And I still need to learn why I am having those issues with footnotes in my original scenario, which is a class of my own loading many different packages and having several options, whereas in my MWE things do work, as was pointed out by cgnieder above. But I insist that I am quite excited at learning more about the features and current development of LaTeX3 project.
    – Marcos
    Aug 24, 2012 at 13:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .