如何让文本在 tikz-cd 中占用更少的空间

如何让文本在 tikz-cd 中占用更少的空间

我正在尝试制作一个 Y 形的蕴涵图。但是,每个蕴涵中都有文本而不是符号,这占用了一些空间。这使我的图表非常宽,在页面内找不到。作为参考,这是我所拥有的(包括一些修复,以便它与 Beamer 兼容):

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

\begin{document}
\begin{frame}
\[
    \begin{tikzcd}[ampersand replacement=\&, column sep=small]

        XXXXXXXXXXXXXXXXXXXXXXXXXX \ar[dr, Rightarrow]  \& \&  YYYYYYYYYYYYYYYYYYYYYYYYYY \ar[dl, Rightarrow]\\
        \& WWWWWWWWWWWWWWWWWWWW\ar[d,Rightarrow]  \\ \& ZZZZZZZZZZ \& 
    \end{tikzcd}
\]
\end{frame}
\end{document}

答案1

如 tikz-cd 手册第 3.3 节所述,您可以直接在 Ti 中绘制一些图表Z,在这种情况下这可能是最简单的选择。

\documentclass{beamer}
\usepackage{tikz-cd}
\usetikzlibrary{positioning}
\begin{document}
\begin{frame}
\begin{tikzpicture}[commutative diagrams/every diagram]
\node(X){XXXXXXXXXXXXXXXXXXXXXXXXXX};
\node[right=0.1cm of X](dummy){};
\node[right=0.1cm of dummy](Y){YYYYYYYYYYYYYYYYYYYYYYYYYY};
\node[below=of dummy](W){WWWWWWWWWWWWWWWWWWWW};
\node[below=of W](Z){ZZZZZZZZZZ};
\path[commutative diagrams/.cd, every arrow, every label]
(X) edge[commutative diagrams/Rightarrow]  (W)
(Y) edge[commutative diagrams/Rightarrow] (W)
(W) edge[commutative diagrams/Rightarrow] (Z);
\end{tikzpicture}   
\end{frame}
\end{document}

在此处输入图片描述

如您所见,它呈 Y 形。 的一部分YYYYYYYYYYYYYYYYYYYYYYYYYY被截断,可以通过以下方法补救:使用蛮力 (\hspace*{-...}) 将图表向左移动,使用较小的字体(例如font=\small在 后添加commutative diagrams/every diagram,或者,我建议,减少 和 的内容XXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYY因为这样观众会更喜欢。

答案2

借助mathtools(其\mathclap 命令)的纯 tikz-cd 代码

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

\begin{document}

\begin{frame}
\[
    \begin{tikzcd}[ampersand replacement=\&, column sep=-0.25em]
       XXXXXXXXXXXXXXXXXXX\ar[dr, Rightarrow, end anchor={[yshift=1.5ex, xshift=-1em]}] \& \& YYYYYYYYYYYYYYYYYYY \ar[dl, Rightarrow, end anchor={[yshift=1.5ex, xshift=1em]}]\\
        \& \mathclap{ WWWWWWWWWWWWWWWWWWWW}\ar[d, Rightarrow] \\ \& \mathclap{ZZZZZZZZZZ} \&
    \end{tikzcd}
\]
\end{frame}

\end{document}

在此处输入图片描述

答案3

另一个最简单、最短的解决方案是tikz-cd。之后您可以使用其他优秀用户的代码。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz-cd, amsmath,amssymb}
\begin{document}

\begin{tikzcd}
AAAAAAAA \arrow[Rightarrow,rd] &  & BBBBBBBBBBB \arrow[Rightarrow,ld] \\
 & CCCCCCCC \arrow[Rightarrow,dd] &  \\
 &  &  \\
 & DDDDDD & 
\end{tikzcd}

\end{document}

相关内容