![在 XeLaTeX 中的数学上标中添加空格](https://linux22.com/image/422583/%E5%9C%A8%20XeLaTeX%20%E4%B8%AD%E7%9A%84%E6%95%B0%E5%AD%A6%E4%B8%8A%E6%A0%87%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%A9%BA%E6%A0%BC.png)
我有同样的问题这里。解决方法是在前言中添加这一段代码
\let\sp^
\catcode`\^=\active
\gdef^#1{\sp{\hspace{0.06em} #1}}
该解决方案似乎有效。但是,我面临一个新问题。我正在使用 overleaf,当我将其放入序言中时,overleaf 编辑器会将^
上述代码中的符号涂成红色。因此,我认为编辑器不喜欢代码的编写方式。这在以下事实中更加明显:现在对我来说,overleaf 的自动编译不起作用。当我删除上述行时,自动编译可以工作。有没有办法重写代码,使其不会与自动复杂化混淆?由于我是 LaTeX 新手,如果有人也解释一下答案会更好。
答案1
(此处有来自 Overleaf Support 的汤姆。)
有关如何禁用部分文档的代码检查的建议如下: https://www.overleaf.com/learn/how-to/Code_Check#Disabling_Code_Check_for_part_of_a_file
您可以使用%%begin novalidate
和%%end novalidate
标记不进行代码检查的部分。
\documentclass{...}
% Here is the preamble blablabla
%%begin novalidate
\let\sp^
\catcode`\^=\active
\gdef^#1{\sp{\hspace{0.06em} #1}}
%%end novalidate
\begin{document}
Hello, world!
\end{document}