TransWikia.com

How can I draw a big equality in a commutative diagram with extensions?

TeX - LaTeX Asked on August 6, 2021

Here is the figure I want to draw:

Enter image description here

I know how to draw a commutative square, like this:

[begin{tikzcd}[sep = large]
0 ar[r] & A ar[d]ar[r] & B  ar[d]ar[r] & C ar[d]ar[r] & 0 & (a) 
0 ar[r] & X ar[d]ar[r] & Y ar[d]ar[r] & Z ar[d]ar[r] & 0 & (b)
end{tikzcd}]

How can I add a big equality sign instead of an arrow and how can I start from the bottom by the sequence given in my picture?

3 Answers

Already in TikZ there is a key double equal sign distance which allows you to draw double lines with the appropriate distance between the lines.

documentclass{article}
usepackage{amsmath}
usepackage{tikz-cd}
begin{document}
[begin{tikzcd}[sep = large]
 & & Sigma Mar[r,-,double equal sign distance,double] 
 arrow[d,"f"']& Sigma M arrow[d,"text{pinch}"]& & 
 Mvee M vee M ar[r,"{(lambda_1,lambda_2,lambda_3)}"]& N arrow[r]&
 X arrow[r]& Sigma MveeSigma  M veeSigma  M
end{tikzcd}]
end{document}

enter image description here

Correct answer by user242026 on August 6, 2021

With another alignment of the rightmost vertical arrow, thanks to mathtools:

documentclass{article}
usepackage{tikz-cd, mathtools}

begin{document}

    begin{tikzcd}[column sep=large, row sep=huge]
     & & Sigma M dar["f", swap]rar[equal]& Sigma M dar["text{pinch}"]
     Mvee Mvee Mrar{(lambda_1,lambda_2, lambda_3)} & N rar & X rar& Sigma Mveemathrlap{Sigma Mvee Sigma M}
    end{tikzcd}

end{document} 

enter image description here

Answered by Bernard on August 6, 2021

Add the option equal for the arrow.

However, the diagram is very wide already with standard column separation, so using sep=large will make it too wide.

I suggest to widen only the first arrow in the bottom row which can be accomplished with &[2em] in the first row. Using row sep=large will somehow balance the whole thing.

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

[
begin{tikzcd}[row sep = large]
% top row
  &[2em] % some more length for the first arrow
  &
  Sigma M arrow[r,equal] arrow[d,"f"'] &
  Sigma M arrow[d,"mathrm{pinch}"]

% bottom row
  M vee M vee M arrow[r,"{(lambda_1,lambda_2,lambda_3)}"] &
  N arrow[r] &
  X arrow[r] &
  Sigma M vee Sigma M vee Sigma M
end{tikzcd}
]

end{document}

enter image description here

Answered by egreg on August 6, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP