
Я делаю
\begin{center}
\begin{tikzcd}
...some commutative diagram...
\end{tikzcd}
\end{center}
десятки раз в день. Есть ли способ сделать ярлык, например,
\diagram{
...some commutative diagram...
}
?
решение1
Это совсем не сложно. Но вы пожалеете об этом, как только поймете, что вам нужно использовать \&
в качестве разделителя столбцов (возможно, это не так уж и важно), и вы потеряете возможность нумеровать диаграмму стандартными методами.
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz-cd}
\usepackage{lipsum}% just for the example
\newcommand{\diagram}[2][]{%
\begin{equation*}% better than center
\begin{tikzcd}[ampersand replacement=\&,#1]
#2
\end{tikzcd}
\end{equation*}
}
\begin{document}
\lipsum*[2]
\diagram{
A \arrow[r,"f"] \arrow[d,"\alpha"] \& B \arrow[d,"\beta"] \\
C \arrow[r,"g"] \& D
}
\lipsum*[3]
\begin{equation}
\begin{tikzcd}
A \arrow[r,"f"] \arrow[d,"\alpha"] & B \arrow[d,"\beta"] \\
C \arrow[r,"g"] & D
\end{tikzcd}
\end{equation}
\lipsum[4]
\end{document}
Видите ли вы реальное улучшение первого показателя по сравнению со вторым?
Вы можете передать параметры диаграмме следующим образом:
\diagram[column sep=4em]{
...
}