如何减少 Tikz 流程图中线条之间的垂直距离?

如何减少 Tikz 流程图中线条之间的垂直距离?

我是 latex 和 Tikz 的新手,非常感谢您的帮助。这是我的代码,我想删除图片中红色箭头所示的空间。

这是我的代码:

\documentclass[margin=3mm]{standalone} \usepackage{tikz} \begin{document} 
\begin{tikzpicture}[node distance=2cm, process/.style = {draw, rounded corners, minimum width=6cm, minimum height=1cm, text width= 6cm, align=center}] 
\node (pro1) [process] {Create expensive vectors from expensive paths}; 
\node (pro2) [process, below of=pro1] {Process 1}; 
% Drawing lines 
\draw [->] (pro1) -- (pro2); 
\end{tikzpicture} 
\end{document}

在此处输入图片描述

答案1

我猜你的文档与下面的 MWE(最小工作示例)结构类似。在第一个示例中,它重现了你的问题,在第二个示例中,它包含解决方法:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{setspace}  % <---
\setstretch{1.5}       % <---

\usepackage{lipsum}

\begin{document}
MWE, which reproduce your problem:
    \begin{figure}[ht]
\begin{tikzpicture}[node distance=1cm,
process/.style = {draw, rounded corners,
                  minimum width=6cm, minimum height=1cm, text width= 6cm, align=center}
                  ]
\node (pro1) [process] {Create expensive vectors from expensive paths};
\node (pro2) [process, below=of pro1] {Process 1};
\draw [->] (pro1) -- (pro2);
\end{tikzpicture}
    \end{figure}

MWE with cure for your problem:
    \begin{figure}[ht]
    \setstretch{1}          % <===
\begin{tikzpicture}[node distance=1cm,
process/.style = {draw, rounded corners, 
                  minimum height=1cm, text width= 6cm, align=center}
                  ]
\node (pro1) [process] {Create expensive vectors from expensive paths};
\node (pro2) [process, below=of pro1] {Process 1};
\draw [->] (pro1) -- (pro2);
\end{tikzpicture}
    \end{figure}
\end{document}

在此处输入图片描述

通过与上面的 MWE 代码片段进行比较,您可以轻松发现 n 节点内容的放置\onehalfspacing是错误的。它必须tikzpicture像第二个示例中那样放在前面。

在第一个例子中,我将它从节点中删除,因为它会导致编译错误。

为了在流程图中获得更多帮助,您应该以 MWE 的形式提供完整的流程图代码。从提供的代码片段可以得出结论,您使用了弃用的命令进行样式设置和奇怪的定位方式:更好的方法是使用上述 MWE 中的方法(positioning语法中包含库)。

相关内容