在 XeLaTeX 中的数学上标中添加空格

在 XeLaTeX 中的数学上标中添加空格

我有同样的问题这里。解决方法是在前言中添加这一段代码

\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}

相关内容