如何在同一个句子中添加带有不同符号的脚注?

如何在同一个句子中添加带有不同符号的脚注?

例如,我想用以下代码实现不同的脚注符号:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\footnote{This is the first footnote.}Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\footnote[Roman]{This is the another first footnote.}Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\footnote{the second footnote.}

还有这些脚注:

1 这是第一个脚注。i
这是另一个第一个脚注。
2 第二个脚注。

我已经仔细研究过footmisc\renewcommand,但不幸的是,这并没有像我希望的那样发挥作用。我该如何实现呢?

答案1

首先,我会不是建议您使用的语法,因为标准 LaTeX\footnote已经采用了可选参数(替换脚注编号)。

我个人认为,如果脚注与“类似”脚注组合在一起,会更清晰;也就是说,所有阿拉伯数字编号的脚注首先出现,然后是所有罗马数字编号的脚注。如果您对上一句中建议的样式感到满意,那么您可以使用manyfoot

在此处输入图片描述

代码:

\documentclass{article}
\usepackage[a6paper]{geometry} % Just so that the demo output has less useless whitespace

\usepackage{manyfoot}

\DeclareNewFootnote{R}[roman]

\begin{document}
Test\footnote[14]{Should be 14}. Test\footnote{Should be 1}. Test\footnoteR{Should be i}. Test\footnoteR[15]{Should be xv}. Test\footnote{Should be 2}. Test\footnoteR{Should be ii}.
\end{document}

请注意,其manyfoot语法与您建议的语法不同。但这可能是所需工作量最少的选项,并且可能具有经过更好测试的代码。


现在,manyfoot按设计将不同的脚注系列分开打印;其设计方式与脚注系列混合不兼容。如果您希望将系列混合,以下是精简版另一个先前给出的答案

在此处输入图片描述

代码:

\documentclass{article}
\usepackage[a6paper]{geometry} % Just so that the demo output has less useless whitespace


\let\oldfootnote\footnote
\makeatletter
\newcommand*\DeclareFootnoteOption[2]{
        \newcounter{footnote#1}
        \expandafter\def\csname footnote#1\endcsname{%
                \def\@mpfn{footnote#1}%
                \def\thempfn{\csname#2\endcsname{footnote#1}}%
                \oldfootnote}
}
\makeatother
\DeclareFootnoteOption{A}{arabic}
\DeclareFootnoteOption{R}{roman}
\def\footnote{\footnoteA}  % So that \footnote becomes a shorthand for \footnoteA


\begin{document}
Test\footnote[14]{Should be 14}. Test\footnote{Should be 1}. Test\footnoteR{Should be i}. Test\footnoteR[15]{Should be xv}. Test\footnote{Should be 2}. Test\footnoteR{Should be ii}.
\end{document}

\footnote这里我们利用了这样一个事实,即in的默认定义latex.ltx具有内置的灵活性,可以使用其他计数器和脚注标记的其他格式。


最后,如果您更喜欢将格式选项作为可选参数传递给的语法\footnote,请考虑以下内容,它使用定义\NewDocumentCommand为使用()作为格式参数的分隔符。

\documentclass{article}
\usepackage[a6paper]{geometry} % Just so that the demo output has less useless whitespace


\let\oldfootnote\footnote
\makeatletter
\newcommand*\DeclareFootnoteOption[2]{
        \newcounter{footnote#1}
        \expandafter\def\csname footnote#1\endcsname{%
                \def\@mpfn{footnote#1}%
                \def\thempfn{\csname#2\endcsname{footnote#1}}%
                \oldfootnote}
}
\makeatother
\DeclareFootnoteOption{arabic}{arabic}
\DeclareFootnoteOption{roman}{roman}
\RenewDocumentCommand\footnote{D(){arabic}}{\csname footnote#1\endcsname}


\begin{document}
Test\footnote[14]{Should be 14}. Test\footnote{Should be 1}. Test\footnote(roman){Should be i}. Test\footnote(roman)[15]{Should be xv}. Test\footnote{Should be 2}. Test\footnote(roman){Should be ii}.
\end{document}

答案2

这是我使用名为 的命令做出的一个相当粗略的解决方案,该命令为、、和\specialfootnote中的每个计数器样式设置不同的计数器。在下面的示例中,小写脚注和普通阿拉伯数字脚注彼此独立编号。romanRomanalphAlphroman

以下代码生成的七个脚注。罗马数字脚注与印度-阿拉伯数字脚注完全独立,导致脚注编号为 1、i、ii、2、3、4 iii。

\documentclass{article}

\newcounter{footnoteroman}\setcounter{footnoteroman}{0}
\newcounter{footnoteRoman}\setcounter{footnoteRoman}{0}
\newcounter{footnotealph} \setcounter{footnotealph}{0}
\newcounter{footnoteAlph} \setcounter{footnoteAlph}{0}

\def\specialfootnote[#1]#2{%
  {%
    \setcounter{footnote}{\value{footnote#1}}%
    \renewcommand{\thefootnote}{\csname#1\endcsname{footnote}}\footnote{#2}%
    \addtocounter{footnote}{-1}%
  }%
  \stepcounter{footnote#1}%
}

\begin{document}

I am number one.\footnote{This is the first footnote.}

I am also number one.\specialfootnote[roman]{This is the another first footnote.}

I am number two.\specialfootnote[roman]{The second footnote.}

I am number two, too.\footnote{The second footnote, part two.}

I am number three.\footnote{Third footnote.}

I am number four.\footnote{Fourth footnote}

I am still three.\specialfootnote[roman]{Third footnote, again.}

\end{document}

相关内容