Tikz para diagramas comutativos

Tikz para diagramas comutativos

Preciso usar tikzo pacote devido à qualidade dos diagramas comutativos que ele produz, como vi em alguns manuais. Eu tentei várias vezes, mas sem sucesso. Estou usando o MiKTeX com o editor TeXmaker no Windows. O MiKTeX foi instalado em setembro do ano passado (2012). vou gostar de saber

  1. se eu precisar instalar algum pacote específico ou precisar instalar a versão mais recente do MiKTeX
  2. exatamente o que e o que preciso especificar ou incluir no meu preâmbulo, tendo em mente que o documento que estou escrevendo é uma tese na categoria algébrica.

\documentclass[12pt]{book}
\usepackage{amsmath,amssymb,amsthm,latexsym}
\usepackage{tikz-cd}
\usetikzlibrary{matrix,arrows}

\begin{document}

\begin{tikzcd}[column sep = 1.3cm]
  K 
   \arrow{r}{\kappa}  
  & L
    \arrow[transform canvas = {yshift = 0.7ex}]{r}{\alpha}        
    \arrow[transform canvas = {yshift = -0.7ex},leftarrow]
    {r}{\beta}
  & M
 \end{tikzcd}
\end{document}

Responder1

Eu recomendaria otikz-cdpacote para seus diagramas comutativos; a documentação do pacote contém exemplos, como o do próximo exemplo:

\documentclass{article} 
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}[row sep=scriptsize, column sep=scriptsize]
& f^* E_V \arrow{dl}\arrow{rr}\arrow{dd} & & E_V \arrow{dl}\arrow{dd} \\
f^* E \arrow[crossing over]{rr}\arrow{dd} & & E \\
& U \arrow{dl}\arrow{rr} & & V \arrow{dl} \\
M \arrow{rr} & & N\arrow[crossing over, leftarrow]{uu}\\
\end{tikzcd}

\end{document}

insira a descrição da imagem aqui

Em relação ao seu sistema LaTeX, o melhor é manter sua instalação atualizada. Instale a versão mais recente do MiKTeX e faça uma instalação completa, não apenas a instalação básica do MiKTeX.

Em relação ao problema mencionado, em um comentário, você pode usar swappara alterar a posição do rótulo da seta:

\documentclass[12pt]{book}
\usepackage{amsmath,amssymb,amsthm,latexsym}
\usepackage{tikz-cd}
\usetikzlibrary{matrix,arrows}

\begin{document}

\begin{tikzcd}[column sep = 1.3cm]
  K 
   \arrow{r}{\kappa}  
  & L
    \arrow[transform canvas={yshift = 0.7ex}]{r}{\alpha}        
    \arrow[transform canvas={yshift = -0.3ex},leftarrow,swap]
    {r}{\beta}
  & M
 \end{tikzcd}

\end{document}

insira a descrição da imagem aqui

Responder2

Com PSTricks.

insira a descrição da imagem aqui

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\psset{rowsep=1,colsep}
\begin{document}
\offinterlineskip
$
\psmatrix
&
    f^*E_v&
        &
            E_v\\
f^*E&
    &
        E&
            \\
&
    U&
        &
            V\\
M&
    &
        N&
\endpsmatrix
\everypsbox{\scriptstyle}
\psset{arrows=->,nodesep=3pt,border=3pt}
\ncline{1,2}{1,4}
\ncline{1,2}{2,1}
\ncline{1,4}{2,3}
\ncline{2,1}{4,1}
\ncline{1,2}{3,2}
\ncline{1,4}{3,4}
\ncline{2,1}{2,3}
\ncline{3,2}{4,1}
\ncline{3,2}{3,4}
\ncline{3,4}{4,3}
\ncline{4,1}{4,3}
\ncline{2,3}{4,3}
$
\end{document}

Para linhas duplas e rótulos:

insira a descrição da imagem aqui

\documentclass[preview,border=12pt]{standalone}
\usepackage{pst-node}
\psset{rowsep=1,colsep}
\begin{document}
\offinterlineskip
$
\psmatrix
&
    f^*E_v&
        &
            E_v\\
f^*E&
    &
        E&
            \\
&
    U&
        &
            V\\
M&
    &
        N&
\endpsmatrix
\everypsbox{\scriptstyle}
\psset{arrows=->,nodesep=3pt,border=2pt,shortput=tablr,labelsep=2pt}
\ncline[offset=2pt]{1,2}{1,4}^{a}
\ncline[offset=-2pt,arrows=<-]{1,2}{1,4}_{b}
\ncline{1,2}{2,1}
\ncline{1,4}{2,3}
\ncline{2,1}{4,1}
\ncline{1,2}{3,2}
\ncline{1,4}{3,4}
\ncline{2,1}{2,3}
\ncline{3,2}{4,1}
\ncline{3,2}{3,4}
\ncline{3,4}{4,3}
\ncline{4,1}{4,3}
\ncline{2,3}{4,3}
$
\end{document}

informação relacionada