如何逐字逐句地列出描述中的项目?\verb
似乎\item[]
不允许:
\begin{description}
\item[\verb+list comprehension [f a | a <- M a]+] bla bla bla
\end{description}
答案1
包裹examplep
提供多种命令和环境用于排版逐字文本。例如,强大的命令\PVerb[options]{text}
和\Q{text}
可用于宏参数和章节标题。
描述列表的代码示例:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[Q=yes]{examplep}
\begin{document}
\begin{description}
\item[\Q{list comprehension [f a | a <- M a]}] bla bla bla
\item[\PVerb{testing: \verb||{} #_$ }] item text
\end{description}
\end{document}
输出:
看LaTeX 中的逐字短语和列表由 Péter Szabó (或texdoc examplep
) 提供更多信息。可能需要转义特殊字符(例如使用\Q
),如文档第 3.1 节所述。
请注意,必须使用 T1 字体编码才能获得正确的 < 符号,因为该符号在标准 OT1 编码中不可用。
答案2
该\verb
命令不允许位于其他命令的参数中。一种解决方法是\SaveVerb
使用fancyvrb
。
以下定义\vitem
取自伴侣。它有一个可选参数,从fancyvrb
包中获取样式参数。
\usepackage{fancyvrb}
\newcommand\vitem[1][]{\SaveVerb[%
aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}}
\begin{description}
\vitem+list comprehension [f a | a <- M a]+ bla bla bla
\end{description}
答案3
为了完成,一个使用的解决方案\cprotect
,以及一个\verb
完全避免的解决方案。
并且(大多数时候)回答了这个问题:我怎样才能将逐字放入可选参数中?
\usepackage{cprotect}
...
\begin{description}
\cprotect[o]\item[\verb+list comprehension [f a | a <- M a]+] bla bla bla
\item[\textnormal{\texttt{list comprehension [f a | a <- M a]}}] bla bla bla
\end{description}
如果没有\textnormal
,则 生成的文本\texttt
将以粗体显示,这可能就是您想要的,也可能不是。