在我的简历中,我使用fixfoot
几种不同的标记来标记演讲等(例如标记它是虚拟演讲或已支付费用)。目前,我使用基于以下类型的符号来标记:此代码;脚注文本仅显示在相关页面上,正如所期望的那样。问题是,由于我只有少数几种脚注类型,我希望每种脚注都有自己专用的符号,而不是根据存在的脚注和顺序逐页更改(如下面的 MWE 所示)。
也就是说,脚注类型 A 应该始终为“A”,类型 B 应该始终为“B”,理想情况下它们应该按照相应的顺序出现(首先是“A”,然后是“B”,但跳过给定页面上不存在的任何顺序)。
我尝试修改 fixfoot.sty 来执行此操作,但这超出了我的能力范围——我预计至少可以通过更改已应用的补丁来修复符号(但不是顺序),但我没有想出正确的做法。 (我也希望它们以固定的顺序出现。)也可能有一种更简单的方法(从某种意义上说,它比 fixfoot 解决的问题更容易)......
如果每个类别都出现在每个页面上,那么我可以使用类似以下解决方案:在每一页写相同的脚注,如果没有人提出更好的建议,也许我会尝试类似的方法作为部分解决方案。
\documentclass{article}
\usepackage[paperheight=1in,paperwidth=2in]{geometry}
% https://tex.stackexchange.com/questions/68703/fixfoot-sty-with-symbols
\usepackage[symbol*,perpage,bottom]{footmisc}
\usepackage{fixfoot}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@fixed@footnote
{\protected@xdef\@thefnmark{\csname @#1@fftn@footnote\endcsname}}%
{\protected@xdef\@thefnmark{%
\expandafter\@fnsymbol\csname @#1@fftn@footnote\endcsname}}%
{}{}
\makeatother
\DeclareFixedFootnote{\notea}{Type A.}
\DeclareFixedFootnote{\noteb}{Type B.}
\begin{document}
A\notea{} and B\noteb{}.
\clearpage
B\noteb{} and A\notea{}.
\end{document}
答案1
我仍然不知道如何对它们进行排序,但是这个简单的解决方案使我达到了我想要的 90%:fixfoot
完全避免,只需使用perpage
并检查是否进行\footnotetext
。
\documentclass{article}
\usepackage[paperheight=1in,paperwidth=2in]{geometry}
\usepackage{perpage}
% This should be wrapped into a command to
% declare a new static footnote, but I honestly
% don't quite understand how to do that here.
\newcounter{acount}
\MakePerPage{acount}
\newcommand{\notea}{%
\stepcounter{acount}%
\footnotemark[100]%
\ifnum \value{acount}=1%
{\footnotetext[100]{Type A.}}%
\fi%
}
\newcounter{bcount}
\MakePerPage{bcount}
\newcommand{\noteb}{%
\stepcounter{bcount}%
\footnotemark[101]%
\ifnum \value{bcount}=1%
{\footnotetext[101]{Type B.}}%
\fi%
}
\renewcommand{\thefootnote}{%
\ifnum \value{footnote}<10%
\fnsymbol{footnote}%
\else \ifnum \value{footnote}=100
\textit{a}%
\else \ifnum \value{footnote}=101
\textit{b}%
\else%
\arabic{footnote}%
\fi\fi\fi%
}
\begin{document}
A\notea{} and\notea{} B\noteb{}.\footnote{Regular footnote.}
\clearpage
B\noteb{} and\noteb{} A\notea{}.
\end{document}