Example: Highlighting in a formula

Published 2015-09-25 | Author: Stefan Kottwitz

In a complex formula or equation, it can be useful to emphasize a specific part. We can achieve this, for example, through highlighting by color or by framing. This is especially useful in presentations, where we could change the highlighted area from frame to frame while explaining.

We will take the challenge to work on more than simple basic math. So we can verify that the method works in arbitrary situations. So our original material will be amsmath matrices. We will illustrate a matrix transposition by highlighting sub matrices and drawing arrows.

We will use TikZ for this. Such a big graphics package may seem to be a bit heavy for such a purpose at first. But it provides us with consistent styles and allows us to do nearly anything graphically.

Note, because of TikZ positioning using markers in the .aux file, you need to compile at least two times to get the positioning correct.

The code, and more, is explained step by step in the LaTeX Cookbook, Chapter 10, Advanced Mathematics, Highlighting in a formula.

Download as: [PDF] [TEX]  •  [Open in Overleaf]

Highlighting in a formula
% Highlighting in a formula
% Author: Stefan Kottwitz
% https://www.packtpub.com/hardware-and-creative/latex-cookbook
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{fit}
\newcommand{\overlay}[2][]{\tikz[overlay,
  remember picture, #1]{#2}}
\tikzset{
  highlighted/.style = { draw, thick, rectangle,
                         rounded corners, inner sep = 0pt,
                         fill = red!15, fill opacity = 0.5
                       }
}
\newcommand{\highlight}[1]{%
  \overlay{
    \node [fit = (left.north west) (right.south east),
           highlighted] (#1) {}; }
}
\newcommand{\flag}[2]{\overlay[baseline=(#1.base)]
  {\node (#1) {$#2$};}}
\begin{document}
\[
  M = \begin{pmatrix}
    \flag{left}{1} & 2 & 3 & 4 & 5 \\
    6 & 7 & 8 & 9 & 10 \\
    11 & \flag{before}{12} & \flag{right}{13} & 14 & 15 \\
    16 & 17 & 18 & 19 & 20
  \end{pmatrix}
  \highlight{N}
  \qquad
  M^T = \begin{pmatrix}
    \flag{left}{1} & 6 & 11 & 16 \\
    2 & 7 & \flag{after}{12} & 17 \\
    3 & 8 & \flag{right}{13} & 18 \\
    4 & 9 & 14 & 19 \\
    5 & 10 & 15 & 20
  \end{pmatrix}
  \highlight{NT}
\]
\overlay{
  \draw[->, thick, red, dotted] (before) -- (after);
  \draw[->, thick, red, dashed] (N) -- (NT)
    node [pos=0.68, above] {Transpose};
  \node[above of = N ] { $N$   };
  \node[above of = NT] { $N^T$ };
}
\end{document}

Comments

Adding comments is currently not enabled.

There are currently 0 comments on this entry.

Features
Tags
Scientific and technical areas
LaTeX Cookbook

Cookbook

LaTeX Beginners Guide

Creative Commons License