用于书写矩阵转置的小型大写 mathsf 字体

用于书写矩阵转置的小型大写 mathsf 字体

我想在数学公式模式下生成一个小型无衬线字体字母 t 来排版转置。但是,A^{\mathsf{\textsc{t}}}不起作用。有什么想法吗?

答案1

Computer Modern Sans Serif 缺少小写字母(Latin Modern 也缺少)。此外,\textsc内部命令\mathsf不会产生无衬线字体,因为\mathXX命令不会累积。

如果你不需要在下标或上标中使用这个,你可以这样做

\newcommand{\trans}{^{\scriptscriptstyle\mathsf{T}}}

完整示例:

\documentclass{article}
\usepackage{amsmath}

\newcommand{\trans}{{\scriptscriptstyle\mathsf{T}}}

\begin{document}

Output: $A^{\trans}$

Comparison: $A^{\textsc{t}}$

Subscript: $\mathcal{X}_{A^{\trans}}$

\end{document}

在此处输入图片描述

如您所见,下标的输出不是最优的。

不同的实现:

\documentclass{article}
\usepackage{amsmath}
\usepackage{pict2e}

\makeatletter
\newcommand{\trans}{}% for safety
\DeclareRobustCommand{\trans}{\mathpalette\aberdysh@trans\relax}
\newcommand{\aberdysh@trans}[2]{%
  \begingroup
  \settoheight\unitlength{$\m@th#1{x}$}%
  \begin{picture}(1,1)
  \squarecap
  \Line(0.05,1)(0.95,1)
  \Line(0.5,0)(0.5,1)
  \end{picture}%
  \endgroup
}
\makeatother

\begin{document}

$\trans\scriptstyle\trans\scriptscriptstyle\trans$

Output: $A^{\trans}$

Comparison: $A^{\textsc{t}}$ $A^{\scriptscriptstyle\mathsf{T}}$

Subscript: $\mathcal{X}_{A^{\trans}}$

\end{document}

您可能想要尝试\roundcap而不是\squarecap

在此处输入图片描述

答案2

我最终使用了以下替代方案。

\makeatletter
\newcommand*{\transpose}{%
  {\mathpalette\@transpose{}}%
}
\newcommand*{\@transpose}[2]{%
  % #1: math style
  % #2: unused
    \small \raisebox{1.37\depth}{$\m@th#1\intercal$}%
}
\makeatother

\newcommand*{\tran}{^{\mkern-1.5mu\transpose}}
\newcommand*{\traninv}{^{-\mkern-1.5mu\transpose}}

相关内容