如何讓 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 中畫一些圖kZ,在這種情況下這可能是最簡單的選項。

\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=\smallcommutative diagrams/every diagramXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYY

答案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}

相關內容