Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'd like to "cancel" (draw a line through) a column of a matrix (using \begin{pmatrix}..\end{pmatrix}). How can I do this?

share|improve this question
add comment

4 Answers

up vote 8 down vote accepted

The usual TikZ answer using \tikzmark to mark the top and bottom points where you want the line to be drawn:

enter image description here

Notes:

  • This does require two runs. First one to determine the locations, and the second to do the drawing.

References:

Code:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}

\newcommand{\tikzmark}[2]{\tikz[overlay,remember picture,baseline] \node [anchor=base] (#1) {$#2$};}

\newcommand{\DrawLine}[3][]{%
  \begin{tikzpicture}[overlay,remember picture]
    \draw[#1] (#2.north) -- (#3.south);
  \end{tikzpicture}
}

\begin{document}
\[
\begin{pmatrix}
  \tikzmark{topA}{a} & \tikzmark{topB}b & {0} \\
  a & b & 0 \\
  a & b & 0 \\
  \tikzmark{bottomA}{c} & \tikzmark{bottomB}d & {1}
\end{pmatrix}
\]
\DrawLine[red, thick, opacity=0.5]{topA}{bottomA}
\end{document}
share|improve this answer
add comment
\documentclass{article} 
\usepackage{amsmath}
\begin{document}

\[\begin{pmatrix}
  a & b & c  \\
  d & e & f\makebox(-6,0){\rule[1ex]{0.4pt}{3\normalbaselineskip}}\\
  g & h & i
\end{pmatrix}\]

\end{document}

enter image description here

share|improve this answer
add comment
\documentclass[a4paper]{article}
\usepackage{amsmath}
\begin{document}
\[
\settodepth{\dimen0}{$\begin{array}[t]{l}1\\2\\3\\4\end{array}$}
\addtolength{\dimen0}{2ex}
\begin{pmatrix}
  a & b & 0 \\
  a & b & 0 \\
  a & b & 0 \\
  \smash{\makebox[0pt][l]{\kern2pt\rule[-.8ex]{0.4pt}{\dimen0}}}
  c & d & 1
\end{pmatrix}
\]
\end{document}

enter image description here

More can be added if you define better your needs

share|improve this answer
add comment

Here is a rudimentary way to do this with a regular array:

enter image description here

\documentclass{article} 
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\[\begin{pmatrix}
  a & b & c \\
  d & e & f \\
  g & h & i
\end{pmatrix}\]

\[\left(\begin{array}{@{}cc@{\hspace{2\tabcolsep}}|@{\hspace{-.5\tabcolsep}}c@{}}
  a & b & c \\
  d & e & f \\
  g & h & i
\end{array}\right)\]
\end{document}

This works well for single-entry columns. If you have wider columns, more modification of the lengths are required.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.