答案1
您可以使用eqparbox
。在第一个示例中,对象在分配的空间中居中,在第二个示例中,对齐方式为左右对齐。
标签是任意的,您需要为每个应用程序使用不同的标签。
\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\newcommand{\q}[3][c]{%
% #1 (optional) = alignment, default c
% #2 = tag
% #3 = object
\eqmakebox[#2][#1]{$#3$}%
}
\begin{document}
\[
\begin{aligned}
&\operatorname{I}[\q{1}{a}; \q{2}{c}] \\
&\operatorname{I}[\q{1}{w}; \q{2}{a}] \\
&\operatorname{I}[\q{1}{c}; \q{2}{w}]
\end{aligned}
\]
\[
\begin{aligned}
&\operatorname{I}[\q[r]{1}{a}; \q[l]{2}{c}] \\
&\operatorname{I}[\q[r]{1}{w}; \q[l]{2}{a}] \\
&\operatorname{I}[\q[r]{1}{c}; \q[l]{2}{w}]
\end{aligned}
\]
\end{document}
答案2
只要你不需要在各行上使用单独的方程编号,你就可以使用 TABstack 对齐
\documentclass{article}
\usepackage{amsmath,tabstackengine}
\TABstackMath
\setstacktabulargap{0pt}
\setstackgap{L}{1.2\baselineskip}
\begin{document}
\[
\tabularCenterstack{rcccl}{
\operatorname{I}[&a&;& c&] \\
\operatorname{I}[&w&;& a&] \\
\operatorname{I}[&c&;& w&]
}
\]
\end{document}
答案3
该解决方案基于对\hbox to
“Op[a;b]”类型应用的“良好常数”的猜测
\def\operatorname#1[#2;#3]{#1\hbox to2.5em{$[\hss#2;\hss#3\hss]$}}
Test: $\operatorname{I}[a; c]$\par
Test: $\operatorname{I}[w; a]$\par
Test: $\operatorname{I}[i; j]$\par
Test: $\operatorname{I}[m; w]$\par
\bye