我需要在 \subsection 字符串中带有下划线,例如 ABC_XYZ。
\subsection{文本 ABC_XYZ}
当我尝试使用 pdflatex 进行编译时:
Missing $ inserted ...ine {1.2}Text ABC_XYZ}{4}{subsection.1.1.2}
Extra }, or forgotten $ ...ine {1.2}Text ABC_XYZ}{4}{subsection.1.1.2}
我无法写入ABC\_XYZ
。对我来说,自动找到此字符串 ABC_XYZ 非常重要。而且我需要目录中的此字符串。
选项
\verb+ABC\_XYZ+
不工作。
你能帮助我吗?
答案1
我认为,如果您有下划线字符,那么您可能还会有其他字符(例如%
,,,和),这些字符在 TeX 中具有特殊含义。如果是这样,您可能需要使用该包并创建一个命令(“受保护的 URL”的缩写),以便相关字符串可以成为“移动参数”的一部分(例如,当它们出现在命令的参数中时):&
#
$
url
\purl
\caption
\documentclass{article}
\usepackage{url}
\urlstyle{same} % omit this command if you want monospaced-font look
\newcommand\purl[1]{\protect\url{#1}} % "protected url"
\begin{document}
\tableofcontents
\subsection{Text \purl{ABC_XYZ}}
\end{document}
答案2
我真的无法想象需要你能够_
在章节标题中写字的情况,但当然,有时你会遇到类似这样的模糊问题。一种方法是替换
\subsection{Text ABC_XYZ}
经过
\catcode`\_=13
\def_{\textunderscore}
\subsection{Text ABC_XYZ}
\catcode`_=8
我不会发誓它不会产生不良后果,但实际上可能如此,因为 的定义似乎\subsection
不使用_
。