在以下示例中,我想要水平对齐上标中的两个调整大小的圆圈:
\documentclass{article}
\usepackage{relsize}
\begin{document}
$A^{ \mathlarger{\circ}\mathsmaller{\circ} } $
\end{document}
已提出相关问题这里,但它似乎没有针对这个特定问题提供解决方案。
答案1
像这样?
\documentclass{article}
\usepackage{relsize}
\usepackage{amsmath}
\begin{document}
$A^{\substack{ \mathlarger{\circ}\\[-0.75ex]\mathsmaller{\circ}}} $
\end{document}
编辑:
为了使符号在同一轴上对齐,可以使用以下代码:
$A^{\raisebox{\height}{\raisebox{-0.5\height}{$ \mathlarger{\circ} $}\raisebox{-0.5\height}{$ \mathsmaller{\circ} $}}} $
编辑:根据@Campa 的建议,\vcenter
TeX 原始结果是用于水平对齐的更简单的代码:
$ A^{\vcenter{\hbox{$\mathlarger{\circ}$}}\vcenter{\hbox{$\mathsmaller{\circ}$}}} $
答案2
我会定义一个特殊的\xcirc
命令:
\documentclass{article}
\usepackage{relsize}
\makeatletter
\newcommand{\xcirc}[1][]{%
% ensure it's used in math and consider it as an Ord atom
% \mathpalette will remember the current math style
\mathord{\mathpalette{\james@xcirc}{#1}}%
}
\newcommand{\james@xcirc}[2]{%
% center vertically with respect to the math axis
\vcenter{\hbox{$\m@th#1\@nameuse{james@#2@size}{\circ}$}}%
}
\let\james@@size\@firstofone
\let\james@l@size\mathlarger
\let\james@s@size\mathsmaller
\makeatother
\begin{document}
$A^{\xcirc[l]\xcirc[s]}$
$\scriptstyle A^{\xcirc[l]\xcirc[s]}$
{\Large $A^{\xcirc[l]\xcirc[s]}$\par}
\end{document}
为了方便输入,的可选参数\xcirc
只是一个字母(l
表示“更大”,s
表示“更小”),我将其定义\james@<arg>@size
为将其转换为正确的调用\mathlarger
或\mathsmaller
(没有可选参数将使用标准大小,如{\circ}
)。
您可能希望\xcirc[ll]
通过添加来允许
\newcommand{\james@ll@size}[1]{%
\mathlarger{\mathlarger{#1}}%
}
所以你申请了\mathlarger
两次。 同样适用于\xcirc[ss]
。