```
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Welcome to writeLaTeX --- just edit your LaTeX on the left,
% and we'll compile it for you on the right. If you give
% someone the link to this page, they can edit at the same
% time. See the help menu above for more info. Enjoy!
%
% Note: you can export the pdf to see the result at full
% resolution.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Commutative diagram with edges passing under/over
% Jan 7, 2009, Stefan Kottwitz
% http://texblog.net
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
%%%<
\usepackage{verbatim}
\usepackage[active,tightpage]{preview}
\usepackage{subfig}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}%
%%%>
\begin{comment}
:Title: Commutative diagram with crossing edges
:Tags: Matrices; Diagrams
:Author: Stefan Kottwitz
:Slug: commutative-diagram
\end{comment}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, row sep=3em,
column sep=3em]{
& \|\cdot\| & & \|\cdot\|^* \\
\Lambda(\|\cdot\|) & & \Lambda(\|\cdot\|)^* & \\
& \|\cdot\|/S & & (\|\cdot\|/S)^* \\
\Lambda(\|\cdot\|/S) & & \Lambda(\|\cdot\|/S)^* & \\};
\path[-stealth]
(m-1-2) edge node [fill=white] {dual} (m-1-4)
edge node [fill=white] {exterior} (m-2-1)
edge [densely dotted] node [pos=0.75,fill=white] {quotient}(m-3-2)
(m-1-4) edge node [fill=white] {subspace} (m-3-4)
edge node [fill=white] {exterior} (m-2-3)
(m-2-1) edge [-,line width=6pt,draw=white] (m-2-3)
edge node [pos=0.75,fill=white] {dual} (m-2-3)
edge node [fill=white] {quotient} (m-4-1)
(m-3-2) edge [densely dotted] node [pos=0.75,fill=white] {dual} (m-3-4)
edge [densely dotted] node [fill=white] {exterior} (m-4-1)
(m-4-1) edge node [fill=white] {dual} (m-4-3)
(m-3-4) edge node [fill=white] {exterior} (m-4-3)
(m-2-3) edge [-,line width=6pt,draw=white] (m-4-3)
edge node [pos=0.75,fill=white] {subspace} (m-4-3);
\end{tikzpicture}
\end{document}
```