垂直、居中的脚注?

垂直、居中的脚注?

有没有办法在 LaTeX 中复制这些“传统”(19 世纪)英国脚注,这些脚注 1)首先垂直堆叠,然后水平添加,2)在页面居中,3)垂直“堆叠”开始时出现烦人的额外内容(准确到旧文本)仅有的当脚注数量>2 时?

足球

更多足球

更多足球

答案1

课程memoir在某种程度上做到了这一点,但总的来说,我认为除非某些 LaTeX 大师能想出点什么,否则需要进行人工干预。然而,应用可能非常有限,以至于他们可能觉得不值得花时间,尽管也许有人会把这当作一项智力练习。

基本上,您要求两种脚注样式。如果一页只有一个脚注,则应居中。如果有多个脚注,则设置为两列,居中。

% oefootnotesprob.tex  SE 622546

\documentclass{memoir}
\setlength{\textheight}{0.33\textheight} % just to shorten the pages

\usepackage{lipsum}

%% make footnotes start at 1 on each page
\usepackage{perpage}
\MakePerPage{footnote}

\renewcommand{\footnoterule}{}  %% no rule above footnotes
 
\begin{document}

%%% footnotes set in two twolumns, non centered
\twocolumnfootnotes
\footmarkstyle{(#1) }  % marker in footnote set in parentheses
\lipsum[1]%
\footnote{One}\footnote{Two}\footnote{Three}

\newpage

%%%%% just one (centered) footnote on this page
\plainfootnotes
\setlength{\footmarkwidth}{0em}
\footmarkstyle{\hfil (#1) }
\lipsum[2]\footnote{Another \hfil}

\end{document}

在此处输入图片描述

在此处输入图片描述

MWE 显示了一个居中的单个脚注和两列未居中的脚注。我不知道如何自动执行这些操作,也不知道如何将两列居中。

另一个想法是,如果一页上的脚注溢出到下一页,而下一页的格式不同(多个与单个),该怎么办?

答案2

综合讨论中的想法,我提出了以下针对最多 4 个脚注的逐案实施方案:

\newcount\footcount
\def\stackfootnotes#1{\tabskip1em plus 1fil\halign to\hsize{&\hfil##\hfil\cr #1}}
\def\footnote#1{\advance\footcount by1 \toks\footcount={#1}
  \ifdim\pagegoal<\maxdimen
    \dimen0=\pagegoal \advance\dimen0 by-\ht\footins
    \advance\dimen0 by-\dp\footins \pagegoal=\dimen0\fi
  \setbox\footins=\vbox{\ifcase\footcount \or
  \stackfootnotes{\the\toks1 \cr}\or
  \stackfootnotes{\the\toks1 &\the\toks2 \cr}\or
  \stackfootnotes{\the\toks1 &\the\toks2 \cr\multispan2\hfil\the\toks3 \hfil\cr}\or
  \stackfootnotes{\the\toks1 &\the\toks3 \cr\the\toks2 &\the\toks4 \cr}\fi}
  \ifdim\pagegoal<\maxdimen
    \dimen0=\pagegoal \advance\dimen0 by\ht\footins
    \advance\dimen0 by\dp\footins \pagegoal=\dimen0\fi}

虽然费力,但容易适应。\footcount必须在每一页上重置为0。

拐弯处危险:这些\pagegoal操作旨在为页面底部的脚注框保留空间。如果我们使用 ,TeX 会自动执行此操作\insert\footins,但我们\box\footins直接进行操作。(另请参阅我对该问题的评论。)

相关内容