使用 tikz 3.0.0,我想创建下图
到目前为止,我已经通过手动将“G”定位在最后一行来实现这一点:
\begin{center}
\begin{tikzpicture}
\node (A) {$(G×G)×G$};
\node (B) [right=of A] {$G×(G×G)$};
\node (C) [below left=of A] {$G×G$};
\node (D) [below right=of B] {$G×G$};
\node (E) at (1.5,-3) {$G$};
\draw[double equal sign distance] (A) -- node[above]{$\sim$} (B);
\draw[->] (A) -- node[above left]{\small $μ × \id$} (C);
\draw[->] (B) -- node[above right]{\small $\id × μ$} (D);
\draw[->] (C) -- node[above]{\small $μ$} (E);
\draw[->] (D) -- node[above]{\small $μ$} (E);
\end{tikzpicture}
\end{center}
at (1.5,-3)
我可以不使用定位手动设置“G”来做到这一点吗?
在相关说明中,我尝试对 {tikz-cd} 执行相同操作并得到: 使用以下代码:
\begin{displaymath}
\begin{tikzcd}
& (G × G) × G \ar[dl, "μ × \id"] \ar[rr, equal, "\sim"] & & G × (G × G) \ar[dr, "\id × μ"] & \\
G × G \ar[drr, "μ"] & & & & G × G \ar[dll, "μ"] \\
& & G & &
\end{tikzcd}
\end{displaymath}
我是否可以以某种方式实现一幅没有不必要拉伸的等号的图片,即一张更像上面的图片,但是使用{tikz-cd}?
我正在使用 TeXLive,版本 2013。
答案1
这是一个可能的解决方案。但是,我的tikz
不是 3.0.0,所以我需要更改一些数学代码\mu
和times
。此外,此解决方案使用double
等号,而不是double equal sign distance
OP 使用的等号。恕我直言,如果将相关数学量更改为 tikz 3.0.0 中适用的数学量,则该原则适用。底部 G 位置通过以下代码确定,其中给定 (A) 和 (B),它们的中心会自动确定。也就是说 (1.5,-3) 被删除了。
\node[yshift=-3cm] (E) at ($(A)!0.5!(B)$) {$G$}; %change yshift for one's need.
代码
\documentclass[]{article}
\usepackage[paper size={15cm,6cm}]{geometry}
\usepackage{amsmath,pgfplots,tikz}
\usetikzlibrary{arrows,calc,positioning}
%\usetikzlibrary{decorations.pathmorphing,patterns}
\begin{document}
\begin{center}
\begin{tikzpicture}
\node (A) {$(G\times G)\times G$};
\node (B) [right=1cm of A] {$G\times (G\times G)$};
\node (C) [below left=of A] {$G\times G$};
\node (D) [below right=of B] {$G\times G$};
% \node (E) at (1.5,-3) {$G$};
\node[yshift=-3cm] (E) at ($(A)!0.5!(B)$) {$G$};
\draw[double] (A) -- node[above]{$\sim$} (B);
\draw[->] (A) -- node[above left]{\small $\mu \times id$} (C);
\draw[->] (B) -- node[above right]{\small $id \times \mu$} (D);
\draw[->] (C) -- node[above]{\small $\mu$} (E);
\draw[->] (D) -- node[above]{\small $\mu$} (E);
\end{tikzpicture}
\end{center}
\end{document}