我一直很难找到一个足够强大的脚注系统。为了避免我对排版的描述过于枯燥,我提供了一个(粗糙的)Photoshop 模型来展示基本思想:
我已经阅读了该网站上至少十几个问题并全部尝试过;这个问题与我需要的类似,但结果不是我想要的;脚注按级别分为不同的部分。顶级脚注的缩进和数字一致性也很重要。
是否有任何类型的软件包 (或其他) 可以做到这一点,而不需要高级 TeX 知识 (我缺乏)?我更喜欢允许源文件看起来有点像这样的东西:
Start of main text\footnote%
{Some sort of note here, clever witticisms, et cetera\footnote%
{Second, fourth-wall-breaking commentary\footnote%
{Snide suggestion that more-or-less repairs the fourth wall.} %
on the above commentary.} %
.}%
, which is constantly interrupted by the author’s scrambled, incoherent, and vagariously composed thought processes.
这已经够荒唐了,而且很难处理,但我愿意妥协。越干净越好。
理想情况下,应该支持将过长的脚注拆分到两页(或更多页)上,最好是在我定义的点处,并在第二页的开头写上“[9],继续”之类的字样。不过,我愿意放弃这个;我可能不得不将这些脚注转换为尾注。
确切的 TeX 系统无关紧要;我可以使用 LaTeX 或 ConTeXt 或普通 TeX,或任何其他可用的版本。
我不会问这种问题(这似乎非常简单),但已经过去了 12 个小时,打了 7 次,我还是没有比开始时更接近解决问题的程度。我开始觉得这不可能做到。
答案1
就标记而言,嵌套非常容易设置:
\def\footnote#1{%
\@ld@footnote{\let\footnote\footnoteA\indentfn#1}%
}
\def\footnoteA#1{%
\@ld@footnoteA{\let\footnote\footnoteB\indentfn#1}%
}
其中\footnote
,,是三个独立的脚注宏,\footnoteA
和分别是这些宏的副本。此界面将使用以下包构建:\footnoteB
\@ld@footnote
\@ld@footnoteA
bigfoot
\DeclareNewFootnote{default}
\DeclareNewFootnote{A}[alph]
\MakeSortedPerPage{footnoteA}
\DeclareNewFootnote{B}[roman]
\MakeSortedPerPage{footnoteB}
这\indentfn
是一个辅助宏,定义为
\def\indentfn{\addtolength\footnotemargin{10pt}}
长度\footnotemargin
由包装提供footmisc
。
然后你可以输入如下内容:
\footnote{%
Some sort of note here, clever witticisms, et cetera.%
\footnote{%
Second, fourth-wall-breaking commentary%
\footnote{%
Snide suggestion that more-or-less repairs the fourth wall.%
}%
on the above commentary.%
}%
}
得到以下输出:
但是,这不会像示例图片那样进行排序。我认为这值得提出一个后续问题。
完整代码
\documentclass{article}
\usepackage{bigfoot}
\DeclareNewFootnote{default}
\DeclareNewFootnote{A}[alph]
\MakeSortedPerPage{footnoteA}
\DeclareNewFootnote{B}[roman]
\MakeSortedPerPage{footnoteB}
\usepackage{footmisc}
\makeatletter
\def\indentfn{\addtolength\footnotemargin{10pt}}
\let\@ld@footnote \footnote
\let\@ld@footnoteA\footnoteA
\def\footnote{%
\refstepcounter{footnote}%
\kernel@ifnextchar[{\footnot@}{\footnot@[\c@footnote]}%
}
\def\footnot@[#1]#2{%
\@ld@footnote[#1]{\let\footnote\footnoteA\indentfn#2}%
}
\def\footnoteA{%
\refstepcounter{footnoteA}%
\kernel@ifnextchar[{\footnot@A}{\footnot@A[\c@footnoteA]}%
}
\def\footnot@A[#1]#2{%
\@ld@footnoteA[#1]{\let\footnote\footnoteB\indentfn#2}%
}
\makeatother
\begin{document}
Start of main text,%
\footnote{%
Some sort of note here, clever witticisms, et cetera.%
\footnote{%
Second, fourth-wall-breaking commentary%
\footnote{%
Snide suggestion that more-or-less repairs the fourth wall.%
}%
on the above commentary.%
}%
}
which is constantly interrupted by the author’s scrambled, incoherent, and vagariously composed thought processes.
\end{document}