나는 교환 다이어그램에서 평행해야 하는 모든 화살표를 실제로 평행하게 만들고 싶습니다. 내 다이어그램은 다음과 같습니다.
\begin{center}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,row sep=3em,column sep=4em,minimum width=3em]
{
F(\mu F) & FA \\
\mu F & A \\};
\path[-stealth]
(m-1-1) edge node [left] {$ in_{F} $} (m-2-1)
edge node [above] {$F(h)$} (m-1-2)
(m-2-1.east) edge node [above] {$h$}
node [above] {} (m-2-2)
(m-1-2) edge node [right] {$ g $} (m-2-2)
;
\end{tikzpicture}
\end{center}
이것을 어떻게 옮겨서 적절한 사각형을 얻을 수 있습니까?
답변1
행렬 대신 다음과 같은 TikZ의 특수 확장을 사용하십시오 tikz-cd
.
\documentclass[a4paper,12pt]{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
F(\mu F) \arrow[r, "F(h)"] \arrow[d, "\mathit{in}_{F}"'] & FA \arrow[d, "g"] \\
\mu F \arrow[r, "h"] & A
\end{tikzcd}
\end{document}
구문이 더 자연스럽고 레이블의 크기가 적절하며 화살표는 전체 수학 글꼴과 같습니다.
답변2
\documentclass[border=3mm]{standalone}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}[row sep=huge] % <---
F(\mu F)
\arrow{r}{F(h)}
\arrow{d}{in_F}
&
FA
\arrow{d}{g} \\
%
A
\arrow{r}{h}
&
(\mu F)
\end{tikzcd}
\end{document}
아 답변이 거의 똑같네요세바스티아노:-(. 다이어그램은 좀 더 정사각형입니다 :-)
답변3
LaTeX의 다른 부분에서도 유용하기 때문에 실제로 관심을 가질 만한 사항을 수정하기 위해 아주 작은 변경 사항이 있습니다. 여기서 문제는 \mu
디센더가 있지만 FA
그렇지 않다는 것입니다. 키가 큰 문자 및 디센더와 관련된 "모든 높이"는 있지만 너비는 없는 상자를 \strut
를 통해 얻을 수 있습니다.
F(\mu F) & FA\strut \\
\mu F & A\strut
문서의 나머지 부분은 정확히 동일하게 유지될 수 있습니다. 편집증적인 느낌이 든다면 \strut
나중에 내용을 변경할 경우를 대비하여 다른 셀에 s를 추가하고 미래에도 대비할 수 있습니다.
\vphantom
보다 일반적으로, 주어진 다른 상자와 동일한 높이 및 깊이 매개변수를 가진 너비가 없는 상자와 \hphantom
주어진 다른 상자와 동일한 너비를 가진 높이가 없는 상자에 사용할 수 있습니다 . 따라서 진정한 편집증 버전은 다음과 같습니다.
F(\mu F)\vphantom{FA} & FA\vphantom{F(\mu F)} \\
\mu F\vphantom{A} & A\vphantom{\mu F}
그러면 각 행의 모든 열에 걸쳐 동일한 높이와 깊이가 보장됩니다. ( \strut
높이와 깊이에 있어서 "최소"라는 이점도 있습니다 . 예를 들어 주어진 행에 디센더가 없는 경우 \strut
모든 곳에 를 추가하면 깊이가 제공되지만 \vphantom
위와 같이 사용하면 그렇지 않습니다.)