12

Recently I typeset the same document on two different computers—once on my Mac and once on a machine running Ubuntu. (Both have the latest release of TeX Live, or whatever the standard distro is.) The two PDFs were identical, except that the heads of the \rightarrows (hence \tos) the Ubuntu machine produced were slightly fatter (and uglier) than those the Mac produced. Does this style feature vary across versions of LaTeX, and how can I control which arrowheads are typeset?

The code

\documentclass{article}

\begin{document}

This document was created on the Ubuntu machine, using \TeX\ Live 2009, \LaTeX\ 2e, etc.
Here is an arrow:
    \[ \rightarrow\]

\end{document}

on the Ubuntu machine generated arrowtest.pdf.

And the code

\documentclass{article}

\begin{document}

This document was created using the Mac, using \LaTeX\ 2e, etc.
This is an arrow:
    \[ \rightarrow \]

\end{document}

on my Mac generated arrowtest2.pdf.

11
  • seen on screen or on the printed paper?
    – user2478
    Jan 27, 2011 at 6:51
  • On the screen. The fat arrow looks like the \textrightarrow of the textcomp package.
    – Z Norwood
    Jan 27, 2011 at 6:55
  • 1
    Try another pdf viewer, other than evince.
    – Leo Liu
    Jan 27, 2011 at 7:02
  • the arrowhead is a single character and always the same. The problem is your viewer
    – user2478
    Jan 27, 2011 at 7:10
  • 1
    Maybe post two minimal PDFs and the source used to create them.
    – TH.
    Jan 27, 2011 at 7:27

1 Answer 1

18

There are two versions of the arrow heads in circulation, so it is possible that on one machine a font uses the first while on the other machine a font uses the other one.

What happened is that Knuth changed the styles of arrows in 1992 as he says in his Important Message to all Users of TeX :

Many characters were improved in 1992, notably the arrows, which now are darker and have larger arrowheads, so that they don't disappear so easily after xeroxing.

Here is the two versions side by side by comparison:

comparison of the two arrows

The problem is that when the fonts based on Computer Modern where converted in type1 format, some of them stayed with the old version and some with the new version. For example, the amssymb \twoheadrightarrow uses the short arrowhead whereas the bluesky type1 \rightarrow uses the large one:

enter image description here

\documentclass{article}
\usepackage{amssymb}
\begin{document}
$\rightarrow$ $\twoheadrightarrow$
\end{document}

If you load an old lmodern package (e.g. version 1.3 from 2007/01/14) the \rightarrow will use the old arrow head (but the text arrow the new one). However, in the newest lmodern, the correct arrow heads are now being used, as the lm-hist.txt file says:

Ver. 2.003, 16.09.2009: main modification: shapes of LM glyps consistent
with D.E. Knuth's recent changes in CMs plus lots of tiny changes;
most important changes are described in details below: 
* fonts and glyphs modified according to D.E. Knuth's changes in CMs
  (note that the corrections related to glyph shapes, not metric data):
  -- leftward arrow (char '040), rightward arrow (char '041),
     upward arrow (char '042), downward arrow (char '043),
     left-and-right arrow (char '044), northeast arrow (char '045),
     southeast arrow (char '046), northwest arrow (char '055),
     southwest arrow (char '056), up-and-down arrow (char char '154)
     lmsy5 lmbsy5 lmsy6 lmsy7 lmbsy7 lmsy8 lmsy9 lmsy10 lmbsy10

If you are sure that your two TeX distributions are recent, using \usepackage{lmodern} on both should solve the issue.

13
  • This is exactly what I was hoping for. Thank you!
    – Z Norwood
    Jan 27, 2011 at 8:14
  • Now what should I do if I like the old arrow heads much better? (OK, I shouldn't ask questions in comments, but this one may be permitted.) Jan 27, 2011 at 8:36
  • 1
    @Hendrik: the simplest way is to keep an old version of lmodern around, but then you loose the newest changes to the fonts. A better solution would be to convince the lmodern team to add an option for this. Another possibility, if you don't mind doing a lot of work for it, is to make a virtual font which takes all the symbols from the newest lmodern except the arrows which would come from the old version. Jan 27, 2011 at 12:33
  • 1
    @Philippe: Options 2 and 3 both sound good. Probably I won't have the nerve for #2, but #3 is not too hard for me. Thanks! (It was here where I noticed the different arrow tips; for the triple arrow I actually don't like the new one.) Jan 27, 2011 at 12:49
  • 1
    @Zach: what you really need to copy is the pfb files from the [texmf]/fonts/type1/public/lm folder (the exact folder may vary from distribution to distribution). It would also be safer to copy the corresponding tfm files (in [texmf]/fonts/tfm/public/lm); the enc files shouldn't have changed, but if you have any problems, you should also copy them. Jan 31, 2011 at 8:37

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.