TikZ 的交换图:如何压缩该图?

TikZ 的交换图:如何压缩该图?

因此,我尝试使用该tikzcd包制作分类图。可以使用以下代码生成该图(我不知道如何直接显示图片):

\documentclass
\begin{tikzcd}[ampersand replacement=\&,column sep=4em, cells={nodes={draw=gray}}, column sep=small]
\& \&  \text{Probability distribution inference} \arrow[dl] \arrow[dr] \& \text{Direct} \& \\
\& \text{Explicit density} \arrow[dl] \arrow[d] \& \& \text{Implicit density} \arrow[u] \arrow[d] \& \\
\text{Tractable density}\& \text{Approximate density} \arrow[d] \arrow[dr] \&  \& \text{Markov Chain} \&   \\
\& \text{Variational} \& \text{Markov Chain} \& \& \\
\end{tikzcd}
\end{document}

这超出了框架,并且在我未插入任何项目的单元格中有很多空白。此外,在我们明显需要对称的地方也没有对称。我可以使用什么命令来修复这个问题?事后看来,这tikzcd可能不是构建分类图的最佳选择,但我真的很喜欢它的美感。

答案1

我猜(从“......超出框架”)你使用beamer演示并且你正在寻找类似这样的东西:

在此处输入图片描述

使用makecell包并重新定义cells参数,可以写入多行单元格内容:

\documentclass{beamer}
\usepackage{makecell}
\usepackage{tikz-cd}

\begin{document}
\begin{frame}[fragile]
\frametitle{Taxonomy diagram}
    \begin{center}
    \begin{tikzcd}[column sep=1em, 
                   cells={nodes={draw=gray, semithick, 
                          font=\linespread{0.84}\selectfont, 
                          align=center}}, 
                   ]
    &   &   \makecell{Probability\\ distribution\\ inference} \ar[dl] \ar[dr] 
            &   \makecell{Direct}   
                \\
    &   \makecell{Explicit\\ density} \ar[dl] \ar[d] 
        &   &   \makecell{Implicit\\ density} \arrow[u] \arrow[d] 
                \\
\makecell{Tractable\\ density}
    & \makecell{Approximate\\ density} \ar[d] \ar[dr] 
        &   &   \makecell{Markov\\ Chain} 
                \\
    &   \makecell{Variational} 
        &   \makecell{Markov\\ Chain} 
            &   
    \end{tikzcd}
\end{center}
\end{frame}
\end{document}

相关内容