我正在写一本书,里面有很多脚注。它们超过了 99 个,所以我有 3 位数字的脚注,这很尴尬。我怎样才能让 LaTeX 在 99 个之后重置编号?
答案1
包裹alphalph
通过方法支持这种编号wrap
。以下示例定义了一个格式化命令\twodigitwrap
,它将编号换行为在 99 之后显示 1。脚注值不变,只是外观改变:
\documentclass{article}
\usepackage{alphalph}
\makeatletter
% \@twodigitwrap defines the symbols for \twodigitwrap
\newcommand*{\@twodigitwrap}[1]{%
\ifnum#1<100 %
\number#1%
\else
\@ctrerr
\fi
}
\newalphalph{\twodigitwrap}[wrap]{\@twodigitwrap}{}
\makeatother
\renewcommand*{\thefootnote}{\twodigitwrap{\value{footnote}}}
\begin{document}
Lorem\footnote{Lorem}
ipsum\footnote{ipsum}
dolor\footnote{dolor}
\addtocounter{footnote}{94}
\dots\space
Donec\footnote{Donec}
varius\footnote{varius}
orci\footnote{orci}
eget\footnote{eget}
risus\footnote{risus}.
\end{document}
答案2
您可以按页或按章设置脚注编号,以免读者感到困惑。对于每页,您必须显示文档类别。
\documentclass{article}
\usepackage[perpage]{footmisc}
\begin{document}
\footnote{Some footnote}
text here
\clearpage
\footnote{Some footnote}
text here
\clearpage
\footnote{Some footnote}
text here
\clearpage
\end{document}
答案3
我认为这种疯狂行为的背后是有某种方法的……
下面我使用字符串比较(通过\pdfstrcmp
;需要 e-TeX)来检查计数器的步进是否已完成footnote
。如果是,则执行另一项检查以重置计数器。
\documentclass{article}
\makeatletter
% Taken from latex.ltx and modified
\def\stepcounter#1{%
\ifnum\pdfstrcmp{#1}{footnote}=0 % Check if counter is footnote
\ifnum\value{footnote}=99 % Check if value should be reset
\setcounter{footnote}{0}% Reset footnote counter
\fi
\fi
\addtocounter{#1}\@ne
\begingroup
\let\@elt\@stpelt
\csname cl@#1\endcsname
\endgroup}
\makeatother
\usepackage[margin=1.5in,paper=a6paper]{geometry}
\begin{document}
First\footnote{First}. % 1
Second\footnote{Second}. % 2
\setcounter{footnote}{97}%
Third\footnote{Third}. % 98
Fourth\footnote{Fourth}. % 99
Fifth\footnote{Fifth}. % 1
\end{document}