1

I would like to draw something like this:

A ---> B ---> C and then have a curved arrow underneath going from A to C (and I will need to have a superscript on all the arrows to include a label).

I understand that this is possible with the xyarray package? But all of the examples on here seem much more complicated than the simple case that I want.

Can anybody help?

Thanks a lot

4

It's also very simple with tikz-cd:

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

\begin{document}

\begin{tikzcd}
A\rar{u}\arrow[red, bend right]{rr}[black,swap]{\varphi}  & B \rar{v}  & C
\end{tikzcd}

\end{document} 

enter image description here

  • I made an edit only to fix the code markup. Nice answer! – Arun Debray Jul 7 '16 at 19:08
  • Thanks :o) What was the problem? – Bernard Jul 7 '16 at 19:17
  • the first line was set as ordinary text instead of code; nothing huge. – Arun Debray Jul 7 '16 at 20:01
  • Must have been really out of my mind… – Bernard Jul 7 '16 at 20:09
  • @Bernard Thanks, is there a way to reduce white space underneath the diagram so I can continue text without an overly large gap? – user11128 Jul 8 '16 at 11:42
4

Yes, it is possible with Xy, and is fairly simple:

\documentclass{article}
\usepackage[all]{xy}
\begin{document}
\[\xymatrix{
    A \ar[r] \ar@/_0.4cm/[rr] & B \ar[r] & C
}\]
\end{document}

Just as in a matrix or array environment, the content of an xymatrix is interpreted as a grid, with & separating entries and \\ separating rows. \ar is the command for an arrow: [r] indicates that it points to the right.

The most complicated part is the curved arrow: starting with \ar[rr] (an arrow pointing two grid entries to the right), the syntax @/_0.4cm/ signals to curve it downwards by 0.4 cm.

Output:

enter image description here

Then, you can label your arrows with superscripts and subscripts: \ar[r]^f typesets f above the arrow, and \ar[r]_g typesets g below the arrow. (If you use arrows pointing other directions, this will change: technically, ^ is used to put the label on the left side of the arrowhead, and _ on the right side.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.