逐字描述列表项

逐字描述列表项

如何逐字逐句地列出描述中的项目?\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将以粗体显示,这可能就是您想要的,也可能不是。

相关内容