下線付きの数学演算子

下線付きの数学演算子

下線付きの数学演算子を定義する「最良の」方法はあるでしょうか?今のところ、私は次のように定義しています

DeclareMathOperator{\uHom}{\underline{Hom}}

これは、ある程度は機能しますが、下線が長すぎます。下付き文字と結合する傾向があります。例$\uHom_R$:

\uHom_R

答え1

少し異なるバージョンをご紹介します。対称性を保つために、両側に短縮を適用します。

短縮されるかどうかは、パラメータに指定された値によって異なります\uHomskip

\documentclass{article}
\usepackage{amsmath}

\newmuskip\uHomskip
\DeclareMathOperator{\uHom}{%
  \mkern\uHomskip
  \underline{\mkern-\uHomskip Hom\mkern-\uHomskip}
  \mkern\uHomskip
}

\begin{document}
\newcommand{\test}[1]{%
  \begingroup\uHomskip=#1mu\relax
  \makebox[2em][l]{#1:}$\uHom_R$
  \endgroup\par
}

\test{0} \test{0.5} \test{1} \test{1.5} \test{2}

\end{document}

ここに画像の説明を入力してください

希望する金額を決めたら、例えば前文で設定するだけです。

\newmuskip\uHomskip \setlength{\uHomskip}{1.5mu}
\DeclareMathOperator{\uHom}{%
  \mkern\uHomskip
  \underline{\mkern-\uHomskip Hom\mkern-\uHomskip}
  \mkern\uHomskip
}

単位を使用する利点は、mu下付き文字/上付き文字が自動的にスケーリングされることです。

左側の短縮が不要な場合は、関連するカーニングを削除します。

\newmuskip\uHomskip \setlength{\uHomskip}{1.5mu}
\DeclareMathOperator{\uHom}{%
  \underline{Hom\mkern-\uHomskip}
  \mkern\uHomskip
}

答え2

下線付きの資料の前や中に小さなスペースを追加したり削除したりできます。

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\uHom}{\,\underline{\!Hom\!}\,}
\begin{document}
$\uHom_R$
\end{document}

ここに画像の説明を入力してください

答え3

この回答はスティーブンの回答とよく似ていますが、「小さなスペース」のサイズについてはもう少し控えめです。

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\uHom}{\underline{Hom\kern-.05em}\kern.1em}
\begin{document}
$\uHom_R$
\end{document}

サンプルコードの出力

関連情報