如何重置双列文档中每列的脚注计数器?

如何重置双列文档中每列的脚注计数器?

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

我有一个解决方案,可以与

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}

相关内容