内联下划线溢出到下一行

内联下划线溢出到下一行

我的“xdim”命令的下划线与下一行的字符接触。如何纠正?

\documentclass[12pt]{minimal}
\usepackage{amsmath}

\newcommand{\xdim}[1]{\underset{\textrm{vec}}{\textrm{dim}}\left(#1\right)}

\begin{document}
$\xdim{f}$ consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna al ali qua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
\end{document}

在此处输入图片描述

答案1

定义dim为运算符可以以“传统”方式区分内联和显示方程式:内联使用时下标设置在“侧面”,而显示内部使用时则设置在“下方”。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath

\newcommand{\xdim}[1]{\underset{\textrm{vec}}{\textrm{dim}}\left(#1\right)}
\DeclareMathOperator*{\DIM}{dim}
\newcommand{\xxdim}[1]{\DIM_{\text{vec}}(#1)}

\begin{document}
$\xdim{f}$ consectetur adipisicing elit, $\xxdim{f}$ sed do 
eiusmod tempor incididunt ut labore et dolore magna al ali qua. 
Ut enim ad minim veniam, quis nostrud exercitation ullamco 
laboris nisi ut aliquip ex ea commodo consequat.
\[
  \xdim{f} \neq \xxdim{f}
\]
\end{document}

为此,您需要带星号的版本:\DeclareMathOperator*

答案2

如果您希望保持 MWE 中提供的整体外观,并且行距很近,我看到两个选项,并且我在这里都使用了它们。首先,我将下划线设置\scriptscriptstyle为 以节省垂直空间。其次,我使用stackengine而不是 来\underset最小化下划线间隙,在这里设置为 1pt。

\documentclass[12pt]{minimal}
\usepackage{stackengine}
\usepackage{amsmath}

\newcommand{\xdim}[1]{\stackMath\stackunder[1pt]{%
  \textrm{dim}}{\scriptscriptstyle\textrm{vec}}\left(#1\right)}

\begin{document}

$\xdim{f}$ consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna al ali qua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.

\end{document}

在此处输入图片描述

相关内容