创建一个新命令,使用自定义前缀制作脚注

创建一个新命令,使用自定义前缀制作脚注

这里是新的宏,我需要能够创建一个包含常规脚注命令和自定义命令的文档,该命令使脚注的工作方式与常规脚注相同,但在前面添加前缀“R”(代表备注)。

答案1

有一个名为的包manyfoot可用于与默认脚注一起创建新类型的脚注。以下代码将显示如何定义新的脚注:

\documentclass{article}

\usepackage{manyfoot}

\DeclareNewFootnote{A}
\DeclareNewFootnote{B}
\renewcommand\thefootnoteB{R\arabic{footnoteB}}
\let\footnoteR\footnoteB
\let\footnote\footnoteA
\begin{document}

Test\footnote{Regular footnote.} and Remark\footnoteR{Remark footnote}.

\end{document}

答案2

latex.ltx不使用任何特定的包,只是“破解”和的通常定义article.cls(例如)

\documentclass{article}


\makeatletter

\newcommand{\myfootnoteprefix}{R}

\newcommand\@makeremfntext[1]{%
  \parindent 1em%
  \noindent
  \hb@[email protected]{\hss\myfootnoteprefix\@makeremfnmark}: #1}% Prevent raised footnote number here with \@makeremfnmark


\def\@makeremfnmark{\hbox{\normalfont\@thefnmark}}% No \@textsuperscript!

\def\remfootnote{\@ifnextchar[\@xfootnote{\stepcounter\@mpfn
     \protected@xdef\@thefnmark{\thempfn}%
     \@footnotemark\@remfootnotetext}}
 \long\def\@remfootnotetext#1{\insert\footins{%
     \reset@font\footnotesize
     \interlinepenalty\interfootnotelinepenalty
     \splittopskip\footnotesep
     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
     \protected@edef\@currentlabel{%
       \csname p@footnote\endcsname\@thefnmark
     }%
     \color@begingroup% Use `\@makeremfntext instead of \@makefntext
     \@makeremfntext{%
       \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
     \color@endgroup}}%


 \makeatother


\begin{document}
Some footnote\remfootnote{Hello}

Some other footnote\remfootnote{Hello again!}
\end{document}

在此处输入图片描述

相关内容