統計顯著性星

統計顯著性星

***我的三顆星 ( )代碼有問題嗎?**跟我的比起來真是太醜了*

\documentclass{article}
\newcommand{\oneS}{\ensuremath{{}^{\textstyle *}}}
\newcommand{\twoS}{\ensuremath{{}^{\textstyle **}}}
\newcommand{\threeS}{\ensuremath{{}^{\textstyle ***}}}

\begin{document}

0.11\oneS \newline

0.11\twoS \newline

0.11\threeS

\end{document}

答案1

星號被視為二元運算子。在前兩種情況下,沒有足夠的數學原子用於二元運算符,但在第三種情況下,第一個星與第三個星“相乘”,第二個星設置為帶有附加空格的二元運算子。您可以透過將星號放在大括號中來消除這種行為。數學模式下的大括號構成一個被視為普通數學原子的子公式:

{*}{*}{*} or *{*}*

\textstyle可以改進。也許應該避免將星號設定在 \scriptstyle 中作為上標,而數字具有正常大小。\mathchoice在這裡有幫助。四種樣式需要四個參數,TeX 使用最終啟動的樣式的參數。

\documentclass{article}
\newcommand*{\SuperScriptSameStyle}[1]{%
  \ensuremath{%
    \mathchoice
      {{}^{\displaystyle #1}}%
      {{}^{\textstyle #1}}%
      {{}^{\scriptstyle #1}}%
      {{}^{\scriptscriptstyle #1}}%
  }%
}

\newcommand*{\oneS}{\SuperScriptSameStyle{*}}
\newcommand*{\twoS}{\SuperScriptSameStyle{**}}
\newcommand*{\threeS}{\SuperScriptSameStyle{*{*}*}}

\begin{document}

0.11\oneS

0.11\twoS

0.11\threeS

$\frac{0.11\oneS}{0.11\twoS_{0.11\threeS}}$

\end{document}

結果

添加

使用 LaTeX 的\mathpalette定義可以稍微簡化:

\newcommand*{\SuperScriptSameStyle}[1]{%
  \ensuremath{%
    \mathpalette\SuperScriptSameStyleAux{#1}%
  }%
}
\newcommand*{\SuperScriptSameStyleAux}[2]{%
  % #1: math style
  % #2: superscript
  {}^{#1#2}%
}

答案2

這是一個修復,但我不知道為什麼?

\documentclass{article}
\newcommand{\oneS}{\ensuremath{{}^{\textstyle *}}}
\newcommand{\twoS}{\ensuremath{{}^{\textstyle **}}}
\newcommand{\threeS}{\ensuremath{{}^{\textstyle **}\oneS}}
\begin{document}
0.11\oneS \par
0.11\twoS \par
0.11\threeS
\end{document}

答案3

另一個修復:

\usepackage{mathabx}
\newcommand{\threeS}{\ensuremath{{}^{\textstyle 
  \asterisk\asterisk\asterisk}}}

或簡單地

\newcommand{\threeS}{\ensuremath{^{***}}}

但海科·奧伯迪克的修復要好得多。

相關內容