我有一个非常棘手的问题。以下代码不起作用:
\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}