![为什么 arrayjobx 返回我定义的二维矩阵的错误元素?](https://linux22.com/image/379370/%E4%B8%BA%E4%BB%80%E4%B9%88%20arrayjobx%20%E8%BF%94%E5%9B%9E%E6%88%91%E5%AE%9A%E4%B9%89%E7%9A%84%E4%BA%8C%E7%BB%B4%E7%9F%A9%E9%98%B5%E7%9A%84%E9%94%99%E8%AF%AF%E5%85%83%E7%B4%A0%EF%BC%9F.png)
在下面的 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}