Ich möchte lernen, kommutative Rechtecke mit Tikz zu erstellen. Wie kann ich das machen? Ich habe versucht
\[\begin{tikzcd}
A \arrow{r}{\varphi} \arrow[swap]{dd}{g\circ f} & B \arrow{d}{g} \\
& C
\end{tikzcd}
\]
aber es zeichnet nur ein Dreieck.
Antwort1
Ich weiß nicht, was Sie genau zeichnen wollten, deshalb reproduziere ich eines der Diagramme aus Ihrem Link und zeige, wie es mit pst-node
und mit geht tikz-cd
. Einer der Hauptunterschiede besteht darin, dass pstricks
Sie in zuerst die Knoten und dann die Pfeile beschreiben, während bei tikz-cd
Knoten und Pfeile gleichzeitig beschrieben werden.
Ich lade auto-pst-pdf
, da pdflatex keine Postscript-Anweisungen unterstützt. Sie müssen den --enable-write18
Compiler-Schalter (MiKTeX) oder -shell-escape
(TeX Live, MacTeX) setzen. Alternativ können Sie mit kompilieren xelatex
.
\documentclass{article}
\usepackage{pst-node}
\uspackage{auto-pst-pdf}
\usepackage{tikz-cd}
\begin{document}
%
\[ \psset{arrows=->, arrowinset=0.25, linewidth=0.6pt, nodesep=3pt, labelsep=2pt, rowsep=0.7cm, colsep = 1.1cm, shortput =tablr}
\everypsbox{\scriptstyle}
\begin{psmatrix}
A & B\\%
A_f & B_g
%%%
\ncline{1,1}{1,2}^{\varphi} \ncline{1,1}{2,1} <{\varrho_f }
\ncline{1,2}{2,2} > {\varrho_g}
\ncline{2,1}{2,2}^{\varphi_f}
\end{psmatrix}
\]
\[ \begin{tikzcd}
A \arrow{r}{\varphi} \arrow[swap]{d}{\varrho_f} & B \arrow{d}{\varrho_g} \\%
A_f \arrow{r}{\varphi_f}& B_g
\end{tikzcd}
\]
\end{document}
Antwort2
Rein mit Plain TeX-Mathematikmodus:
\catcode`\@=11
\newdimen\cdsep
\cdsep=3em
\def\cdstrut{\vrule height .6\cdsep width 0pt depth .4\cdsep}
\def\@cdstrut{{\advance\cdsep by 2em\cdstrut}}
\def\arrow#1#2{
\ifx d#1
\llap{$\scriptstyle#2$}\left\downarrow\cdstrut\right.\@cdstrut\fi
\ifx u#1
\llap{$\scriptstyle#2$}\left\uparrow\cdstrut\right.\@cdstrut\fi
\ifx r#1
\mathop{\hbox to \cdsep{\rightarrowfill}}\limits^{#2}\fi
\ifx l#1
\mathop{\hbox to \cdsep{\leftarrowfill}}\limits^{#2}\fi
}
\catcode`\@=12
\cdsep=3em
$$
\matrix{
A & \arrow{r}{\varphi} & B \cr
\arrow{d}{\varrho_f} & & \arrow{d}{\varrho_g} \cr
A_f & \arrow{r}{\varphi_f} & B_g \cr
}
$$
\bye
Antwort3
OK. Ich habe gelernt, kommutative Rechtecke zu machen.
\[\begin{tikzcd}
A_f \arrow{r}{\varphi_f} \arrow[swap]{d}{\varrho_x^f} & B_g \arrow{d}{\varrho_x^g} \\
A_x \arrow{r}{\varphi_y} & B_y
\end{tikzcd}
\]