类似于 $\Pi$ 但双腿交叉的数学符号

类似于 $\Pi$ 但双腿交叉的数学符号

我想实现一个类似于 的符号\Pi,但两条腿交叉,就像 一样\mathrm{X}。换句话说,我希望 中的条形图\overline{\mathrm{X}}稍微向下移动一点,将其放置在\mathrm{X}。这是我目前使用代码实现的移动 hbar 上的栏

\documentclass{article}
\usepackage{mathtools}
\usepackage{xparse}
\makeatletter
\newcommand{\raisemath}[1]{\mathpalette{\raisem@th{#1}}}
\newcommand{\raisem@th}[3]{\raisebox{#1}{$#2#3$}}
\makeatother
\NewDocumentCommand{\crossedPi}{}{
  \ensuremath{\mathrlap{\raisemath{-1.6pt}{ 
    \overline{\phantom{\mathrm{X}}}}}\mathrm{X}}}
\begin{document}
  $\Pi \crossedPi$ \\
  $\mathrm{Set}_{\Pi} \mathrm{Set}_{\crossedPi}$
\end{document}

在此处输入图片描述

正常位置上的符号\crossedPi看起来正如我想要的那样,但是当符号在索引位置使用时,就像这样\mathrm{Set}_{\crossedPi},条形图就会移位。

什么是以稳健的方式实现此符号的完美专业方法,以便在索引位置使用时不会出现任何异常?

答案1

\documentclass{article}
\usepackage{mathtools}

\makeatletter
\DeclareRobustCommand{\crossedPi}{%
  {\mathpalette\loweroverline{\mathrm{X}}}%
}
\newcommand{\loweroverline}[2]{%
  \sbox\z@{$\m@th#1#2$}%
  \dimen@=0.8\fontdimen 8
    \ifx#1\displaystyle\textfont\else
    \ifx#1\textstyle\textfont\else
    \ifx#1\scriptstyle\scriptfont\else
    \scriptscriptfont\fi\fi\fi 3
  \ooalign{%
    \vrule width 0.95\wd\z@ height \ht\z@ depth \dimexpr \dimen@-\ht\z@\relax\cr
    \hidewidth\box\z@\hidewidth\cr
  }%
}
\makeatother
\begin{document}

$\Pi \crossedPi \Pi \scriptstyle \Pi\crossedPi\Pi$

$\mathrm{Set}_{\Pi} \mathrm{Set}_{\crossedPi}$

\end{document}

上划线的粗细是相应样式中分数粗细的分数。

不同的字体可能需要不同的数字。

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{stackengine,scalerel}
\newcommand\crosspi{\ThisStyle{\ensurestackMath{%
  \stackengine{-.30pt}{\SavedStyle\mathrm{X}}{%
  \rule{\dimexpr1.2\LMex+.3ex}{.31pt}\kern\dimexpr.2\LMpt+.1pt}{O}{c}{F}{F}{S}}}}
\begin{document}
$\Pi \crosspi \Pi \scriptstyle \Pi\crosspi\Pi$

$\mathrm{Set}_{\Pi} \mathrm{Set}_{\crosspi}$
\end{document}

在此处输入图片描述

正如 egreg 指出的那样,不同的字体需要对参数进行调整。

相关内容