如何获取脚注中的逐字文本?

如何获取脚注中的逐字文本?

我想\verb在脚注中使用命令。但是,当我pdflatex运行

\documentclass{article}

\begin{document}

I want this.\footnote{\verb|But, it does not work!|}

\end{document}

我明白了:

! LaTeX Error: \verb illegal in command argument.

我怎样才能做我想要做的事?(我知道我可以使用\footnote{\texttt{But, I lose the semantic mark-up.}}

答案1

包裹fancyvrb支持这一点。只需将其放在\VerbatimFootnotes序言后的任意位置,然后:

We can put verbatim\footnote{\verb+_Yes!_+} text in footnotes.

编辑:正如评论中指出的那样这里,这可能会与某些脚注特定的包发生冲突,例如footmisc与选项一起使用时para,但还有其他替代方案。从那里引用两个:

  • 该类memoir定义它的\footnote命令,以便它将在其参数中逐字接受,而无需任何支持包。

  • 使用fancyvrb,您可以在脚注中添加\SaveVerb某些内容。\UseVerb

还有更多软件包,例如examplep

答案2

bigfoot包裹允许在脚注中逐字引用材料:

\documentclass{article}
\usepackage{bigfoot}
% only for this example:
\textheight=.5in
\begin{document}

I want this.\footnote{\verb|But, it does not work!&%$|}

\end{document}

在此处输入图片描述

答案3

! LaTeX Error: \verb illegal in command argument.? 是的先生!

好吧,那么我们在环境中使用它:

环境的lrbox{<savebox>}工作原理与 类似,\sbox{<savebox>}{<stuff to save>}但不是将参数保存到保存框中,而是将环境的主体保存到保存框中。然后在\footnote命令内部使用该保存框。

代码

\documentclass{article}
\newsavebox\myVerb
\newenvironment{verbbox}{\lrbox\myVerb}{\endlrbox}
\newcommand*{\verbBox}{\usebox\myVerb}
\begin{document}
I want this.%
\begin{lrbox}\myVerb%
    \verb|You got this! % \ _ { }|%
\end{lrbox}%
\footnote{\usebox\myVerb}%

I defined a custom environment and a custom macro for you.%
\begin{verbbox}\scriptsize\verb|\begin{verbox} \verb!\begin{verbox} Inception?\end{verbox}! \end{verbbox}|\end{verbbox}%
\footnote{Wow?! \verbBox}%
\end{document}

输出

在此处输入图片描述

答案4

\cprotect使用简单,灵活(例如,参见这个答案对于使用相同解决方案的相关问题,\verb也可以在章节标题中使用)。

\documentclass{article}
\usepackage{cprotect}

\begin{document}

I want this.\cprotect\footnote{\verb|And, it works!|}

\end{document}

以下是一张截图(与\textheight其他答案一样进行了调整,以使截图变小):

输出的屏幕截图

相关内容