TiKZ 是否是带有箭头、线条等方案的最佳软件包?

TiKZ 是否是带有箭头、线条等方案的最佳软件包?

我想制作一种方案,将历史事件通过线条连接起来,表明原因这些事件中,结果和其他信息。

我尝试过在PGF 示例(很棒、很有用的网站),并发现了类似借款人和贷款人,但语法看起来有点难懂。我想要做的一个例子(不是严格意义上的这个,只是为了理解)是这个,或者这个。

点击图片可查看大图。

在此处输入图片描述来源

TiKZ 是实现此目的的最佳软件包吗?我说的最佳意思是:更易于使用、具有更多选项、更可定制等... 或者有更好的方法来实现相同的结果?

答案1

你需要正确分析图表。首先,你可以用相同的样式定义每列的所有节点。你可以使用定位来放置节点。主列很容易绘制,对于其他列,我向你展示了一些困难,如[left= of m1.south west,anchor=north east][left= of $(m2.west)!.5!(m3.west)$ ]

\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{%
  arrows,positioning,
  calc
}

\begin{document}
  \small
\begin{tikzpicture} 
 % main column nb 3
\begin{scope}[node distance=1.5em,
             every node/.style={align=center,text width=10em,draw,ultra thick}]
    \node (m1) {Soc. Anonima\\
               Marca Corona\\
               1934};
    \node (m2) [above= of m1] {MMMMMMMMMMM\\
                              xxxxxxxxxxxxx\\   
                              1932};
    \node (m3) [above= of m2] {MMMMMMMMMMM\\
                               xxxxxxxxxxxxx\\   
                                1920};  
    \node (m4) [above= of m3] {MMMMMMMMMMM\\
                               xxxxxxxxxxxxx\\   
                               1910};  
    \node (m5) [above=4.5em of m4] {MMMMMMMMMMM\\
                                    xxxxxxxxxxxxx\\
                                    1869}; 

\end{scope}

 % main column nb 2 
\begin{scope}[node distance=.75em,every node/.style={align=center,text width=10em,draw}]

  \node (l1) [left= of m1.south west,anchor=north east] {SAIME\\
                        \ \\
                        1932};  
    \node (l2) [left= of $(m2.west)!.5!(m3.west)$ ] {LLLLLLLLLL\\
                          xxxxxxxxxxxxx\\   
                          1926};  
    \node (l3) [left= of m4] {LLLLLLLLLL\\
                          xxxxxxxxxxxxx\\   
                         1911};  
    \node (l4) [left= of m5] {LLLLLLLLLL\\
                          xxxxxxxxxxxxx\\
                          1869}; 
\end{scope}                         

%edges 
\draw[ultra thick] (m1)--(m2)   (m2)--(m3)   (m3)--(m4)    (m4)--(m5) ; 
\draw[dashed] (l1) |- (m2);
\coordinate [above=.5em of m4] (line);
\draw[dotted] ($(line) + (-8,0)$) -- ($(line) + (8,0)$);                          
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容