\Shortstack - 为什么它在 Scriptsize 中产生一行

\Shortstack - 为什么它在 Scriptsize 中产生一行
\documentclass[fleqn,12pt,a4paper]{article}
\usepackage{amstext, amsmath}

\begin{document}
\[
  \alpha \xrightarrow[\stackrel{Alpha}{\shortstack[c]{\text{is Reactant}\\ \text{converting  to}}}]
                     {\stackrel{Beta}{\shortstack[c]{\text{is a product }\\ \text{of reaction}}}}
  \beta
\]
\end{document}

我不知道为什么第一行\stackrel以脚本大小显示。如何让所有三行都具有相同的字体大小?我这样做是为了让箭头上方有三行。有没有不同且简单的方法可以在箭头上方和下方生成三行?

替代文本 感谢您的帮助。

答案1

无需使用\stackrel;您只需将 3 行放入您的 即可\shortstack。此外,您不需要选项c\shortstack因为这是默认选项,并且您不需要命令\text。因此这有效:

\documentclass[fleqn,12pt,a4paper]{article}
\usepackage{amstext, amsmath}

\begin{document}
\[
  \alpha \xrightarrow[\shortstack{Alpha\\ is Reactant\\ converting  to}]
                     {\shortstack{Beta\\ is a product\\ of reaction}}
  \beta
\]
\end{document}

但是,我不知道您希望如何格式化“Alpha”和“Beta”。在我的解决方案中,它们只是显示为普通文本。

答案2

这是默认行为\stackrel。如果有两行以上,请改用表格。

\documentclass[fleqn,12pt,a4paper]{article}
\usepackage{amstext, amsmath}

\begin{document}
\[
  \alpha \xrightarrow[\tabular{c}Alpha\\is Reactant\\ converting  to\endtabular]
                     {\tabular{c}Beta\\is a product\\ of reaction\endtabular}
  \beta
\]
\end{document}

相关内容