Tikz 矩阵的行与行之间有很大间隙

Tikz 矩阵的行与行之间有很大间隙

我遇到一个问题,我插入的矩阵行与行之间的间隙非常大。出于某种原因,每行之间的间隙约为 10.5 厘米,我不知道为什么。以下代码创建了此图像,矩阵框顶部超出了页面。可以看出,图例和引导任务节点之间存在相当大的间隙。 右侧大矩阵

\documentclass[a4paper,12pt]{article}

%Packages included
\usepackage[printwatermark]{xwatermark}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{sectsty}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[margin=2cm]{geometry}
\usepackage{cite}
\usepackage{pdfpages}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows, chains, positioning}
\usepackage{float}

\begin{document}
\begin{figure} [H]
\centering
    \begin{tikzpicture}[
        >=triangle 60,
        start chain=going below,
        node distance=0.6cm and 6cm,
        every join/.style={norm},
        ]

    \tikzset{
        base/.style={draw, on chain, on grid, align=center, minimum height=4ex, text=black},
        box/.style={base, rectangle, text width=10em},
        corner/.style={box, rounded corners},
        norm/.style={->, draw},
        test/.style={base, diamond, aspect=2, text width=5em},
        fac/.style={box, dotted},
        coord/.style={coordinate, on chain, on grid, node distance=0.6cm and 2cm}
        }

        \node [corner]  (start) {Start of process};
        \node [fac, join]       {Assemble expert panel};
        \node [box, join]   (stp)   {Panel review's indicators};
        \node [box, join]       {Panel provides anonymous feedback};
        \node [fac, join]       {Feedback reviewed by facilitator};
        \node [test, join]  (cons)  {Consensus reached?};
        \node [box]     (fin)   {Final indicator set compiled};
        \node [box, join]       {Indicators added to protocol, updated minimum data set added to protocol};
        \node [corner, join]        {Process finished};
        \node [fac, right =of cons] (upd)   {Indicators updated in line with feedback};
        \node [fac, left=of stp]    (ind)   {Indicators sourced from literature, best practice guidelines, etc.};

        \node [coord, right=of cons] (c1) {};

        \path (cons.south) to node [near start, xshift=0.5em] {$y$} (fin);
            \draw [*->] (cons.south) -- (fin);
        \path (cons.east) to node [near start, yshift=0.5em] {$n$} (c1);
            \draw [*->] (cons.east) -- (upd);
        \draw [->] (upd.north) |- (stp);

        \draw [->] (start.west) -| (ind);
        \draw [->] (ind.east) -- (stp);'

    \matrix [draw, above left] at (current bounding box.south east) {
        \node [box, text width=1em, color=white, label=right:\emph{Legend}] {};\\ 
        \node [fac, text width=1em, label=right:Facilitator Task] {}; \\    
    };



    \end{tikzpicture}
    \caption{Formal process for CQIs}
    \label{fig:delphi1}
\end{figure}

\end{document}

我目前刚接触 Latex,正在从许多不同的来源和教程中学习,所以我的代码可能没有意义。

答案1

欢迎!矩阵中的节点具有键on chainon grid,它们从中继承base。您需要删除这些键。

\documentclass[a4paper,12pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{shapes, arrows, chains, positioning}
%\usepackage{float}

\begin{document}
\begin{figure} [htb]
\centering
    \begin{tikzpicture}[start chain=going below,
        >=triangle 60,       
        node distance=0.6cm and 6cm,
        every join/.style={norm},
        ]

    \tikzset{
        mbase/.style={draw,   align=center, minimum height=4ex, text=black},
        base/.style={mbase,on chain,on grid},
        mbox/.style={mbase, rectangle, text width=10em},
        box/.style={base, rectangle, text width=10em},
        corner/.style={box, rounded corners},
        norm/.style={->, draw},
        test/.style={base, diamond, aspect=2, text width=5em},
        fac/.style={box, dotted},
        mfac/.style={mbox, dotted},
        coord/.style={coordinate, on chain, on grid, node distance=0.6cm and 2cm}
        }
        \node [corner]  (start) {Start of process};
        \node [fac, join]       {Assemble expert panel};
        \node [box, join]   (stp)   {Panel review's indicators};
        \node [box, join]       {Panel provides anonymous feedback};
        \node [fac, join]       {Feedback reviewed by facilitator};
        \node [test, join]  (cons)  {Consensus reached?};
        \node [box]     (fin)   {Final indicator set compiled};
        \node [box, join]       {Indicators added to protocol, updated minimum data set added to protocol};
        \node [corner, join]        {Process finished};
        \node [fac, right =of cons] (upd)   {Indicators updated in line with feedback};
        \node [fac, left=of stp]    (ind)   {Indicators sourced from literature, best practice guidelines, etc.};

        \node [coord, right=of cons] (c1) {};

        \path (cons.south) to node [near start, xshift=0.5em] {$y$} (fin);
            \draw [*->] (cons.south) -- (fin);
        \path (cons.east) to node [near start, yshift=0.5em] {$n$} (c1);
            \draw [*->] (cons.east) -- (upd);
        \draw [->] (upd.north) |- (stp);

        \draw [->] (start.west) -| (ind);
        \draw [->] (ind.east) -- (stp);'
    \matrix [draw, above left] at (current bounding box.south east) {
        \node [mbox, text width=1em, color=white, label=right:\emph{Legend}] {};\\ 
        \node [mfac, text width=1em, label=right:Facilitator Task] {}; \\    
    };



    \end{tikzpicture}
    \caption{Formal process for CQIs}
    \label{fig:delphi1}
\end{figure}

\end{document}

在此处输入图片描述

相关内容