我希望下面两个例子中的转置具有相同的高度,是否有可能让转置符号忽略字符上方的框?
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\newcommand{\vect}[1]{\mathbf{#1}}
\newcommand{\vA}{\vect{A}}
\newcommand{\dvect}[1]{\vect{\dot{#1}}}
\begin{align}
{_\mathrm{K}}\dvect{\hat{\vA}}^\top \quad {_\mathrm{K}}\dvect{\vA}^\top \quad\quad {_\mathrm{K}}\vA^\top
\end{align}
\end{document}
{_\mathrm{K}}\dvect{\vA}^\top \quad {_\mathrm{K}}\vA^\top
\end{align}
\end{document}
答案1
我建议你创建一个专用的宏,比如说,\tran
充当转置运算符。将它设置为其高于基线的高度与它前面的字符无关,这样就没问题了。
如果您想使用\top
符号来表示转置,我建议您通过\scriptscriptstyle
指令来减小它的大小。
根据您使用的数学字体系列,您需要微调转置符号之前和之后的间距调整。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\vect}[1]{\mathbf{#1}}
\newcommand{\vA}{\vect{A}}
\newcommand{\dvect}[1]{\vect{\dot{#1}}}
% "\tran": transpose operator
\newcommand\tran{\mkern-1mu{}_{}^{\scriptscriptstyle\top}\mkern-4mu}
\begin{document}
\begin{align*}
&{_\mathrm{K}}\dvect{\hat{\vA}}^\top \quad {_\mathrm{K}}\dvect{\vA}^\top \quad
{_\mathrm{K}}\vA^\top \quad
\Gamma^{\top}\Gamma \quad H^{\top}H \\
&{_\mathrm{K}}\dvect{\hat{\vA}}\tran \quad
{_\mathrm{K}}\dvect{\vA}\tran \quad
{_\mathrm{K}}\vA\tran \quad
\Gamma\tran \Gamma \quad H\tran H
\end{align*}
\end{document}
附录:如果您想要 (a) 相对于上面的示例代码稍微提升转置符号,并且 (b) 将其稍微向左移动(以便它更接近前面的符号,您可以使用以下版本的宏\tran
:
\newcommand\tran{\mkern-2mu\raise1.25ex\hbox{$\scriptscriptstyle\top$}\mkern-3.5mu}
相对于 MWE 中显示的版本,该符号1mu
向左移动(相当于三分之一的窄空间),并且位置也稍微靠上一些。