我有以下代码来用罗马数字创建特定的脚注:
\renewcommand{\thefootnote}{\arabic{footnote}}
\newcommand{\fixedFootnote}[2]{
\let\oldthefootnote=\thefootnote
\renewcommand{\thefootnote}{\roman{footnote}}
\footnote[#1]{#2}
\let\thefootnote=\oldthefootnote
}
它非常有效。
问题:我无法使用 来引用它\footnotemark
。我尝试了以下方法,但都抛出了错误,无法编译(或在脚注中输入 0):
\footnotemark[\value{ii}]
休息\footnotemark[\roman{2}]
也打破了\footnotemark[ii]
也打破了
我怎样才能\footnotemark
参考我的\fixedFootnote
?
编辑:我无法使用\footnormark
,\ref
因为某些模板(例如我正在使用的模板)会破坏此命令。
答案1
问题是,\footnotemark
它的可选参数中没有采用文本参数(同样\footnote
),而是采用数值参数。在内部,LaTeX 采用可选参数\footnotemark
并将脚注计数器分配给提供的数字,然后使用 创建脚注标记\thefootnote
。
您谈到想要引用脚注。值得注意的是,您可以使用与引用文档中任何其他编号元素相同的机制通过编号引用脚注,只需确保将其放在\label
脚注本身的正文中即可:
\footnote{blah blah.\label{myfootnote}}
...
see note~\ref{myfootnote}
正如您在自我回答中指出的那样,如果您希望参考文献上标(我不推荐这样做),您可以改为写,\textsuperscript{\ref{myfootnote}}
这应该会给您提供与正常脚注标记几乎相同的格式(可以通过在\normalfont
之前添加来获得\ref
,例如,在斜体或粗体文本中,脚注标记不会以斜体或加粗形式显示。
答案2
虽然这不是最好的解决方案,但我最终还是这样做了:
\textsuperscript{ii}
ii
用我想要引用的数字替换。
答案3
现在可能太晚了,但我会添加一个答案。由于您使用两种脚注,我认为每种脚注都应该有自己的计数器,并且它们应该在页脚中分开。如果我是对的,那么这manyfoot
就是你想要的。它提供了一个定义新脚注的命令
\DeclareNewFootnote[⟨footnote style⟩]{⟨suffix⟩}[⟨enumeration style⟩]
在一个示例中,它的工作原理如下:
\documentclass{article}
\textheight=90pt%just for the example
\usepackage{manyfoot}
\DeclareNewFootnote{R}[roman]
\begin{document}
Text\footnote{a footnote} more text\footnoteR{another footnote}
Text\footnotemark more text\footnotemarkR
\footnotetext{more footnotes} \footnotetextR{the last footnote}
\end{document}
在里面手动的你可以看到这个包的更多功能