目的是在没有数字的情况下对某些内容进行脚注。这个想法就像
\newcommand\blfootnote[1]{\begingroup\renewcommand\thefootnote{}\footnote{#1}\addtocounter{footnote}{-1}}
鉴于底部的这段代码,我有两个问题:
脚注
\blfootnote
没有编号,但 hyperref 放了一些没有内容的红框。我不想要这个。带有 的脚注
\footnote
已不再有数字。\documentclass{scrartcl} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \newcommand\blfootnote[1]{\begingroup\renewcommand\thefootnote{}\footnote{#1}\addtocounter{footnote}{-1}} \usepackage[ngerman]{varioref} \usepackage{hyperref} \usepackage[ngerman]{cleveref} \begin{document} \blfootnote{should be without number and is without number} \footnote{should be with number but is without number} \end{document}
如何修复此问题?
答案1
对于\footnote
没有一个数字,只需\footnotetext
对脚注编号的打印进行微小调整即可:
\documentclass{article}
\usepackage[paperheight=20\baselineskip]{geometry}% Just for this example
\newcommand{\blfootnote}[1]{{\renewcommand{\thefootnote}{\roman{footnote}}\footnotetext[0]{#1}}}
\usepackage{hyperref}
\begin{document}
\blfootnote{should be without number and is without number}
\footnote{should be with number}
\end{document}
\footnotetext[<num>]{<fn>}
将脚注设置<fn>
为数字<num>
。如果没有指定数字,则使用当前脚注编号。 的定义\blfootnote
将编号方案重置为\alph
,并强制脚注编号为0
。由于\alph
数字0
导致空白条目,因此不会打印脚注编号。
\blfootnote
内部的改变\thefootnote
是局部的,因此\thefootnote
在宏调用后会恢复到原始定义。