Как сделать так, чтобы текст занимал меньше места в 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

Как указано в разделе 3.3 руководства tikz-cd, вы можете рисовать некоторые диаграммы непосредственно в 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, или, что я бы рекомендовал, сократите содержание XXXXXXXXXXXXXXXXXXXXXXXXXXи , YYYYYYYYYYYYYYYYYYYYYYYYYYпотому что это больше всего понравится аудитории.

решение2

Чистый код tikz-cd с помощью mathtools(для команды its\mathclap`)

\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}

Связанный контент