我如何在 LaTeX 中写出诸如“ Note that we have used \renewcommand several times ..
”之类的内容?这里没有什么特殊的\renewcommand
,它可以是\usepackage
、\textit
或任何 LaTeX 命令。
答案1
任何时候,如果您想要指定一些文本,而不想将其作为 LaTeX 命令进行评估,则应将其包装\verb
在行内逐字文本中,或者对于多行文本,使用verbatim
环境。它还会将文本设置为文档的默认打字机字体系列(通常是 Computer Modern Typewriter 或具有替代编码的等效字体)。您需要这样做,因为 Computer Modern Roman(又名“TeX 字体”)的默认编码在这些字符位置中不包含 <、>、|、{、} 或 \ 的预期字符。
例如,你可以写:
Note that we have used \verb+\renewcommand+ several times
请注意,\verb
其参数的语法与大多数 LaTeX 命令不同:它将采用其后的下一个字符并将所有内容视为逐字逐句,直到出现相同字符的下一个实例。¹
该verbatim
环境非常简单,不仅会保留字符,还会保留任何换行符³。在这两种环境中,空格都会按输入的方式重现。
由于 LaTeX 解析其参数的方式,您不能将\verb
或verbatim
环境放入另一个命令的参数中。⁴ 在该上下文中设置逐字文本的最完整方法是使用\texttt
和输入任何特殊字符,例如
\char`\\
对于任何应输出的特殊字符,请在特殊字符后加上\char
反引号和反斜杠。⁵
对此有一些例外。例如,您不能像这样使用
{
或}
。如果您使用字母,则\verb
字母²和字母²之间必须有一个空格,空格显然不能用作分隔符,Unicode 字符可以在 XeLaTeX 或 LuaLaTeX 中使用,但不能在 pdfLaTeX 中使用,等等。大多数人坚持使用少数字符作为分隔符。对于更有经验的 LaTeX 用户来说,您是否考虑过打字的可能性
\verb m\foom
?参数中不能有换行符,
\verb
这是有道理的,因为它是用于行内使用的,而换行符是没有意义的。LaTeX 假设如果它在参数中发现换行符\verb
,那一定是错误,并会给出错误。严格来说,这并不正确。
\index
将允许您输入\verb
其参数。有一个包允许\footnote
采用以允许其包含的方式解析的参数\verb
(虽然我忘记了它叫什么),尽管这是一种脆弱的做法,容易意外中断。还有一个文档类\footnote
以相同的方式进行修改,这是令人厌恶的。文档类不应以这种方式更改标准命令的行为。也许有办法,但我无法弄清楚如何逐字逐句地制作该特定字符串的内联 markdown 文本。