\를 자동으로 추가하는 방법! 아래첨자로?

\를 자동으로 추가하는 방법! 아래첨자로?

이 코드

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

그러나 가장 좋은 것은 _라벨을 피하는 것입니다.

관련 정보