如何在下标中自动添加\!?

如何在下标中自动添加\!?

此代码

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$
\end{document}

产生以下输出:

间距

我更喜欢下方的间距。

有没有办法自动\!在所有下标上使用,这样我就不必每次都输入它了?如果这不是实现此间距的最佳方法,我当然渴望学习更好的方法。

答案1

您可以重新定义该命令_。因此,您必须更改符号的 catcode。示例中的重新定义应在序言中完成。我在文档正文中进行了此操作以演示该行为。

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$

 \catcode`\_\active
 \def_#1{\sb{\!#1}}

$a_{1}$
\end{document}

在此处输入图片描述


您无需更改下划线全局变量,而是可以将标记的数学代码设置为重新定义(由 David Carlisle 建议并由 egreg 改进):

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

$a_{\!1}$

\catcode`\_=12
\mathcode`\_="8000
\begingroup\lccode`\~=`\_
\lowercase{\endgroup\def~#1}{\sb{\!#1}}

$a_{1}$
\begin{equation}
1+1=1\label{eq_1}
\end{equation}
Text \ref{eq_1} Text$_1$
\end{document}

然而最好还是避免_使用标签。

相关内容