[Tex/LaTex] \Longrightarrow doesn’t look good in 12pt

math-modesymbols

I'm using the standard CM fonts in 12pt (and amsmath if this is relevant). My problem is that \Longrightarrow gives something like this output, which I find a bit annoying. I know that it's a composed symbol, but in 10pt and in 11pt it looks perfect, so why doesn't it also work in 12pt?

By the way, I produced the image by typing \Huge\Longrightarrow on mathurl.com, so it's not an artefact of my TeX system (and it tells us that mathurl uses 12pt …). Moreover, it's not just something on the screen, I also see it on a printout (where I don't know which LaTeX distribution was used for typesetting).

I think I've first seen this when I was still using LaTeX 2.09 a long time ago!

Best Answer

(Posting as CW since I don't like to take credit for my good Google Fu)

A hack was provided in http://programming.itags.org/tex/124077/ where you re-implement the construction of \Longrightarrow by using instead of the cmr12 version of the = sign, the cmr10 version suitably rescaled. So this way the \Longrightarrow will be just like the 10-pt version but bigger. The following is the example provided by Ulrike Fischer in that thread.

\documentclass[12pt]{article}
\DeclareFontFamily{OT1}{cmrx}{}
\DeclareFontShape{OT1}{cmrx}{m}{n}{<->cmr10}{}
\begin{document}\pagestyle{empty}
$\Longrightarrow$

%Redefine \Longrightarrow as the following to get the 'fixed' version
$\mathrel{%
  \mbox{\fontfamily{cmrx}\fontencoding{OT1}\selectfont=}}%
\joinrel\Rightarrow$

\end{document}

The disadvantage of the above solution is that it's dangerous to use it as a patch for existing files: The fixed \Longrightarrow is slightly longer than the original one, so this might affect linebreaks. Here's a version that doesn't have this drawback:

\documentclass[12pt]{article}
\DeclareFontFamily{OT1}{cmrx}{}
\DeclareFontShape{OT1}{cmrx}{m}{n}{<->cmr10}{}
\let\saveLongrightarrow\Longrightarrow
\makeatletter
\renewcommand*{\Longrightarrow}{%
    \mathrel{\rlap{\fontfamily{cmrx}\fontencoding{OT1}\selectfont=}%
    \hphantom{\saveLongrightarrow}%
    \llap{$\m@th\Rightarrow$}}}
\makeatother
\begin{document}
$a\saveLongrightarrow b$

$a\Longrightarrow b$
\end{document}
Related Question