3

I'm trying to typeset two-column text with two-column footnotes in a grid-based layout in ConTeXt. Setting all of this up is easy with ConTeXt, and in general, the footnotes are placed where I expect them to be. But I see unexpected behavior when a page only contains the first column (e.g., when the last page only has enough text for one column) or when the first column is shorter than its full height (e.g., if one or more lines at the end of it were moved to the next column because they are orphans / widows or have footnotes that would not fit in the first column). In these cases, the footnotes are aligned to the bottom of the first column. I can see how this might be an intended result, but ideally, I would like to see the footnotes set ragged-bottom (i.e., built up from the bottom of the textblock) regardless of the height of the columns, similar to what the LaTeX package footmisc does with the bottom option. Is there any way to do this in ConTeXt?

A minimal example illustrating several instances of unexpected behavior is included below.

\showframe %to illustrate empty space in columns
\starttext
\startcolumns[n=2]
    A single line of text with balancing.\footnote{Footnote dropped in column balancing.}
\stopcolumns
\page
\startcolumns[n=2, balance=no]
    A single line of text, no balancing.\footnote{Footnote directly beneath text.}
\stopcolumns
\page
\startcolumns[n=2, balance=no]
    \dorecurse{2}{\par\input zapf}\footnote{\input zapf}
\stopcolumns
\page
\setupbodyfont[10pt]
\startcolumns[n=2, balance=no]
    \dorecurse{3}{\par\input knuth}\footnote{A single-line footnote.}
\stopcolumns
\stoptext

I typeset these using ConTeXt version 2020.03.10, as released with TeXLive 2020.

In the first example, a column with only one line of text will eat up the footnote at the end of that line if column balancing is left on. In the second example, turning column balancing off fixes this problem, but the footnote is glued to the bottom of the text rather than being set at the bottom of the textblock. In the third and fourth examples, long footnotes and even single-line footnotes placed after the last line in a column will result in the shortening of the first column, and consequently, the alignment of the footnote with the bottom of the first column rather than the bottom of the textblock.

4

The conflict between \startcolumns .. \stopcolumns and footnotes is not solved in ConTeXt yet (see here), so you better write a mail to the mailing list. However, I found an alternative using \startpagecolumns:

\definepagecolumns [example]
        [n=2,
        distance=5mm]

\starttext
\showgrid
\showframe
\startpagecolumns[example]
\dorecurse {7} {%
%Copied from Wikipedia
        The Three Laws of Robotics (often shortened to The Three Laws or known as Asimov's Laws)
are a set of rules devised by the science fiction author Isaac Asimov. 
The rules were introduced in his 1942 short story "Runaround"
(included in the 1950 collection I, Robot), 
although they had been foreshadowed in a few earlier stories. 
The Three Laws, quoted as being from the "Handbook of Robotics, 
56th Edition, 2058 A.D.", are:\footnote{This is a short footnote.}

        First Law

        A robot may not injure a human being or, through inaction,
allow a human being to come to harm.\footnote{This is a short footnote.}

        Second Law

        A robot must obey the orders given it by human beings except
where such orders would conflict with the First Law.\footnote{This is a short footnote.}

        Third Law

        A robot must protect its own existence as long as such protection
does not conflict with the First or Second Laws.\footnote{This is a short footnote.}
        }
\stoppagecolumns
\stoptext

enter image description here

9
  • 1
    Many thanks! I had no idea about the pagecolumns environment, but it seems to exhibit the behavior I was looking for in two-column footnotes. It handles all four of the bad cases I included in my MWE the way I expected. It looks like the mailing list has already received plenty of messages about unexpected behavior in the standard columns environment, but I may send them a message about the case where column balancing eats up a footnote in a column containing one line; as rare as it is, the behavior still seems wrong. Apr 16 '20 at 2:47
  • Quick follow-up observation: the use of pagecolumns in the MWE appears to add an empty page. Do you have any idea why this happens, or if there is a way to prevent it? Apr 16 '20 at 3:36
  • Try \definepagecolumns [example][n=2,distance=5mm,page=no]
    – user193767
    Apr 16 '20 at 3:52
  • Adding the page=no option doesn't seem to fix it. Apr 16 '20 at 15:21
  • A more detailed example would be helpful. With the version I have installed this extra page does not appear.
    – user193767
    Apr 16 '20 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.