I am using \longrightarrow{} in my document. however in the PDF it appears in two pieces instead of a long line. I tried using \chemarrow but it produces very short arrow. The size of arrow thats produce by \longrightarrow{} is just right for my document. Is there a way to make it one line. Thanks

Since the topic came, is there a way to set the desired length of arrow. Here is sample code with result

\usepackage{amstext, amsmath}
Test \lra Result 

alt text

  • Could you please add a minimal code example where this behavior is visible.
    – Caramdir
    Commented Jan 17, 2011 at 5:43
  • @Caramdir - I edited my post provided a sample code with results.
    – Aku
    Commented Jan 17, 2011 at 13:06
  • 1
    Whatever is going on here is caused by the \let\rightarrow\chemarrow command. If you remove it there is no break in the arrow.
    – Alan Munn
    Commented Jan 17, 2011 at 16:06
  • @Alan- I used \rightarrow{} but did not like the arrow head, I asked the group here and they told me to use \let\rightarrow\chemarrow which I did but later on I ran into this problem.
    – Aku
    Commented Jan 17, 2011 at 18:13

2 Answers 2


I find the horizontal spacing of the chemarrows in mathematical formulas surprisingly bad. It may well be that the spacing is adjusted to the use in chemistry. If you want an arrow with (approximately) the same length and spacing as a \longrightarrow, then you can use this code:


Test \lra Result

Test $\longrightarrow$ Result

The xspace package is only needed for having \lra behave in the same way as $\lra$ (otherwise TeX wouldn't put a space after \lra). It is always a good idea to include an \xspace if you use \ensuremath in a macro that takes no arguments.

  • The core of the spacing problem is that \chemarrow is not of type \mathrel. For example, replacing \let\rightarrow\chemarrow by \renewcommand\rightarrow{\mathrel{\textrm{\arro\symbol{65}}}} in Aku's original code will be enough to make the gap disappear. But for coherence's sake, \relbar (used in \longrightarrow in the form \relbar\joinrel\rightarrow) should also be changed into chemarrow's equivalent, which gives a code not very different from yours (\joinrel is just \mathrel{\mkern-3mu}). Commented Jan 18, 2011 at 22:05
  • @Philippe: Well, the main problem is that \relbar essentially is a -, and this contains some white space in the left (and in the right) of its bounding box. Chemarrow's equivalent has to be based on \textrm{\arro\symbol{71}}, and this doesn't contain the white space in the left; thus you get different spacing. Does it make sense what I wrote? Commented Jan 19, 2011 at 18:01
  • it does ;) I had understood that the reason of the \mkern1.5mu at the beginning of your code was the absence of a right sidebearing for \textrm{\arro\symbol{71}}; this also means that \joinrel introduces a bit too much negative spacing would you try to use it as it with a chemarrow. My point was more to explain why Aku's code resulted in an arrow in two pieces and how one could adapt the definition of \longrightarrow to avoid this. But as I said at the end of my comment, doing that would not result in something simpler than your solution. Commented Jan 19, 2011 at 22:12
  • @Philippe: Thanks. Your explanation as to where the gap came from was also helpful for me. Commented Jan 20, 2011 at 6:59

You can use


from the chemarrow package, which will produce an arrow with a given length. 0.8 cm is roughly the length of the broken arrow in the minimal example.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .