帶底線的數學運算符

帶底線的數學運算符

是否有“最佳”方法來定義帶有下劃線的數學運算符?現在,我已經定義了

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}

範例程式碼的輸出

相關內容