zref-perpage
可以使用或包重置每个页面的脚注计数器,perpage
但如何重置双列文档中每列的脚注计数器?
\documentclass[twocolumn]{article}
\usepackage{zref-perpage}
\zmakeperpage{footnote}
\begin{document}
This is a test\footnote{Test}
\newpage
This is a test\footnote{Test}
\end{document}
答案1
我有一个解决方案,可以与
footmisc
及其perpage
选择,zref-perpage
和\zmakeperpage{footnote}
或perpage
和\MakePerPage{footnote}
。
etoolbox
每次调用\preto
时,都会借助 来\footnote
检查它是在第一列还是第二列中使用。如果它在第二列,则重置脚注计数器(如果之前没有重置过)。为此,使用一个新条件,在重置后设置为,并在第一列中再次true
设置为。false
尽管这在我的测试中运行良好,但它可能存在我不知道的缺点。
\documentclass[twocolumn]{article}
\usepackage[perpage]{footmisc}
% or
% \usepackage{zref-perpage}
% \zmakeperpage{footnote}
% or
% \usepackage{perpage}
% \MakePerPage{footnote}
\usepackage{lipsum}% dummy text
\usepackage{etoolbox}
\makeatletter
\newif\iffootnoteresetted
\preto\footnote{%
\if@firstcolumn
\footnoteresettedfalse
\else
\iffootnoteresetted\else
\setcounter{\@mpfn}{0}%
\footnoteresettedtrue
\fi
\fi
}{}{}
\makeatother
\begin{document}
This is a test\footnote{Test}
This is a test\footnote{Test}
\lipsum[1-4]
This is a test\footnote{Test}
This is a test\footnote{Test}
\lipsum[1-4]
This is a test\footnote{Test}
This is a test\footnote{Test}
\newpage
This is a test\footnote{Test}
This is a test\footnote{Test}
\end{document}
答案2
为了说明我所说的缺点,评论太长了。
\documentclass[a4paper,twocolumn]{article}
\usepackage{lipsum}
\makeatletter
\let\@ORG@makecol\@makecol
\gdef\@makecol{\setcounter{footnote}{0}\@ORG@makecol}
\makeatother
\begin{document}
\def\TEST{
This is a test. \footnote{Begin}
This is a test. This is a test. This is a test. This is a test. This is a test. This is a test. \footnote{End} This is a test.\par
}
\TEST\TEST\TEST\TEST\TEST\TEST\TEST\TEST
\TEST\TEST\TEST\TEST\TEST\TEST\TEST\TEST
\end{document}
答案3
脚注计数器需要在宏开始时重置\@makecol
:
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\makeatletter
\let\@ORG@makecol\@makecol
\gdef\@makecol{\setcounter{footnote}{0}\@ORG@makecol}
\makeatother
\begin{document}
This is a test\footnote{Test}
This is a test\footnote{Test}
\lipsum[1-4]
This is a test\footnote{Test}
This is a test\footnote{Test}
\lipsum[1-4]
This is a test\footnote{Test}
This is a test\footnote{Test}
\newpage
This is a test\footnote{Test}
This is a test\footnote{Test}
\end{document}