为什么 arrayjobx 返回我定义的二维矩阵的错误元素?

为什么 arrayjobx 返回我定义的二维矩阵的错误元素?

在下面的 MWE 中,我使用包arrayjobx来定义一个 2x3 数组\RowPayoffs,其中我通过引用其 (行、列) 为每个元素分配其值。具体来说,我\RowPayoffs(i,j)={Rij}为每个定义(i,j): i \in {1,2}, j \in {1,2,3}。然后我查询每个元素中实际的值。

\documentclass{article}
\usepackage{arrayjobx}
\newarray\RowPayoffs
\begin{document}
\RowPayoffs(1,1)={R11}
\RowPayoffs(1,2)={R12}
\RowPayoffs(1,3)={R13}
\RowPayoffs(2,1)={R21}
\RowPayoffs(2,2)={R22}
\RowPayoffs(2,3)={R23}
\noindent
\verb+\RowPayoffs(1,1) = +\RowPayoffs(1,1) \\
\verb+\RowPayoffs(1,2) = +\RowPayoffs(1,2) \\
\verb+\RowPayoffs(1,3) = +\RowPayoffs(1,3) \\
\verb+\RowPayoffs(2,1) = +\RowPayoffs(2,1) \\
\verb+\RowPayoffs(2,2) = +\RowPayoffs(2,2) \\
\verb+\RowPayoffs(2,3) = +\RowPayoffs(2,3)
\end{document}

输出结果如下:

在此处输入图片描述

我的困惑:当我查询每个 中的值时\RowPayoffs(i,j),并非所有值都是正确的。具体来说,\RowPayoffs(1,2)=R21\RowPayoffs(1,3)=R22

你知道是什么导致了这个严重的问题吗?或者,我对正确的行为应该是什么存在严重误解?

除了这里的 MWE 之外,我还尝试了\normalindextrue\normalindexfalse,但没有什么区别。

答案1

您必须设置\dataheight

\documentclass{article}
\usepackage{arrayjobx}
\newarray\RowPayoffs
\begin{document}
\RowPayoffs(1,1)={R11}
\RowPayoffs(1,2)={R12}
\RowPayoffs(1,3)={R13}
\RowPayoffs(2,1)={R21}
\RowPayoffs(2,2)={R22}
\RowPayoffs(2,3)={R23}

\noindent
\verb+\RowPayoffs(1,1) = +\RowPayoffs(1,1) \\
\verb+\RowPayoffs(1,2) = +\RowPayoffs(1,2) \\
\verb+\RowPayoffs(1,3) = +\RowPayoffs(1,3) \\
\verb+\RowPayoffs(2,1) = +\RowPayoffs(2,1) \\
\verb+\RowPayoffs(2,2) = +\RowPayoffs(2,2) \\
\verb+\RowPayoffs(2,3) = +\RowPayoffs(2,3)

\bigskip

\dataheight=3
\RowPayoffs(1,1)={R11}
\RowPayoffs(1,2)={R12}
\RowPayoffs(1,3)={R13}
\RowPayoffs(2,1)={R21}
\RowPayoffs(2,2)={R22}
\RowPayoffs(2,3)={R23}

\noindent
\verb+\RowPayoffs(1,1) = +\RowPayoffs(1,1) \\
\verb+\RowPayoffs(1,2) = +\RowPayoffs(1,2) \\
\verb+\RowPayoffs(1,3) = +\RowPayoffs(1,3) \\
\verb+\RowPayoffs(2,1) = +\RowPayoffs(2,1) \\
\verb+\RowPayoffs(2,2) = +\RowPayoffs(2,2) \\
\verb+\RowPayoffs(2,3) = +\RowPayoffs(2,3)

\end{document}

在此处输入图片描述

相关内容