GeneralMatrix row and column numbers

LaTeX specific issues not fitting into one of the other forums of this category.
Post Reply
ntna53
Posts: 1
Joined: Sun Apr 15, 2007 5:10 pm

Matrix row and column numbers

Post by ntna53 »

I would like to display row numbers to the left of a matrix and column numbers above. Anyone knows how to do that?

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

User avatar
localghost
Site Moderator
Posts: 9202
Joined: Fri Feb 02, 2007 12:06 pm

Matrix row and column numbers

Post by localghost »

It took a while, but there might come a solution from PSTricks. Take a look at the psmatrix environment. You will find examples on the homepage.
User avatar
countbela666
Posts: 64
Joined: Thu Apr 26, 2007 2:44 pm

Matrix row and column numbers

Post by countbela666 »

Here is an example provided by Herbert Voss in his excellent review of the latex math mode:

Code: Select all

\documentclass{article}
\makeatletter
\newif\if@borderstar
\def\bordermatrix{\@ifnextchar*{%
  \@borderstartrue\@bordermatrix@i}{\@borderstarfalse\@bordermatrix@i*}%
}
\def\@bordermatrix@i*{\@ifnextchar[{%
  \@bordermatrix@ii}{\@bordermatrix@ii[()]}
}
\def\@bordermatrix@ii[#1]#2{%
  \begingroup
    \m@th\@tempdima8.75\p@\setbox\z@\vbox{%
      \def\cr{\crcr\noalign{\kern 2\p@\global\let\cr\endline }}%
      \ialign {$##$\hfil\kern 2\p@\kern\@tempdima & \thinspace %
      \hfil $##$\hfil && \quad\hfil $##$\hfil\crcr\omit\strut %
      \hfil\crcr\noalign{\kern -\baselineskip}#2\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\@firstoftwo#1%
        \if@borderstar\kern2pt\else\kern -\wd\@ne\fi%
      \global\setbox\@ne\vbox{\box\@ne\if@borderstar\else\kern 2\p@\fi}%
      \vcenter{\if@borderstar\else\kern -\ht\@ne\fi%
        \unvbox\z@\kern-\if@borderstar2\fi\baselineskip}%
        \if@borderstar\kern-2\@tempdima\kern2\p@\else\,\fi\right\@secondoftwo#1 $%
    }\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
  }$
  $\bordermatrix*[\{\}]{%
  x1 & x2 & 1 \cr
  x3 & x4 & 2 \cr
  x5 & x6 & 3 \cr
   1 &  2
  }$
\end{document}
Regards
Marcel
Listen to me children of the night, beyond the doors of darkness you will find
a thousand worlds for you to see here, take my hand and follow me...
Post Reply