LaTeX에서 교환 다이어그램을 어떻게 그릴 수 있나요?

LaTeX에서 교환 다이어그램을 어떻게 그릴 수 있나요?

Tikz를 사용하여 교환 가능한 직사각형을 만드는 방법을 배우고 싶습니다. 어떻게 해야 합니까? 나는 시도했다

\[\begin{tikzcd}
A \arrow{r}{\varphi} \arrow[swap]{dd}{g\circ f} & B \arrow{d}{g} \\
& C
\end{tikzcd}
\]

하지만 삼각형만 그려집니다.

답변1

당신이 정확히 무엇을 그리고 싶어했는지 모르겠으므로 링크에 있는 다이어그램 중 하나를 재현하여 pst-node및 를 사용하여 그리는 방법을 보여줍니다 tikz-cd. 주요 차이점 중 하나는 pstricks먼저 노드를 설명한 다음 화살표를 설명하는 반면 에서는 tikz-cd노드와 화살표를 동시에 설명한다는 것입니다.

pdflatex는 포스트스크립트 지침을 지원하지 않기 때문에 을 로드합니다 auto-pst-pdf. --enable-write18컴파일러 스위치(MiKTeX) 또는 -shell-escape(TeX Live, MacTeX)를 설정해야 합니다 . 또는 로 컴파일할 수도 있습니다 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} 

여기에 이미지 설명을 입력하세요

답변2

순수하게 Plain TeX 수학 모드 사용:

\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

여기에 이미지 설명을 입력하세요

답변3

좋아요. 나는 교환 가능한 직사각형을 만드는 법을 배웠습니다.

\[\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}
\]

관련 정보