如何将一个符号置于另一个符号之上

如何将一个符号置于另一个符号之上

下列的这个问题,我在下标上使用接受的答案时遇到了问题。

\[ 
A_  {z {_{y}^{x}} {_{x}^{y}} } \qquad
    {z {_{y}^{x}} {_{x}^{y}} }
\]

我不知道为什么在下标中对齐/居中会混乱。

我也尝试过其他选项。我会对它们进行一些评论。

  • \atop 、 \genfrac 和 \above
\[
A_  {z {x \atop y} {y \atop x} } \qquad
    {z {x \atop y} {y \atop x} }
\]
\[ 
A_  {z {\genfrac{}{}{0pt}{2}{x}{y}} {\genfrac{}{}{0pt}{2}{y}{x}} } \qquad
    {z {\genfrac{}{}{0pt}{2}{x}{y}} {\genfrac{}{}{0pt}{2}{y}{x}} }
\]
\[
A_  {z {x \above 0pt y} {y \above 0pt x} } \qquad
    {z {x \above 0pt y} {y \above 0pt x} }
\]

它们看起来渲染效果完全一样。空白太多了。

  • 来自“stackengine”包的 \stackanchor
\stackMath
\[
A_  {z {\stackanchor{x}{y}} {\stackanchor{y}{x}} } \qquad
    {z {\stackanchor{x}{y}} {\stackanchor{y}{x}} }
\]

两种情况下,它都对齐了。在下标中,它的大小不正确,

  • 来自“mathtools”包的 \overset 和 \stackrel
\[
A_  {z {\overset{x}{y}} {\overset{y}{x}} } \qquad
    {z {\overset{x}{y}} {\overset{y}{x}} }
\]
\[
A_  {z {\stackrel{x}{y}} {\stackrel{y}{x}} } \qquad
    {z {\stackrel{x}{y}} {\stackrel{y}{x}} }
\]

它们看起来渲染效果完全一样。两种情况下,都不居中,尺寸也不正确。

我所说的“对齐”是指“$xy$ 对齐”,因此“未对齐”是指其他任何情况。它不需要渲染出严格完美的对齐、居中或大小:只要接近就可以了。

期望输出:

在此处输入图片描述

答案1

您想堆叠对象吗?在这种情况下, 的一个版本\atop可以做到这一点(\genfrac当然,使用 )。诀窍是\textstyle在 中找到对象时强制执行\displaystyle,否则标准操作是好的。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\stk}[2]{\mathinner{\!\mathpalette\stk@{{#1}{#2}}\!}}
\newcommand{\stk@}[2]{%
  \ifx#1\displaystyle
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
  {\genfrac{}{}{0pt}{1}}%
  {\genfrac{}{}{0pt}{}}%
  #2%
}
\makeatother

\begin{document}

\[
A_{z\stk{x}{y}\stk{y}{x}} \qquad
z\stk{x}{y}\stk{y}{x}\ne z_{xy}^{yx} \qquad
z\stk{aa}{b}\stk{b}{aa}
\]

\end{document}

在此处输入图片描述

答案2

像这样吗?(观察:不需要\overset、、等)\stackanchor\atop

在此处输入图片描述

\documentclass{article}
\newcommand\complicatedz{z_{yx}^{xy}}
\begin{document}
\[
\complicatedz \quad A_{\complicatedz} \quad A_{\complicatedz}^{}
\]
\end{document} 

这两个A_{...}术语在下标术语的垂直定位上略有不同——我这样称呼它,虽然不是很有想象力\zcomplicated

相关内容