这是我之前问题的后续将单独的脚注合并到文本中。
我现在有一个类似的情况,我需要检查是否真的存在是与特定数字相关的脚注:
\documentclass[a4paper]{article}
\usepackage{lipsum}
\newcommand{\mylips}[1]{\printfootnote#1 \lipsum[#1]}
\def\printfootnote#1{\footnote{\csname extfootnote#1\endcsname}}
\def\definefootnote#1 #2\endfootnote{%
\expandafter\def\csname extfootnote#1\endcsname{#2}}
\input{footnotefile}
\begin{document}
\mylips{1}
\mylips{2}
\mylips{3}
\mylips{4}
\mylips{5}
\mylips{6}
\mylips{7}
\end{document}
footnotefile.tex
将会
\definefootnote1 Some footnote\endfootnote
\definefootnote3 Another footnote\endfootnote
\definefootnote7 And another footnote\endfootnote
挑战在于我根本不想出现空白的笔记。
我该如何编写测试来判断某个结果\printfootnote\arabic{somecounter}
是否为空?
答案1
那么您\printfootnote
应该检查脚注是否已定义:
\def\printfootnote#1{%
\expandafter\ifx\csname extfootnote#1\endcsname\relax % by default \csname FOO\endcsname is \relax
\stepcounter{footnote}\else % Even if we do not produce footnote, we step the number
\footnote{\csname extfootnote#1\endcsname}\fi}
在您的示例中,这对我来说是有效的。