tikzcd: как расположить узел в центре двух других узлов

tikzcd: как расположить узел в центре двух других узлов

Я пытаюсь нарисовать коммутативную диаграмму, которая выглядит примерно так:

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

...кроме того, я хочу, чтобы две стрелки $1 \times \tilde{I}$и $\tilde{m}$были на одной линии, а узел $\tilde{G} \times \tilde{G}$был в средней позиции. Вот мой код (хотя он, вероятно, не поможет):

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz-cd}
\begin{document}

  \begin{tikzcd}
    & & & \tilde{G} \arrow{dd}{p}\\
    & & \tilde{G} \times \tilde{G} \arrow{ru}{\tilde{m}} & \\
    \tilde{G} \arrow{rru}{1 \times \tilde{I}} \arrow[swap]{r}{p} & G
    \arrow[swap]{r}{1_{G}\times I} & G \times G \arrow[swap]{r}{m} & G
  \end{tikzcd}

\end{document}

Есть предложения? Спасибо!

решение1

Похоже на решение Зарко, но с другим подходом; главный трюк снова в использовании фиктивной строки. Указание between originsобеспечивает расположение, похожее на сетку.

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}[column sep={6em,between origins},row sep={2.5em,between origins}]
& & & \tilde{G} \arrow[ddd,"p"] \\
& & \tilde{G} \times \tilde{G} \arrow[ru,"\tilde{m}"] & \\
\\
\tilde{G} \arrow[rruu,"1\times\tilde{I}"] \arrow[r,swap,"p"] & G
\arrow[r,swap,"1_{G}\times I"] & G \times G \arrow[r,swap,"m"] & G
\end{tikzcd}

\end{document}

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

Другая версия, с записью между диагональными стрелками посередине. Здесь трюк в том, чтобы использовать на одну колонку больше, но отступить по ее сторонам на половину ширины колонок.

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz-cd}
\begin{document}

\begin{tikzcd}[column sep={6em,between origins},row sep={2.5em,between origins},nodes in empty cells]
& &[-3em] &[-3em] & \tilde{G} \arrow[dd,"p"] \\
& & \tilde{G} \times \tilde{G} \arrow[rru,"\tilde{m}"] \\
\tilde{G} \arrow[rru,"1\times\tilde{I}"] \arrow[r,swap,"p"] &
 G \arrow[rr,swap,"1_{G}\times I"] & & G \times G \arrow[r,swap,"m"] & G
\end{tikzcd}

\end{document}

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

решение2

пытаться:

\documentclass[12pt]{standalone}
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}[nodes in empty cells,
               cells={nodes={minimum height=1.5em}}]
      & & & \tilde{G} \arrow{ddd}{p}\\
      & & \tilde{G} \times \tilde{G} \arrow{ru}{\tilde{m}} & \\%[5ex]
      & & &  \\
      \tilde{G} \arrow{rruu}{1 \times \tilde{I}} \arrow[swap]{r}{p} & G
      \arrow[swap]{r}{1_{G}\times I} & G \times G \arrow[swap]{r}{m} & G
\end{tikzcd}
\end{document}

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

Приложение: Менее крутой наклон получается за счет уменьшения row sepи inner sepузла:

\documentclass[12pt]{standalone}
\usepackage{tikz-cd}

\begin{document}
\begin{tikzcd}[nodes in empty cells,
               row sep=-1ex, 
               cells={nodes={minimum height=1.5em, inner sep=2pt}}]
      & & & \tilde{G} \arrow{ddd}{p}\\
      & & \tilde{G} \times \tilde{G} \arrow{ru}{\tilde{m}} & \\%[5ex]
      & & &  \\
      \tilde{G} \arrow{rruu}{1 \times \tilde{I}} \arrow[swap]{r}{p} & G
      \arrow[swap]{r}{1_{G}\times I} & G \times G \arrow[swap]{r}{m} & G
\end{tikzcd}
\end{document}

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

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