重新定义 \bordermatrix

重新定义 \bordermatrix

向社区的所有人问好!有人能帮忙重新定义一下\bordermatrix以获得如图所示的结果吗?

https://tex.stackexchange.com/questions/59517/label-rows-of-a-matrix-by-characters

最初的问题是关于改变括号的形式(并且有一个关于它的帖子)这很容易处理,因为 Knuth 在 TexBook 中给出了上述定义(尽管它与给出的定义略有不同)论坛在这里)。但是我应该如何改变这些行来完成它呢?

\kbordermatrix\blockarray图片取自线程关于那两个) 是不可能的,因为我们的社论目前对新的 usepackages 很苛刻。或者永远可能)

第一次来这里,浏览了建议的问题,但可能根本看不到答案。如果我第一次尝试违反了任何形式规则,请狠狠地踢一脚)

答案1

定义自己的边界矩阵,源自latex.ltx

\documentclass{article}
\makeatletter
\def\BorderMatrix#1{%
    \begingroup
    \m@th\@tempdima8.75\p@\setbox\z@\vbox{%
        \def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline }}%
        \ialign{\hfil$##$\hfil\kern2\p@\kern\@tempdima & \thinspace 
            \hfil $##$\hfil && \quad\hfil $##$\hfil\crcr\omit\strut
            \hfil\crcr\noalign{\kern-\baselineskip}#1\crcr\omit
            \strut\cr}}%
    \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
    \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
    \setbox\tw@\hbox{%
        $\kern\wd\@ne\kern-\@tempdima\left(\kern2pt
        \global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
        \vcenter{\kern -\ht\@ne \unvbox\z@\kern-\baselineskip}%
        \kern-2\@tempdima\kern4\p@\right)$}%
    \null\;\vbox{\kern\ht\@ne\box\tw@}%
    \endgroup
}
\makeatother
\begin{document}

    $\bordermatrix{%
           &  1 &  2 \cr
         1 & x1 & x2 \cr
         2 & x3 & x4 \cr
         3 & x5 & x6 \cr
        }$
    \qquad
    $\BorderMatrix{%
         1 & 2  &    \cr
        x1 & x2 & 1 \cr
        x3 & x4 & 2 \cr
        x5 & x6 & 3 \cr
    }$

\end{document}

在此处输入图片描述

相关内容