我不确定 Lyx 是否允许这种级别的定制,我想在流程图旁边排列一些图表。所有图表和流程图都为 pdf 格式。
所有图表均为 2" x 2",流程图比例为 3" x 10"
莱克斯:
我希望这 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}