看起来你不能\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 保护。