如何同时写入 \slashed、\mathcal 和 \mathring?

如何同时写入 \slashed、\mathcal 和 \mathring?

我需要写一些类似的东西\slashed{\mathcal{\mathring{S}}}。我尝试按几种顺序编写它,但没有一个能给我想要的结果。我发现我必须编写\slashed{\mathcal{S}}才能获得正确的结果,但我无法成功添加\mathring它。我使用包“slashed”来编写\slashed{S}。谢谢。

\documentclass[12pt, a4paper]{article}
\usepackage{slashed}

\begin{document}
$\slashed{\mathcal{S}}$
%$\slashed{\mathring{\mathcal{S}}}$
$\mathring{\slashed{\mathcal{S}}}$
\end{document}

第二个订单不起作用,我得到了 3 个错误,这表明我忘记输入}了,但我认为这只是其他错误的结果,可能是错误的订单。抱歉,我对理解此类错误不是很有经验。

答案1

如果你希望外观确切地比如\slashed,你可以使用下面的技巧,实际上将字符在其自身上打印两次:一次用环,一次用斜线。

\documentclass{article}    
\usepackage{slashed,mathtools}

\newcommand{\slashedring}[1]{\slashed{#1}\mathllap{\mathring{#1}}}

\begin{document}

$\slashed{\mathcal{S}} \slashedring{\mathcal{S}} \mathring{\mathcal{S}}$

\end{document}

示例截图

答案2

\slashed实际上只适用于单个字形,也许您可​​以将该cancel包用于您的目的:

示例输出

\documentclass{article}

\usepackage{slashed,cancel}

\begin{document}

\(  \mathcal S + \slashed{\mathcal S} + \cancel{\mathcal S} \)

\( \mathring{\mathcal S} + \mathring{\slashed{\mathcal S}} +
\cancel{\mathring{\mathcal S}} + \cancel{\mathring{\mathcal S}\mkern1mu} \)

\end{document}

答案3

对于所有书法字母来说,这都不是很好(但也不slashed是),但对于 S 来说似乎不错:

\documentclass[12pt, a4paper]{article}
\usepackage{slashed}

\newcommand{\slashedring}[1]{{%
  \ooalign{%
    $\mathring{\mathcal{#1}}$\cr
    \hidewidth\raisebox{.2ex}{/}\hidewidth\cr
  }%
}}

\begin{document}
$\slashed{\mathcal{S}}$
$\slashedring{S}\slashedring{R}$
\end{document}

在此处输入图片描述

如果下标/上标也需要,最简单的方法是

\usepackage{amsmath}
\newcommand{\slashedring}[1]{\text{%
  \ooalign{%
    $\mathring{\mathcal{#1}}$\cr
    \hidewidth\raisebox{.2ex}{/}\hidewidth\cr
  }%
}}

答案4

这里\slashring[h-offset]{letter}使用堆栈。它被设置为适用于所有数学样式,但水平偏移应以与本地数学样式(例如\LMpt\LMex由包提供)成比例的单位指定scalerel-2.3\LMpt定义中的指定了的垂直偏移,\mathring并且可以进行修改以适应。

\documentclass[12pt, a4paper]{article}
\usepackage{scalerel,stackengine}
\newcommand\slashring[2][.4\LMex]{\ThisStyle{\ensurestackMath{%
  \stackinset{c}{#1}{t}{-2.3\LMpt}{\SavedStyle\mathring{}}{%
    \stackinset{c}{}{c}{}{\SavedStyle/}{\SavedStyle\mathcal{#2}}}}}}
\begin{document}
$\slashring{S} \slashring[0pt]{P}\slashring[2.5\LMpt]{J}$\par
$\scriptstyle\slashring{S} \slashring[0pt]{P}\slashring[2.5\LMpt]{J}$\par
$\scriptscriptstyle\slashring{S} \slashring[0pt]{P}\slashring[2.5\LMpt]{J}$
\end{document}

在此处输入图片描述

如果想避免为每个字母输入自定义的水平偏移量,可以预先列出“字距”:

\documentclass[12pt, a4paper]{article}
\usepackage{scalerel,stackengine}
\newcommand\SlashRing[2]{\ThisStyle{\ensurestackMath{%
  \stackinset{c}{#1}{t}{-2.3\LMpt}{\SavedStyle\mathring{}}{%
    \stackinset{c}{}{c}{}{\SavedStyle/}{\SavedStyle\mathcal{#2}}}}}}
\newcommand\slashring[1]{%
  \def\HorizontalOffset{.4\LMex}%
  \ifx P#1\def\Horizontaloffset{0pt}\else
  \ifx J#1\def\Horizontaloffset{2.5\LMpt}\else
  \fi\fi%
  \SlashRing{\HorizontalOffset}{#1}%
}
\begin{document}
                  $\slashring{S} \slashring{P} \slashring{J}$\par
      $\scriptstyle\slashring{S} \slashring{P} \slashring{J}$\par
$\scriptscriptstyle\slashring{S} \slashring{P} \slashring{J}$
\end{document}

相关内容