Marginnote 中的 Verbatim 不起作用

Marginnote 中的 Verbatim 不起作用

我有一个非常棘手的问题。以下代码不起作用:

\documentclass{memoir}
\usepackage{verbatim}
\usepackage{marginnote}

\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et
dolore gubergren. \marginnote{\verb?\documentclass{memoir}?}%%% --- does not work!!!

\verb?\documentclass{memoir}?%%% it is working, looks pretty

\end{document}

我想写一些类似包装描述、手册的东西,这就是我想要创建边注的原因。

我得到的问题如下:

! LaTeX Error: Can be used only in preamble.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.8 

Your command was ignored.
Type  I <command> <return>  to replace it with another command,
or  <return>  to continue without it.

! LaTeX Error: \verb illegal in command argument.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.8 

更新

首先,感谢您的快速回答;)

我测试了这两个包。我发现 fancyvbr 包真的很好,它可以为我提供更多我所教的东西。cprotect 包也很好用,但如果我在 Verbatim 文本中留下一个括号——就像这里:

Lorem ipsum dolor sit amet \cprotect\marginnote{\verb?}?}

-- 那么它就不起作用了,我收到消息太多了{'...否则它在普通文本中可以工作,但不能在边注中工作

SaveVerb 可以作为一个解决方案,它正在发挥作用,但我不想保存 300 个 Verbatims :-)

所以我真的不知道该怎么办......

有什么想法吗?

答案1

fancyvrb包定义了可用于此目的的\SaveVerb命令和环境。事实上,该包手册中的一个例子就谈到了这种情况:SaveVerbatim

\DefineShortVerb{\|}
\SaveVerb{Verb}|_OK^|
\marginpar{\UseVerb{Verb}}

答案2

例如,您可以使用包cprotect\cprotect,它提供了适合此类用途的命令。对于您的情况,请使用

\cprotect\marginnote{\verb?\documentclass{memoir}?}

即,

\documentclass{memoir}
\usepackage{verbatim}
\usepackage{marginnote}
\usepackage{cprotect}
\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et
dolore gubergren. \cprotect\marginnote{\verb?\documentclass{memoir}?}

\end{document}

答案3

现在,您可以使用我的软件包的新版本来newverbs定义逐字边注宏。它不仅为您提供了相同的界面,\verb<char>...<char>而且还为您提供了相同的界面{...}

\documentclass{memoir}
\usepackage{marginnote}
\usepackage{newverbs}[2011/07/23]
\newcommand*{\verbmarginnote}{\collectverb{\marginnote}}

\usepackage{lipsum}
\begin{document}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et
dolore gubergren. \verbmarginnote|\documentclass{memoir}|
\lipsum

\end{document}

相关内容