答案1
- 图像脱离了上下文,因此只能猜测图像元素的一些参数/选项
- 您用 标记了问题
luatex
,是否存在与之相关的问题?
- 上图箭头由
join=by -Stealth
和定义\draw[-Stealth] (node i) to ["opis"] (node j)
姆韦对于上图:
\documentclass[ tikz, border=3mm]{standalone}
%---------------------------------------------------------------%
\usetikzlibrary{arrows.meta, chains, fit, positioning, quotes}
\begin{document}
\begin{tikzpicture}[
node distance = 5mm and 7mm,
start chain = A going above,
base/.style = {rectangle, draw, rounded corners,
minimum width=24mm, minimum height=8mm},
inbox/.style = {base, fill=blue!20, on chain, join=by -Stealth},
outbox/.style = {base, fill=red!20},
]
\node [inbox] {3}; % node name = A-1
\node [inbox] {2};
\node [inbox] {1}; % A-3
\node (f) [base, fit=(A-1) (A-3)] {};
\node (test) [outbox, above=of f] {Test};
%
\draw[-Stealth] (f) to ["opis" '] (test);
\end{tikzpicture}
\end{document}
简短解释姆韦代码:
所有节点都定义了
base
样式,其中包含常见的节点形状特征。后者用于定义图片中的特定节点对于内部节点(1、2 和 3),用于放置使用的
chains
库。它将节点放入链中,节点之间的距离由 决定node distance = ...
。由于链被命名为 (A
),节点自动命名为A-1
,A-2
并且A-3
- 使用
chains
还可以启用宏join
,从而简化了链中节点之间的连接线绘制。连接样式可以在本地确定(如上所示姆韦)或者您可以定义外部,并且此样式也可用于图片中的其他线条 - 内部节点周围是节点“f”(适合......,但您可以选择任何您喜欢的名称),它适合它们,即它将所有节点封闭在给定的坐标之间。为此使用库
fit
在指定的节点或坐标周围绘制节点的形状。在您的情况下,这是通过fit=(A-1) (A-3)
其中获得的(A-1)
,并且(A-3)
是链中最外层节点的名称 f
对于和节点之间的连接,start
使用箭头,向其添加标签“opis”(描述?:))。对于它,使用quotes
库 an+d 语法["..."]
,该语法仅在用于绘制线to
或edge
而不是时才有效--
。- 有关更多详细信息,
tikz
请阅读“TikZ 和 PGF 3.0.1a 版手册”。它是您计算机中 pgf 安装的一部分。它存储在“...\doc\generic\pgf\pgfmanual.pdf“手册很长(超过 1150 页),但对于初学者来说,阅读教程和第三部分 TikZ 不是一个绘画程序
答案2
\documentclass[twocolumn]{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{fit,arrows.meta}
\tikzset{%
>={Latex[width=2mm,length=2mm]},
base/.style = {rectangle, rounded corners, thick,
minimum width=2em, minimum height=1em,
node distance=6em, text centered, font=\sffamily},
}
\tikzset{jeden/.style={draw, fill=gray!15,node distance=6em}}
\tikzset{dwa/.style={ draw, rounded corners}}
\begin{document}
This is a text.
\tikzstyle{ramka} = [rectangle, draw, inner sep=0.5cm, dashed]
\begin{center}
\vskip 1mm
\begin{tikzpicture}[scale=.9, transform shape]
\node [jeden] (zero) at (0, 0) {Test 0};
\node [dwa,right of=zero,name=one,node distance=9em] (one) {1};
\node [dwa,below of=one,node distance=4em] (two) {2};
\node [dwa,below of=two] (three) {3};
\node [dwa,below of=three,minimum width=7em] (four) {4};
\node [ramka, fit=(two) (four)] (container) {};
\draw [->] (one) -- (zero);
\draw [->] (container) -- node[text width=2cm,near end] {opis} (one);
\draw [->] (three) -- (two);
\draw [->] (four) -- (three);
\end{tikzpicture}
\end{center}
End off message. End of text.
\end{document}
我添加了一些修改来显示不同的距离。但基本风格不好