如何自動新增\!在下標中?

如何自動新增\!在下標中?

這段程式碼

\documentclass{article}
\usepackage{fouriernc}

\begin{document}
$a_1$

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

產生這個輸出:

間距

我比較喜歡下面那個的間距。

有沒有一種方法可以自動使用\!所有下標,這樣我就不必每次都鍵入它?如果這不是實現此間距的最佳方法,我當然渴望學習更好的方法。

答案1

您可以重新定義該命令_。因此,您必須更改標誌的目錄代碼。範例中的重新定義應在序言中完成。我在文檔正文中這樣做是為了演示該行為。

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

然而最好是避免_在標籤中出現。

相關內容