Edit:
I understand this question has been marked as a duplicate, but the question I linked to doesn't have a solution for me (unless I'm missing something obvious, which is likely). The effect is quite visible when printed on paper. Can anyone suggest how I can avoid the problem and still use Latin Modern for non-maths text? I'm using pdfLaTeX.
I've run into an issue using the implies glyph. I'm using a Latin Modern typeface, 12pt document. The horizontal lines that make up the arrow have a "bump" in the middle. I found this similar question when trying to figure it out, but the issue persists even after printing.
Possible bug with \implies and \Longrightarrow — there's a dot in the middle of it
To illustrate, here's a picture:
The issue basically disappears when I use \scriptstyle
, but I'd rather not. Any ideas?
\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{mathtools}
\begin{document}
$\implies$\par
$\scriptstyle \implies$
\end{document}
Best Answer
The problem is this:
\Longrigtharrow
(over which\implies
is defined) is built with two characters that come from different fonts.The equals sign for lengthening the arrow is taken from
\textfont0
(the normal text font), while the arrow (\Rightarrow
) is taken from\textfont2
(the math symbol font).When a current font size is 10pt,
lmodern
defines\textfont0
asrm-lmr10
(the prefixrm
means OT1 encoding) and\textfont2
aslmsy10
and all is good. If the current font size is 11pt, the fonts arerm-lmr10 at 10.95pt
andlmsy10 at 10.95pt
, which again agree with each other.The problem is at 12pt: in this case
\textfont0
isrm-lmr12
, while\textfont2
islmsy10 at 12pt
. Here is where the problem arises: the thickness of the strokes is scaled for\Rightarrow
but not with=
and the difference is noticeable, particularly at low resolution.The following image is taken at 4x magnification (
\mag=4000
) by compiling withpdftex
the inputand the difference cannot be attributed to pixel adjustments of the onscreen previewer.
A possible workaround is to redefine the font used for
\textfont0
to use scaledrm-lmr10
when the current font size is above 10pt and using T1 as the default encoding for text fonts.