отображение большой диаграммы

отображение большой диаграммы

Я пытаюсь справиться с большой коммутативной диаграммой. Сначала я изменил размер с помощью процедуры

\resizebox{0.55\width}{!}{%
        \begin{tikzcd}...
        \end{tikzcd}

При этом диаграмма нечитаема, так как слишком мала.

Итак, я сделал снимок экрана с диаграммой.

введите описание изображения здесь

и я использовал

$$
\begin{sidewaysfigure}
        \includegraphics[width=\textwidth]{big_diagram.png}
        \label{fig:LandscapeFigure}
    \end{sidewaysfigure}
$$

Но диаграмма все еще нечитаема. Как мне с этим справиться?

решение1

Три предложения:

Во-первых, стрелки в строках 4 и 6 неоправданно длинные. Это потому, что запись в строке 7, столбце 3 очень широкая и tikz-cdне будет перекрывать столбцы. Вы можете переопределить это командой \llapв этой записи.

введите описание изображения здесь

Обратите внимание, что вам следует только\llap большинствоэтой записи, а не всей записи целиком, так что стрелка сверху все равно указывает на часть записи.

\begin{tikzcd}
AAAAAAAAAAAAA\arrow[rrr,equal]\arrow[dd] &&& AAAAAAAAAAA\arrow[d,"s"]\\
&&& AAAAAAAAAAAAAAAA\arrow[d,"P"]\\
AAAAAAAAAAAAAAAAAA\arrow[d] &&& AAAAAAAAAAAAAAAAAAAA\arrow[d]\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[r]\arrow[d] & I_1\arrow[r] & I_2\arrow[r,"\simeq"]\arrow[dd]& AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[dd,equal]\\
AAAAAAAAAAAAAAA\arrow[d]\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[rr] && I_3\arrow[d] & AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[d]\\
&& \llap{$BBBBBBBBBBBBBBBBBB$}CCCC\arrow[r,equal] & AAAAAAAAAAAAAAAAAAAAA\arrow[d,"f"]\\
&&& AAAAAAAAAAAAAAA
\end{tikzcd}

Во-вторых, если вы не против небольшой реорганизации, вы можете сэкономить немного места, удалив один столбец и сделав карту I_1вертикальной I_2.

введите описание изображения здесь

\begin{tikzcd}
AAAAAAAAAAAAA\arrow[rr,equal]\arrow[d] && AAAAAAAAAAA\arrow[d,"s"]\\
AAAAAAAAAAAAAAAAAA\arrow[d] && AAAAAAAAAAAAAAAA\arrow[d,"P"]\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[r]\arrow[d] & I_1\arrow[d] & AAAAAAAAAAAAAAAAAAAA\arrow[d]\\
AAAAAAAAAAAAAAA\arrow[d] & I_2\arrow[r,"\simeq"]\arrow[d]& AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[d,equal]\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[r] & I_3\arrow[d] & AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\arrow[d]\\
& \llap{$BBBBBBBBBBBBBBBBBB$}CCCC\arrow[r,equal] & AAAAAAAAAAAAAAAAAAAAA\arrow[d,"f"]\\
&& AAAAAAAAAAAAAAA
\end{tikzcd}

В-третьих, если вам все еще нужно немного больше места, у вас есть повторяющееся выражение \mu hom(G_1,G_2)во многих записях. Вы можете назначить это выражение одному символу. Например, Let $\mathcal{M}=\mu hom(G_1,G_2)$.Then substitute \mathcal{M}в вашей диаграмме.

решение2

Вы можете сэкономить много места, разделив самый большой объект на две строки с помощью alignedизогнутой стрелки, что позволит избежать повторения другого большого объекта.

В alignedодном случае нужен \ampтрюк, потому что внутри tikzcdсимвол &имеет другое значение.

Посмотрите в руководстве, как заполнять обведенные буквы.

\documentclass{article}
\usepackage{amsmath,mathrsfs,amssymb}
\usepackage{tikz-cd}
\usepackage{rotating}

\DeclareMathOperator{\mhom}{\mu hom}
\newcommand{\uR}{\mathrm{R}}
\newcommand{\CC}{\mathbb{C}}

\begin{document}

\begin{sidewaysfigure}

\centering\footnotesize
\let\amp=& % for the inner aligned

\begin{tikzcd}
\uR p^{}_{1_!} p^{-1}_{2^a} \mhom(G_1,G_2) \arrow[rrr,equals] \arrow[dd] 
%&&[-11em]&[-3em]
&&&
\uR p^{}_{1_!} p^{-1}_{2^a} \mhom(G_1,G_2) \arrow[d,"s"]
\\
&&&
\uR p^{}_{1_!}(K_W\otimes p^{-1}_{2^a} \mhom(G_1,G_2)) \arrow[d,"P"]
\\
\uR p^{}_{1_!}(K_W\otimes p^{-1}_{2^a} \mhom(G_1,G_2)) \arrow[d] &&&
\uR p^{}_{1_!}(p^{-1}_1 E_U\otimes K_W\otimes p^{-1}_{2^a} \mhom(G_1,G_2)) \arrow[d]
\\
\uR p^{}_{1_!}(\mhom(L,\Omega_{X\times Y/X}\otimes p^{-1}_{2^a}\mhom(G_1,G_2))
  \arrow[r] \arrow[d] &
\mathscr{I}_1 \arrow[r] &
\mathscr{I}_2 \arrow[r,"\simeq"] \arrow[dd] &
\begin{aligned}[t]
\amp\uR p^{}_{1_!}(\uR p^{}_{12_!}(p^{-1}_{12}\mhom(\CC_{\Delta_X},\Omega_{X\times X/X})[d_X] \\
\amp\qquad  \otimes p^{-1}_{2^a3}\mhom(L,\Omega_{X\times Y/X})
  \otimes p^{-1}_{3^a}\mhom(G_1,G_2))) \arrow[dd,equals]
\end{aligned}
\\
\mhom(L\circ G_1,\Omega_{X\times Y/X}\circ G_2) \arrow[d]
\\
\uR\tilde{p}^{}_{1_!}(\delta^a_* E_U 
  \otimes \tilde{p}^{-1}_{2^a}\mhom(L\circ G_1,\Omega_{X\times Y/X}\circ G_2))
  \arrow[rr] &&
\mathscr{I}_3 \arrow[dr,to path=|-(\tikztotarget.real west)] &
\mhom(\CC_{\Delta_X},\Omega_{X\times X/X})[d_X]\circ
  \mhom(L,\Omega_{X\times Y/X})\circ\mhom(G_1,G_2) \arrow[d] \\
&&&
\mhom(\CC_{\Delta_X}\circ L\circ G_1,\Omega_{X\times X/X}\circ\Omega_{X\times Y/X}\circ G_2)[d_X]
  \arrow[d,"\int"]
\\
&&&
\mhom(L\circ G_1,\Omega_{X\times Y/X}\circ G_2)
\end{tikzcd}

\caption{A very big diagram}

\end{sidewaysfigure}

\end{document}

введите описание изображения здесь

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