自动缩放数学符号索引中的 XY 矩阵

自动缩放数学符号索引中的 XY 矩阵

考虑以下代码:

\documentclass[a4paper,12pt]{article}
\usepackage[all,2cell]{xy} 
\UseAllTwocells 

\newcommand{\partinto}[3][]{%
\xymatrix@C=.85em@1{%
    *+{#2\,} \ar@{|-}[r]_-*-{\scriptstyle #1} & *+{\,#3} %
}}

\begin{document}
Let $\partinto[n]{\lambda}{d}$ be a partition of $d$ into at most $n$ parts.
Also, \[ \bigoplus_{\partinto[n]{\lambda}{d}} V_\lambda. \]
\end{document}

我的问题是,xymatrix大直接和符号的索引中的不缩放。有什么办法可以让它自动地比例?我当然可以创建一个\scrpartinto作为索引的新命令,但我想知道一种方法,\partinto一旦它被用作索引,就可以自动进行缩放。

答案1

\newcommand{\partinto}[3][]{\mathchoice
  {
   \xymatrix@C=.85em@1{%
     *+{\displaystyle#2\,} \ar@{|-}[r]_-*-{\scriptstyle #1} & *+{\displaystyle\,#3}}
  }
  {
   \xymatrix@C=.85em@1{%
     *+{\textstyle#2\,} \ar@{|-}[r]_-*-{\scriptstyle #1} & *+{\textstyle\,#3}}
  }
  {
   \xymatrix@C=.65em@1{%
     *+{\scriptstyle#2\,} \ar@{|-}[r]_-*-{\smash{\raisebox{-.4ex}{$\scriptscriptstyle #1$}}} & *+{\scriptstyle\,#3}}
  }
  {
  }
}

我没有为脚本样式添加任何内容,如果您确实需要,只需调整代码以适应脚本样式。

相关内容