TikZ Arrows – How to Arrange Diagonal Arrows Parallel in TikZ-cd

arrowstikz-arrowstikz-cd

The two lower diagonal arrows in the following diagram are obviously not exactly parallel. How can I arrange them correctly?
enter image description here

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsmath}
\begin{document}
\begin{center}
\begin{tikzcd}[column sep={{{{3em,between origins}}}}]%[bo column sep=3em]

  A' \arrow{rr}[pos=0.25]{f} \arrow{dd}[swap,pos=0.25]{a} \arrow{rd}[inner sep=1pt]{1_{A'}} && B'' \arrow{dd}[pos=0.25]{\iota_{B''}} \arrow{rd}[inner sep=1pt]{\iota_{B''}}\
 {} & A' \arrow{ld}[swap,inner sep=1pt]{a} \arrow{rr}[pos=0.25]{\iota_A\circ a} &&{A}\amalg_{A'}{B''} \arrow{dl}[inner sep=1pt]{1_{{A}\amalg_{A'}{B''}}}\
 A \arrow[swap]{rr}[pos=0.25]{\iota_A} && \smash[b]{{A}\amalg_{A'}{B''}}\
\end{tikzcd}
\end{center}
\end{document}

Best Answer

In this case, I'd suggest you to hide the width of the widest terms using \makebox:

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsmath}

\begin{document}

\begin{center}
\begin{tikzcd}[column sep={3em}]
A' 
  \arrow{rr}[pos=0.25]{f} 
  \arrow{dd}[swap,pos=0.25]{a} 
  \arrow{rd}[inner sep=1pt]{1_{A'}} 
& & 
B'' 
  \arrow{dd}[pos=0.25]{\iota_{B''}} 
  \arrow[shorten >= 10pt]{rd}[inner sep=1pt]{\iota_{B''}}
\\
& 
A' 
  \arrow{ld}[swap,inner sep=1pt]{a} 
  \arrow[shorten >= 20pt]{rr}[pos=0.25]{\iota_A\circ a} 
& &
\makebox[0pt][c]{$A\amalg_{A'}{B''}$} 
  \arrow[shorten <= 6pt,shorten >= 8pt]{dl}[inner sep=1pt]{1_{{A}\amalg_{A'}{B''}}}
\\
A
  \arrow[swap,shorten >= 20pt]{rr}[pos=0.25]{\iota_A} 
& & 
\makebox[0pt][c]{$A\amalg_{A'}{B''}$}
\\
\end{tikzcd}
\end{center}

\end{document}

enter image description here

Related Question