![2つの横並びのフローチャート(tikz-flowchart)と、それぞれにボックスとラベルが付いています。](https://rvso.com/image/392315/2%E3%81%A4%E3%81%AE%E6%A8%AA%E4%B8%A6%E3%81%B3%E3%81%AE%E3%83%95%E3%83%AD%E3%83%BC%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88%EF%BC%88tikz-flowchart%EF%BC%89%E3%81%A8%E3%80%81%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AB%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%A8%E3%83%A9%E3%83%99%E3%83%AB%E3%81%8C%E4%BB%98%E3%81%84%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82.png)
TikZ を使用して、各フローチャートの周囲にボックスとラベルを付けた 2 つのフローチャートを描く必要があります。私は Tikz ライブラリを初めて使用し、画像や表、図に関する同様の質問を見てきました。minipage
またはscope
またはを使用することが推奨されていますFigure
。それらを使用しようとしましたが、何かが欠けているようです。答えを見つけましたここ投稿者 @CRf、これはpositioning
tikzlibrary の使用を示唆しています。何が足りないのかわかりませんでした。
私がやったことは以下の通りです:
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
%\pagestyle{empty}
\begin{figure}
% % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % define shapes % % % % % % % % % % %
% % % % % % % % % % % % % % % % % % % % % % % % %
\tikzstyle{block} = [rectangle, rounded corners, minimum width=3cm,
minimum height=1cm, text centered, draw, fill=blue!20, text width=5cm]
\tikzstyle{cloud} = [rounded corners, minimum width=3cm, minimum
height=1cm, text centered, draw, ellipse,fill=blue!20, text width=2cm]
\tikzstyle{line} = [draw, -latex']
% % % % % % % % % % % % % % % % % % %
% % % % % % 1st Chart % %% % % %
% % % % % % % % % % % % % % % % % % %
%\begin{minipage}[b][5cm][s]{.15\textwidth}
\begin{tikzpicture}[node distance =5mm and 8mm ]
%\begin{tikzpicture}[scale=-1.2,line width=1pt]
% Place nodes
\node [block] (init) {Process1 and long description };
\node [cloud, above =of init] (input1) {Input1};
\node [cloud, left= of init] (input2) {Input2};
\node [block, below= of init] (Process2) {Process 2 and description};
\node [block, below=of Process2] (Process3) {Process 3 and description};
\node [block, below =of Process3] (Process4) {Process 4 and description};
% Draw edges
\path [line] (init) -- (Process2);
\path [line] (Process2) -- (Process3);
\path [line] (Process3) -- (Process4);
\path [line,dashed] (input1) -- (init);
\path [line,dashed] (input2) -- (init);
\end{tikzpicture}
%\end{minipage}
\qquad
% % % % % % % % % % % % % % % % % % %
% % % % % % 2nd Chart % % % % %% %
% % % % % % % % % % % % % % % % % % %
%\begin{minipage}[b][1cm][s]{.15\textwidth}
\begin{tikzpicture} [node distance = 5mm and 8mm]
%[scale=0.2,line width=1pt]
% \begin{scope}[shift={(1,5)}]
% Place nodes
\node [block] (init) {Process1 Flow 2 };
\node [block, below= of init, node distance=0.5mm] (Process2F2) {Process2
Flow 2};
\node [cloud, left= of Process2F2,node distance=1cm] (input1f2) {input 1
flow 2 };
\node [block, below= of Process2F2, node distance=0.5mm] (Process3F2)
{Process3 Flow 2};
\node [cloud, right= of Process3F2,node distance=1cm] (input2f2) {input 2
Flow 2};
\node [block, below=of Process3F2,node distance=1cm] (Process4F2) {Process4
Flow 2};
% Draw edges
\path [line] (init) -- (Process2F2);
\path [line] (Process2F2) -- (Process3F2);
\path [line] (Process3F2) -- (Process4F2);
\path [line,dashed] (input2f2) -- (Process3F2);
\path [line,dashed] (input1f2) -- (Process2F2);
% % % % % % % % % % % % % % % %
% % % box to contain each chart % %
% % % % % % % % % % % % % % % %
\draw [color=gray,thick](-7,-9) rectangle (7,4);
\node at (-1.8,-9.5) [below=2cm, right=10mm] { \textbf{flow 2 label} };
% % % % % % % % % % % % % % % %
%\end{scope}
\end{tikzpicture}
%\end{minipage}
\end{figure}
\end{document}
2 つのボックスを並べて、各ボックスにラベルを付ける必要があるのですが、何か提案はありますか?
答え1
これは簡単な提案なので、喜んで削除します。
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
%\pagestyle{empty}
\begin{figure}
\centering
% % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % define shapes % % % % % % % % % % %
% % % % % % % % % % % % % % % % % % % % % % % % %
\tikzset{block/.style={rectangle, rounded corners, text width=1.5cm,
minimum height=1cm, text centered, draw, fill=blue!20},
cloud/.style={rounded corners, inner sep=-4pt, minimum
height=1cm, text centered, draw, ellipse,fill=blue!20, text width=2cm},
line/.style={draw, -latex'}}%
% % % % % % % % % % % % % % % % % % %
% % % % % % 1st Chart % %% % % %
% % % % % % % % % % % % % % % % % % %
%\begin{minipage}[b][5cm][s]{.15\textwidth}
\begin{tikzpicture}[node distance =5mm and 4mm ]
%\begin{tikzpicture}[scale=-1.2,line width=1pt]
% Place nodes
\begin{scope}[local bounding box=left]
\node [block] (init) {Process1 and long description };
\node [cloud, above =of init] (input1) {Input1};
\node [cloud, left= of init] (input2) {Input2};
\node [block, below= of init] (Process2) {Process 2 and description};
\node [block, below=of Process2] (Process3) {Process 3 and description};
\node [block, below =of Process3] (Process4) {Process 4 and description};
% Draw edges
\path [line] (init) -- (Process2);
\path [line] (Process2) -- (Process3);
\path [line] (Process3) -- (Process4);
\path [line,dashed] (input1) -- (init);
\path [line,dashed] (input2) -- (init);
\end{scope}
\draw[color=gray,thick](left.south west) rectangle (left.north east);
\node[anchor=north,font=\bfseries] at ([yshift=-2em]left.south) {flow 1 label};
% % % % % % % % % % % % % % % % % % %
% % % % % % 2nd Chart % % % % %% %
% % % % % % % % % % % % % % % % % % %
%\begin{minipage}[b][1cm][s]{.15\textwidth}
\begin{scope}[local bounding box=right,xshift=6cm]
%[scale=0.2,line width=1pt]
% \begin{scope}[shift={(1,5)}]
% Place nodes
\node [block] (init) {Process1 Flow 2 };
\node [block, below= of init, node distance=0.5mm] (Process2F2) {Process2
Flow 2};
\node [cloud, left= of Process2F2,node distance=1cm] (input1f2) {input 1
flow 2 };
\node [block, below= of Process2F2, node distance=0.5mm] (Process3F2)
{Process3 Flow 2};
\node [cloud, right= of Process3F2,node distance=1cm] (input2f2) {input 2
Flow 2};
\node [block, below=of Process3F2,node distance=1cm] (Process4F2) {Process4
Flow 2};
% Draw edges
\path [line] (init) -- (Process2F2);
\path [line] (Process2F2) -- (Process3F2);
\path [line] (Process3F2) -- (Process4F2);
\path [line,dashed] (input2f2) -- (Process3F2);
\path [line,dashed] (input1f2) -- (Process2F2);
% % % % % % % % % % % % % % % %
% % % box to contain each chart % %
% % % % % % % % % % % % % % % %
% % % % % % % % % % % % % % % %
\end{scope}
\draw[color=gray,thick](right.south west) rectangle (right.north east);
\node[anchor=north,font=\bfseries] at ([yshift=-2em]right.south) {flow 2 label};
\end{tikzpicture}
%\end{minipage}
\end{figure}
\end{document}
shoframe
適合していることを示すためだけに追加されます。