答案1
我不是这方面的专家tikz-cd
,但里面有很多很好的例子手册。以下是我的努力:
\documentclass{standalone}
\usepackage{tikz-cd}
\usepackage{mathtools}% for \text{}
\begin{document}
\begin{tikzcd}[row sep=2cm, column sep=3cm]
\text{State 1} \arrow[d] \arrow[rd, dash, "\text{independent}" description]
&
\text{State 3} \arrow[l] \arrow[d]
\\
\text{State 2}
&
\text{State 4} \arrow[l]
\end{tikzcd}
\end{document}
笔记:
我曾经使用过
\text{...}
格式化标签,因为tikz-cd
假设每个点都有一个数学公式。如果没有,\text{}
它们会以数学斜体显示,看起来很糟糕。对于斜箭头:
rd
使其从 向右向下State 1
;dash
使其成为一条没有箭头的线;description
标签后将标签整齐地放在中间。row sep
我还使用可选的和参数添加了大量空间column sep
,以便在对角线上有足够的空间放置标签我不知道有什么简单的方法可以旋转标签中的文本
tikz-cd
。您可以加载graphicx
包并使用,"\rotatebox{-30}{\text{independent}}"
但您必须猜测角度并手动更正。
我不确定这tikz-cd
是否真的是绘制此类图表的最佳工具。也许最好直接用纯文本tikz
或 Metapost 绘制。