在逐字文本中添加脚注

在逐字文本中添加脚注

我已经了解了如何将逐字文本添加到脚注中:如何获取脚注中的逐字文本?

我想做的是相反的,在某个verbatim部分包含脚注。我使用类memoirlistings逐字逐句地添加部分和perpage脚注。脚注应该像普通脚注一样出现在页面底部。我不介意脚注符号/上标(不确定技术术语)是文本还是正常样式。

答案1

listings提供了在列表内转为 LaTeX 的可能性,请参阅第 5.12 节转至 LaTeX手册中的详细信息。基本思想是设置一个转义符切换到 LateX 并转回:

\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[basicstyle=\ttfamily,columns=fullflexible,gobble=2,escapechar=ß]
  helloß\footnote{test}ß world
\end{lstlisting}
\end{document}

在此处输入图片描述

在此处输入图片描述

除了escapechar=<tokens>设置一个或多个字符<tokens>来开始和结束转义符外,您还可以使用escapeinside={<tokens1>}{<tokens2>}或(escapebegin=<tokens1>,escapeend=<tokens2>如果您想要两个不同的字符/字符串<tokens1><tokens2>作为开始和结束)。<tokens1>并且<tokens2>也可以是相同的标记列表。(测试表明,如果<tokens>长度超过一个标记,它不能只包含相同的标记——不过,我还没有确定这种行为背后的明确模式,手册似乎也没有提到这一点。)

答案2

这是不使用软件包的版本(即,在普通verbatim环境中工作)。我?激活了(或您选择的任何字符),并使用!(或您选择的任何字符)作为分隔符。

使用此语法,?!My footnote!相当于\footnote{My footnote}

\documentclass{article}
\textheight=1.5in\relax% FOR THIS MWE ONLY
\begin{document}
{\catcode`?=\active
\def?!#1!{\footnote{#1}}
\begin{verbatim}
This is a?!My footnote! test, and another?!another footnote!;
And now for some more?!yet another footnote! here.
Finally, the last one?!final footnote! here.
\end{verbatim}
}
\end{document}

在此处输入图片描述

答案3

您可以使用该verbatim包来定义一个新环境,该环境定义一个字符来括住脚注文本。

\documentclass{article}
\usepackage{verbatim}

\textheight=3cm % just not to waste space

\newcommand{\vfchar}[1]{%
  % the usual trick for using a "variable" active character
  \begingroup\lccode`~=`#1 \lowercase{\endgroup\def~##1~}{%
    % separate the footnote mark from the footnote text
    % so the footnote mark will occupy the same space as
    % any other character
    \makebox[0.5em][l]{\footnotemark}%
    \footnotetext{##1}%
  }%
  \catcode`#1=\active
}
\newenvironment{fverbatim}[1]
 {\verbatim\vfchar{#1}}
 {\endverbatim}

\begin{document}

\begin{fverbatim}{?}
Some verbatim and a footnote?Text of the footnote? here
Another?Text? and let's see the alignment
is good enough
\end{fverbatim}

\end{document}

在此处输入图片描述

相关内容