排列流程图之外的图像

排列流程图之外的图像

我不确定 Lyx 是否允许这种级别的定制,我想在流程图旁边排列一些图表。所有图表和流程图都为 pdf 格式。

所有图表均为 2" x 2",流程图比例为 3" x 10"

PDF: 在此处输入图片描述

莱克斯:

在此处输入图片描述

我希望这 4 个图表出现在流程图中的 4 个框旁边。任何排版方面的帮助都会有所帮助

最后编辑:感谢@Torbjørn T,我已经完成了代码。

Tikz 代码:

\tikzstyle{startstop} =[ ellipse, minimum width=3cm, minimum height=1cm,text centered, draw = black,  fill =white!30]
\tikzstyle{process} =[ rectangle, minimum width=3cm, minimum height=2cm,text centered, draw = black,  fill =white!30] 
\tikzstyle{arrow} =[ thick, ->, >=stealth]

\begin{tikzpicture}[node distance=4cm]
node/.append style={font=\Large}.
\node(start) [startstop] {Start}; 
\node(pro1) [process, below of=start] {Step 1}; 

\node(pro2) [process, below of=pro1, align=center] {Step 2}; 

\node(pro3) [process, below of=pro2, align=center] {Step 3}; 

\node(pro4) [process, below of=pro3, align=center] {Step 4}; 

\node(stop) [startstop, below of =pro4] {Stop};

\node[inner sep=0pt,right = 3mm of pro1](img1) {\includegraphics[width=0.45\textwidth]{test.pdf}}; 
\node[inner sep=0pt, left=3mm of pro2](img2) {\includegraphics[width=0.45\textwidth]{test.pdf}}; 
\node[inner sep=0pt,right = 3mm of pro3](img3) {\includegraphics[width=0.45\textwidth]{test.pdf}}; 
\node[inner sep=0pt,left = 3mm of pro4](img4) {\includegraphics[width=0.45\textwidth]{test.pdf}}; 

\foreach \i in {1,2,3,4}
    \draw [arrow] (pro\i) -- (img\i);

every node/.append style= {front=\Large}
\draw [arrow] (start) -- (pro1); 
\draw [arrow] (pro1) -- (pro2); 
\draw [arrow] (pro2) -- (pro3); 
\draw [arrow] (pro3) -- (pro4); 
\draw [arrow] (pro4) -- (stop);


\end{tikzpicture}

答案1

对于将图像放在简单流程图旁边的 TikZ 代码的建议(通过聊天)。

在 LyX 中,添加

\usepackage{tikz}
\usetikzlibrary{positioning,arrows.meta,shapes.geometric}

到文档-->设置-->LaTeX 序言。

在文档中,将所有内容从(包括)\begin{tikzpicture}添加到\end{tikzpicture}ERT(Ctrl+L或插入 -> TeX 代码)。请注意,如果您将以下代码复制粘贴到 ERT 中,则应使用编辑 -> 选择性粘贴来保留换行符。

调整各种长度以适应。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows.meta,shapes.geometric}

\begin{document}
\begin{tikzpicture}[
  node distance=1cm,
  startstop/.style={
       ellipse,
       minimum width=3cm, minimum height=1cm,
       text centered,
       draw = black, fill =white!30,
       font={\Large}
  },
  process/.style={
       rectangle,
       minimum width=3cm, minimum height=1cm,
       text centered,
       draw = black, fill=white,
       font={\Large}
  },
  arrow/.style={
       thick, ->, >=Stealth
  }] 

\node(start) [startstop] {Start}; 
\node(pro1) [process, below=of start] {Step 1}; 
\node(pro2) [process, below=of pro1] {Step 2}; 
\node(pro3) [process, below=of pro2] {Step 3}; 
\node(pro4) [process, below=of pro3] {Step 4}; 
\node(stop) [process, below=of pro4] {Stop}; 

\begin{scope}[node distance=1cm, every node/.style={inner sep=0pt}]
\node [left=of pro1] (img1) {\includegraphics[width=0.25\textwidth]{example-image}}; 
\node [right=of pro2] (img2) {\includegraphics[width=0.25\textwidth]{example-image-a}}; 
\node [left=of pro3] (img3) {\includegraphics[width=0.25\textwidth]{example-image-b}}; 
\node [right=of pro4] (img4) {\includegraphics[width=0.25\textwidth]{example-image-c}}; 
\end{scope}

\foreach \i in {1,2,3,4}
  % modify the shorten value to whatever you like
  \draw [dotted,shorten >=2mm,shorten <=2mm] (pro\i) -- (img\i);

\foreach [remember=\x as \y (initially start)] \x in {pro1,pro2,pro3,pro4,stop}
  \draw [arrow] (\y) -- (\x);

\end{tikzpicture}
\end{document}

答案2

两个minipage并排可以解决问题:

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\begin{figure}
\begin{minipage}[c]{.45\linewidth}
\includegraphics[width=\textwidth, height=12cm]{example-image}
\end{minipage}\hfill
\begin{minipage}[c]{.45\linewidth}
\includegraphics[width=\textwidth]{example-image}\\
\includegraphics[width=\textwidth]{example-image}\\
\includegraphics[width=\textwidth]{example-image}\\
\includegraphics[width=\textwidth]{example-image}
\end{minipage}
\caption{Example}
\end{figure}
\end{document}

在此处输入图片描述

答案3

正如评论中所讨论的,最终结果是图像与各种框“对齐”。一种可能的解决方案是手动使用,\vspace直到框彼此对齐。虽然不是理想且耗时如果对流程图进行任何更改,这是可能的(见下图)。

在此处输入图片描述

如果发布了流程图的 Tikz 代码,那么我/其他用户将很乐意帮助您将图像定位在流程图旁边。图像将按如下方式插入:

\node[inner sep=0pt] (test) at (0,0)
{\includegraphics[width=.25\textwidth]{test.jpg}};

关于将图像插入 Tikz 图片,有很多资源。如果您打算创建一个完全可自定义的图形,那么我建议您采用这种方式!

编辑:例如:创建包含图像的流程图

EDIT2:添加了从 LyX 复制并粘贴的代码(是的,不是很好,尤其是 LyX 对中心环境的使用,因为我没有使用ctrl + enter\\但在评论中要求):

\begin{center}
\begin{figure}
\begin{centering}
\begin{minipage}[c][1\totalheight][t]{0.48\columnwidth}%
\begin{center}
\includegraphics[width=0.8\columnwidth]{\string"Flow Chart\string".eps}
\par\end{center}%
\end{minipage}%
\begin{minipage}[c][1\totalheight][t]{0.48\columnwidth}%
\vspace{0.4cm}

\begin{center}
\includegraphics[width=0.56\columnwidth]{\string"Flow Chart Sample\string".jpg}
\par\end{center}
\vspace{-0.2cm}

\begin{center}
\includegraphics[width=0.56\columnwidth]{\string"Flow Chart Sample\string".jpg}
\par\end{center}
\vspace{-0.2cm}

\begin{center}
\includegraphics[width=0.56\columnwidth]{\string"Flow Chart Sample\string".jpg}
\par\end{center}%
\end{minipage}
\par\end{centering}
\caption{Sample}
\end{figure}
\par\end{center}

相关内容