我有一个非常大的交换图,对于边距来说太大了。我尽可能缩短了对象的名称。我尝试使用选项 [cramped] 并将列 sep 设置为较小。它太大了。有没有办法将整个图旋转 90 度?
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\begin{tikzcd}
ObjectWithLongName \arrow[r]
& ObjectWithLongName \arrow[r]
& ObjectWithLongName \arrow[r]
& ObjectWithLongName \\
\end{tikzcd}
\]
\end{document}
答案1
您将图表放在 中\rotatebox
。由于 的 catcode&
在作为参数传递时将被修复,因此您必须使用ampersand replacement
。否则您将得到类似以下不具信息性的错误
! Undefined control sequence.
<argument> \pgf@matrix@last@nextcell@options
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\[
\rotatebox{90}{%
\begin{tikzcd}[ampersand replacement=\&]
ObjectWithLongName \arrow[r]
\& ObjectWithLongName \arrow[r]
\& ObjectWithLongName \arrow[r]
\& ObjectWithLongName \\
\end{tikzcd}
}
\]
\end{document}
答案2
你可以随时改变
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
ObjectWithLongName \arrow[r]
& ObjectWithLongName \arrow[r]
& ObjectWithLongName \arrow[r]
& ObjectWithLongName
\end{tikzcd}
\end{document}
无法容纳页边距
到
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
ObjectWithLongName \arrow[d]\\
ObjectWithLongName \arrow[d]\\
ObjectWithLongName \arrow[d]\\
ObjectWithLongName
\end{tikzcd}
\end{document}
上面的代码将产生