字母 + 下标下方的波浪符号会产生不必要的空格

字母 + 下标下方的波浪符号会产生不必要的空格

我使用字母下方的波浪号作为矢量的符号。重新定义 \vec 命令可以得到良好的输出,但下标很麻烦。我使用以下代码:

\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\begin{document}
\renewcommand{\vec}[1]{{\underset{\sim}{#1}}}
$\vec v = \vec{e}_x + 2 \vec{e}_y + 3\vec{e}_z $
\end{document}

这将产生以下输出:

输出不佳

符号和波浪号之间的空间太大,单位向量的下标太低。

我更喜欢这个:

好输出

我已经尝试了多种变化,例如{\vec{e}}_x,但问题仍然存在。

有任何想法吗?

答案1

您可能想要使用accents

\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}

\newcommand{\ut}[1]{\underaccent{\tilde}{#1}}
\renewcommand{\vec}[1]{\ut{#1}}

\begin{document}

$\vec v = \vec{e}_x + 2 \vec{e}_y + 3\vec{e}_z $

\end{document}

在此处输入图片描述

答案2

一个stackengine解决方案。可以使用 的第一个参数来调整下划线间隙\stackengine

\documentclass[10pt,a4paper]{article}
\usepackage{amsmath,stackengine}
\renewcommand{\vec}[1]{%
  \smash{\ensurestackMath{\stackengine{1pt}{#1}{\scriptscriptstyle\sim}{U}{c}{F}{F}{S}}}
  \vphantom{#1}
}
\begin{document}
$\vec v = \vec{e}_x + 2 \vec{e}_y + 3\vec{e}_z $
\end{document}

在此处输入图片描述

答案3

尝试使用相同的undertilde包。

代码如下。它对我来说非常有效。

\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{undertilde}
\begin{document}
$\utilde{v} = \utilde{e}_{x} + 2 \utilde{e}_{y} + 3\utilde{e}_{z}$ 
\end{document}

在此处输入图片描述

相关内容