如何在字母上加星号

如何在字母上加星号

在此处输入图片描述

我怎样才能在字母上写星号?非常感谢

答案1

\mathbf我调用的版本\overstarbf不考虑斜体倾斜,并将参数设置为\mathbf。另一个宏考虑了斜体设置参数的\overstar倾斜(此处取为)。.2

\documentclass{article}
\usepackage{stackengine,scalerel}
\newcommand\overstarbf[1]{\ThisStyle{\ensurestackMath{%
  \stackengine{0pt}{\SavedStyle\mathbf{#1}}{\smash{\SavedStyle*}}{O}{c}{F}{T}{S}}}}
\newcommand\overstar[1]{\ThisStyle{\ensurestackMath{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{0pt}{\copy0}{\kern.2\ht0\smash{\SavedStyle*}}{O}{c}{F}{T}{S}}}}
\begin{document}
\Shortstack[l]{
$\overstarbf{M}^{\mathrm{f}}$
$\scriptstyle\overstarbf{M}^{\mathrm{f}}$
$\scriptscriptstyle\overstarbf{M}^{\mathrm{f}}$}
vs.\@
\Shortstack[r]{
$\mathbf{M}^{\mathrm{f}}$
$\scriptstyle\mathbf{M}^{\mathrm{f}}$
$\scriptscriptstyle\mathbf{M}^{\mathrm{f}}$}
\quad
\Shortstack[l]{
$\overstar{M}^2\overstar{x}$
$\scriptstyle\overstar{M}^2\overstar{x}$
$\scriptscriptstyle\overstar{M}^2\overstar{x}$}
\end{document}

在此处输入图片描述


补充(手写体星号重叠)

我意识到我需要修改我的scalerel包,以使当前的数学样式不仅可访问(我通过 进行操作\SavedStyle),而且使相对于当前样式的脚本形式也可访问也很有用。

我在这里将其作为\SavedSubStyle,在\makeatletter和之间\makeatother,这也需要对的定义进行一些小的添加\ThisStyle。我最终会将其直接合并到包中。

\documentclass{article}
\usepackage{stackengine,scalerel}
\makeatletter
\def\SavedSubStyle{\csname @mstyle\s@switch\endcsname}
\renewcommand\ThisStyle[1]{%
\ifmmode%
\def\@mmode{T}\mathchoice%
{\edef\m@switch{D}\edef\s@switch{S}\LMex=1ex\relax\LMpt=1pt\relax#1}%
{\edef\m@switch{T}\edef\s@switch{S}\LMex=1ex\relax\LMpt=1pt\relax#1}%
{\edef\m@switch{S}\edef\s@switch{s}\LMex=\scriptstyleScaleFactor ex\relax%
\LMpt=\scriptstyleScaleFactor pt\relax#1}%
{\edef\m@switch{s}\edef\s@switch{s}\LMex=\scriptscriptstyleScaleFactor ex\relax%
\LMpt=\scriptscriptstyleScaleFactor pt\relax#1}%
\else%
\def\@mmode{F}%
\edef\m@switch{T}\edef\s@switch{S}\LMex=1ex\relax\LMpt=1pt\relax#1%
\fi%
}
%
\makeatother
\newcommand\overstarbf[1]{\ThisStyle{\ensurestackMath{%
  \stackengine{0pt}{\SavedStyle\mathbf{#1}}{\smash{\SavedSubStyle*}}{O}{c}{F}{T}{S}}}}
\newcommand\overstar[1]{\ThisStyle{\ensurestackMath{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{0pt}{\copy0}{\kern.2\ht0\smash{\SavedSubStyle*}}{O}{c}{F}{T}{S}}}}
\begin{document}
\Shortstack[l]{
$\overstarbf{M}^{\mathrm{f}}$
$\scriptstyle\overstarbf{M}^{\mathrm{f}}$
$\scriptscriptstyle\overstarbf{M}^{\mathrm{f}}$}
vs.\@
\Shortstack[r]{
$\mathbf{M}^{\mathrm{f}}$
$\scriptstyle\mathbf{M}^{\mathrm{f}}$
$\scriptscriptstyle\mathbf{M}^{\mathrm{f}}$}
\quad
\Shortstack[l]{
$\overstar{M}^2\overstar{x}$
$\scriptstyle\overstar{M}^2\overstar{x}$
$\scriptscriptstyle\overstar{M}^2\overstar{x}$}
\end{document}

在此处输入图片描述

答案2

使用该accents包非常简单:

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

\begin{document}

\[ \accentset{\ast}{\mathbf{M}}^{\mathbf{f}} \]

\end{document} 

在此处输入图片描述

相关内容