我一直在尝试弄清楚如何绘制可靠性框图,并且我遇到了几个关于如何绘制图表的好例子。下面是一些: http://www.texample.net/tikz/examples/tag/block-diagrams/
不幸的是,我对 LaTex 还很陌生,无法理解哪个命令的作用。我专门研究的一个例子是这个:http://www.texample.net/tikz/examples/nav1d/。
我想在某些地方添加并行块来创建如下图所示的图表,但我不知道该怎么做。任何帮助都将不胜感激。
答案1
首先,这可能会有一些帮助。
这是生成它的代码。
- 用给定的样式定义了两种类型的节点。
- 为每个节点分配一个内部名称(阿拉伯语,从左到右,从上到下),后面跟着显示的英文名称。括号内是
[relative location]
\draw (A)--(B)
用或\draw (C) |- (D)
以锐角 连接线条。
代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[-,auto,node distance=2cm]
\tikzstyle{point}=[coordinate]
\tikzstyle{block}=[draw, rectangle, minimum height=2em, minimum width=4em]
\node[point] (0) {};
\node[point] (1) [right of=0] {};
\node[block] (2) [above right of=1] {C1};
\node[block] (3) [right of=2] {M1};
\node[block] (4) [right of=3] {S1};
\node[block] (5) [right of=4] {A1};
\node[point] (6) [below right of=5] {};
\node[block] (7) [below right of=1] {C2};
\node[block] (8) [right of=7] {M2};
\node[block] (9) [right of=8] {S2};
\node[block] (10) [right of=9] {A2};
\node[point] (11) [right of=6] {};
\draw [thick] (7) -| (1) (2) -| (1) (0) -- (1) (2) -- (3);
\draw [thick] (4) -- (5) (7) -- (8) (9) -- (10) (11) -- (6);
\draw [thick] (10) -| (6) (6) -- (11) (5) -| (6);
\draw [thick] (3) -- node [name=sm1]{} (4);
\draw [thick] (4) -- node [name=sa1]{} (5);
\draw [thick] (8) -- node [yshift=-0.22cm, name=sm2]{} (9);
\draw [thick] (9) -- node [yshift=-0.22cm, name=sa2]{} (10);
\draw [thick] (sm1) -- (sm2) (sa1)--(sa2);
\end{tikzpicture}
\end{document}
答案2
根据图表的数量和复杂程度,你可以将它们构建为堆栈,如下所示
\documentclass{article}
\usepackage{stackengine}
\strutshortanchors{F}
\begin{document}
\def\thk{.2ex}
\def\hfht{.4cm}
\def\leadrule{\rule{1cm}{\thk}}
\def\fbx#1{\framebox[1cm][c]{#1}}
\def\readybottom{%
\def\hrl{\rule[.5\ht\strutbox-.3\dp\strutbox]{.1cm}{\thk}}%
\def\vrl{\rule[.5\ht\strutbox-.3\dp\strutbox]{\thk}{\hfht}}%
}
\def\readytop{%
\def\hrl{\rule[.5\ht\strutbox-.3\dp\strutbox]{.1cm}{\thk}}%
\def\vrl{\rule[.5\ht\strutbox-.3\dp\strutbox-\hfht+\thk]{\thk}{\hfht}}%
}
\def\bottomrow{\sffamily\small\readybottom%
\vrl\hrl\fbx{C2}\hrl\hrl\fbx{M2}\hrl\vrl\hrl\fbx{S2}\hrl\vrl\hrl\fbx{A2}\hrl\vrl}
\def\toprow{\sffamily\small\readytop%
\vrl\hrl\fbx{C1}\hrl\hrl\fbx{M1}\hrl\vrl\hrl\fbx{S1}\hrl\vrl\hrl\fbx{A1}\hrl\vrl}
\leadrule\stackanchor[0pt]{\toprow}{\bottomrow}\leadrule
\end{document}