我的文档末尾有一长串脚注(而不是放在引用它们的页面底部),虽然现在看起来差不多没问题,但问题是,当脚注的第一页写满时,这些脚注会继续写在下一页,但底部对齐在第二页上,在上面留出一个空白区域,大概是用于内容(但实际上没有内容)。这看起来很愚蠢,因为这些页面只用于脚注,尽管我理解底部对齐,但由于没有内容,也许不应该有空白?
我该如何排版这些?我当前的源代码如下:
\footnotetext[1]{A footnote.}
\footnotetext[2]{Another footnote.}
\footnotetext[2]{And so on...}
在某些时候,上述序列会产生新页面。我使用的是 XeTex,没有覆盖任何东西,但我愿意包含额外的包,例如footmisc
和什么,或者可能覆盖命令或类似方法。但是,我仍然相信这个问题有简单的解决方案?有没有某种控件可以允许专用的脚注页面?
答案1
修订的解决方案(headnotes
环境)
我创建了一个headnotes
环境,它试图模拟脚注的外观,但从页面顶部开始(并独自占据整个页面)。我的定义(article
类)中有一些特定于类的尺寸,可能需要为其他文档类重新校准。
在这个 MWE 中,我有 2 页文本,后面是 2 页脚注、2 页头注,最后还有 2 页文本,目的是比较边距位置、页码位置、标尺位置等。
\documentclass{article}
\usepackage{everypage}
\usepackage[nopar]{lipsum}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newlength\svparindent
\newenvironment{headnotes}%
{\svparindent=\parindent\relax\gdef\headruleactive{T}\headnoterule}%
{\atxy{0in}{0in}{\gdef\headruleactive{F}}}
\newcommand\headnoterule{%
\AddEverypageHook{\if T\headruleactive%
\atxy{\dimexpr\PageLeftMargin+\oddsidemargin}%
{\dimexpr\PageTopMargin+\headsep+\headheight+\topmargin+1pt}%
{\rule{32ex}{.4pt}}% THIS EMULATES THE \footnoterule
\addtolength{\textheight}{-1.2ex}\addtolength{\headsep}{1.2ex}%
\addtolength{\footskip}{-1.2ex}%
\fi}}
\newcommand\atxy[3]{%
\AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
\raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
\def\headruleactive{F}
\newcounter{headnote}
\refstepcounter{headnote}
\newcommand\headnote[2][]{\parindent=\dimexpr\svparindent-4pt\relax%
\footnotesize$^\theheadnote$#2\par\refstepcounter{headnote}}
\begin{document}
\lipsum[1-6]\clearpage
\footnotetext[1]{This is my footnote}
\footnotetext[2]{\lipsum[1]}
\footnotetext[3]{\lipsum[2]}
\footnotetext[4]{\lipsum[3-5]}
\footnotetext[5]{\lipsum[2]}
\footnotetext[6]{\lipsum[3-5]}
\footnotetext[7]{\lipsum[2]}
\footnotetext[8]{\lipsum[3-5]}
\clearpage
\begin{headnotes}
\headnote{This is my headnote}
\headnote{\lipsum[1]}
\headnote{\lipsum[2]}
\headnote{\lipsum[3-5]}
\headnote{\lipsum[2]}
\headnote{\lipsum[3-5]}
\headnote{\lipsum[2]}
\headnote{\lipsum[3-5]}
\end{headnotes}
\clearpage \lipsum[1-6]
\end{document}
原始解决方案(人工干预)
虽然它不是完全自动化的,但您可以将适当的内容添加\vspace
到最后一个脚注的末尾。如果注释回到页面底部,您就会知道是否添加了太多内容。
\documentclass{article}
\usepackage[nopar]{lipsum}
\begin{document}
\footnotetext[1]{This is my footnote}
\footnotetext[2]{\lipsum[1]}
\footnotetext[3]{\lipsum[2]}
\footnotetext[4]{\lipsum[3-5]}
\footnotetext[5]{\lipsum[2]}
\footnotetext[6]{\lipsum[3-5]}
\footnotetext[7]{\lipsum[2]}
\footnotetext[8]{\lipsum[3-5]\vspace{2.9in}}
\end{document}