如何在 Verbatim 中选择性加粗?

如何在 Verbatim 中选择性加粗?

我之前写过一本计算机专业书,其中展示了用户在控制台上输入的内容以及计算机的结果输出。我喜欢这样做的方式是将所有内容都放在 courier 中,将用户的输入放在大胆的. 类似这样:

<tt>
$ <b>echo foo</b>
foo
$
</tt>

我将其输入为 HTML,因为我不知道如何在 Markdown(StackExchange 使用的)中执行此操作,也不知道如何在 LaTeX 中轻松执行此操作。我当然可以使用 来做到这一点\texttt{\$ \textbf{echo foo}},但我宁愿不必引用所有内容。

我不想使用 lstlisting 推荐的在列表内使用粗体/斜体文本?,因为我不想让 LaTeX 决定什么是粗体。

还有其他建议吗?

答案1

如果您只需要fancyvrb完整的软件包listings,则可以使用以下选项轻松完成commandchars

\documentclass{article}
\usepackage{fancyvrb}
\newcommand\userinput[1]{\textbf{#1}}
\usepackage{tgcursor}

\begin{document}
\begin{Verbatim}[commandchars=\\\{\}]
$ \userinput{echo foo}
foo
$
\end{Verbatim}
\begin{Verbatim}[commandchars=\#\[\]]
$ #userinput[echo \]
> #userinput[foo]
foo
$
\end{Verbatim}
\end{document}

转义字符三元组可以由环境中未使用的任何内容组成Verbatim

在此处输入图片描述

答案2

alltt另一个选项是使用该包,但它不如 egreg 灵活。

\documentclass{article}
\usepackage{alltt}
\begin{document}
\begin{alltt}
$ {\bf echo foo}
foo
$
\end{alltt}
\end{document}

相关内容