我如何将“ $_
”字符串放入\section
?
当我尝试时,\section{$\_}
它出现Missing $ inserted
错误。
当我尝试时,\section{\$\_}
它出现Extra }, or forgotten $.
错误。
当我尝试时,\section{\verb|$_|}
它出现Argument of \@xtrplargoom has an extra }
错误。
答案1
这不是答案,而是解释:
“当我尝试时,
\section{$\_}
它给出了Missing $ inserted
错误。”你可以在 中使用数学运算
\section
,所以\section{This is $x$}
没有问题。但是,在你的情况下,你没有结尾的$
。当然,你可能不想要它,但这就是 TeX 所看到的,因此也是期望的。“当我尝试时,
\section{\$\_}
它给出了Extra }, or forgotten $
错误。”这是有效的,因为转义
$
并_
删除了它们的数学上下文。“当我尝试时,
\section{\verb|$_|}
它给出了Argument of \@xtrplargoom has an extra }
错误。”您不能将逐字内容作为参数传递给宏。请参阅为什么逐字在...内不起作用?如果您真正想要的是这些,那么该链接包含以多种方式使用逐字内容作为参数的方法。
与...合作时hyperref
,您可能还有兴趣使用\texorpdfstring{<TeX string>}{<PDF string>}
\section
。如果您的书签(也与命令相关联)由包含 ASCII 字符的字符串组成,这将很有帮助。
还有一个问题:
为什么有时它可以不是工作然后突然工作?
好吧,当你使用 时
\section{<stuff>}
,LaTeX 实际上会这样做\section[<stuff>]{<stuff>}
(因为即使你没有指定它,也会使用可选参数的完整语法)。因此,<stuff>
它会进入你的.aux
文件,用于处理标签、参考资料和其他与 ToC 相关的东西。如果“坏东西”进入其中,可能需要“正确”的编译来清除它(即使读取“坏东西”仍然会出现错误).aux
),然后其他“正确”编译是没有错误的。如果有疑问,您可以在.aux
编译之前删除文件,重新开始。