当在 \left[ \right] 内的符号顶部使用多个数学重音符时,符号会出现在括号的垂直中心,符号下部会留出空白。以下是 MWE
\documentclass{article}
\usepackage{bm}
\newcommand{\sub}[1]{{\scriptscriptstyle\mathrm{#1}}} %Small Math Sub
\newcommand{\Cov}[1]{\mathrm{Cov}\left[#1\right]}
\begin{document}
$\left[\vec{\bm{s}}_\sub{n}\right]$
$\left[\hat{\vec{\bm{s}}}_\sub{n}\right]$
$\Cov{\vec{\bm{s}}_\sub{n}}$
$\Cov{\hat{\vec{\bm{s}}}_\sub{n}}$
$\Cov{\tilde{\bm{A}}_\sub{L_\sub{n}}}$
\end{document}
例如,在文本中插入数学表达式时,这个额外的空间就会带来问题。
如何才能去除符号下方的垂直空白,以便括号的下端与其对齐?
答案1
您可以使用\vcenter
\documentclass{article}
\usepackage{amsmath,bm}
\newcommand{\sub}[1]{{\scriptscriptstyle\mathrm{#1}}} %Small Math Sub
\begin{document}
$\left[\vec{\bm{s}}_\sub{n}\right]$
$\left[\vcenter{\hbox{$\hat{\vec{\bm{s}}}_\sub{n}$}}\right]$
$\bigl[\vcenter{\hbox{$\hat{\vec{\bm{s}}}_\sub{n}$}}\bigr]$
\end{document}
或者
\documentclass{article}
\usepackage{mathtools,bm}
\newcommand{\sub}[1]{{\scriptscriptstyle\mathrm{#1}}} %Small Math Sub
\DeclarePairedDelimiterX\mybracket[1]{[}{]}{\vcenter{\hbox{$#1$}}}
\begin{document}
$\mybracket{\vec{\bm{s}}_\sub{n}}$
$\mybracket{\hat{\vec{\bm{s}}}_\sub{n}}$
$\mybracket{\hat{\vec{\bm{s}}}_\sub{n}}$
$\mybracket[\big]{\hat{\vec{\bm{s}}}_\sub{n}}$ %% optional argument can be size
$\mybracket*{\hat{\vec{\bm{s}}}_\sub{n}}$ %% starred version uses `\left and \right
\end{document}
答案2
没有必要用栅栏完全覆盖它们之间的符号。除非真的有必要,否则不要使用\left
和\right
,在这种情况下它们不是。
\documentclass{article}
\usepackage{amsmath,bm}
\newcommand{\sub}[1]{{\scriptscriptstyle\mathrm{#1}}} %Small Math Sub
\begin{document}
$[\vec{\bm{s}}_\sub{n}]$
$[\,\hat{\!\vec{\bm{s}}}_\sub{n}]$
$\bigl[\,\hat{\!\vec{\bm{s}}}_\sub{n}\bigr]$
\end{document}
请注意,这样做amsmath
可以稍微改善帽子的位置,但仍然需要更多的帮助。