如何将 \verb 命令放入 \t​​extbf{} 块内?

如何将 \verb 命令放入 \t​​extbf{} 块内?

看起来你不能\verb|...|在 内部使用\textbf{...}。我尝试了以下方法:

\textbf{Be very careful when using \verb|-i| as it's destructive and it's not reversible!}

出现此错误:

! LaTeX Error: \verb illegal in command argument.

有任何想法吗?

答案1

这取决于您希望 verbatim 支持什么。如果您只想将一些普通文本放入“verbatim”(打字机)字体中,则使用。如果您希望允许按原样显示\texttt特殊字符(例如_&或 ) ,则(xport 提到的)可能就足够了,并且允许对字体进行一些自定义。^\listinline

但是,如果你不以某种方式告诉周围的命令它们在那里,#或者仍然会给你带来麻烦:例如,一旦%%第一次从文件中读取时,TeX 会忽略该行的其余部分,并且无法检索它。据我所知,您有两个选择:要么在使用之前保存有问题的逐字文本,例如使用newverb,要么告诉周围的命令首先通过cprotect包逐字读取其参数。

\documentclass{article}
\usepackage{cprotect}
\begin{document}
Try \cprotect\textbf{this \verb|%ther #pt\on|}.
\end{document}

实际上,对于\textbf和其他字体命令,您也可以使用相应的开关,,\bfseries{\bfseries this \verb|%&#| example}

答案2

使用listings包,它非常有用,并且可以在任何地方使用,无论是在部分标题还是正文中。

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor,listings}
\lstset
{
    language={[LaTeX]TeX},
    basicstyle=\tt\color{red},
}
\begin{document}
\section{This is an inline listing in \lstinline|section|}
Remember \lstinline|I can find| a tool to convert PDF to EPS
\lstinline!in my! neither bathroom nor kitchen.
\end{document}

答案3

改用\texttt支持粗体字体的 Monotype 字体。\verb不能位于另一个宏内。

答案4

我制作了一个包来处理这种情况。像这样使用它

%! TEX program = lualatex
\documentclass{article}
\usepackage{cprotectinside}
\begin{document}

\cprotectinside{!}{\textbf{using !\verb|-i|! as} ...}

\end{document}

它的主要优点是它可以处理任意深度嵌套的受保护内容。例如在这些情况下,弄清楚要保护什么可能会有点困难。

它现在在 CTAN 上,并附带文档,但如果有任何错误,可以在以下位置找到源代码https://github.com/user202729/TeXlib

基本上,语法是\cprotectinside{ <delimiting character> }{ <text> },其中文本中出现的两个连续分隔符之间的区域将受到 c 保护。

相关内容