此代码
\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}
然而最好还是避免_
使用标签。