[OS X TeX] 9.5pt font size
Bruno Voisin
bvoisin at mac.com
Tue Mar 23 02:29:18 EST 2004
Le 23 mars 04, à 07:37, AB&C Sheldon a écrit :
> Hello all, hopefully I have a quick question. I am LaTeXing an 800
> page book and need to use 9.5pt computer modern over 11 pt leading
> throughout. I have succeeded in using 9 over 11 with the command
> "\renewcommand{\normalsize}{\fontsize{9}{11}\selectfont}" in the
> preamble. Unfortunately the command does not work if I replace 9 with
> 9.5. I get numerous errors of the following variety:
> LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <9.5> not
> available
> (Font) size <9> substituted on input line 156.
> Any suggestions?
What you see is actually (and sadly) normal. With Computer Modern
fonts, not all sizes are defined. If you look for example at the file
/Library/teTeX/share/texmf.tetex/tex/latex/base/ot1cmr.fd, you'll see
such lines as:
\DeclareFontShape{OT1}{cmr}{m}{n}%
{<5><6><7><8><9><10><12>gen*cmr%
<10.95>cmr10%
<14.4>cmr12%
<17.28><20.74><24.88>cmr17}{}
which basically tell LaTeX that:
get CM Roman in size 5 from the font cmr5
get CM Roman in size 6 from the font cmr6
get CM Roman in size 7 from the font cmr7
get CM Roman in size 8 from the font cmr8
get CM Roman in size 9 from the font cmr9
get CM Roman in size 10 from the font cmr10
get CM Roman in size 10.95 from the font cmr10 (scaled)
get CM Roman in size 12 from the font cmr12
get CM Roman in size 14.4 from the font cmr12 (scaled)
get CM Roman in size 17.28 from the font cmr17
get CM Roman in size 20.74 from the font cmr17 (scaled)
get CM Roman in size 24.88 from the font cmr17 (scaled)
all other sizes being undefined (ie unknown to LaTeX). The fonts
themselves live in
/Library/teTeX/share/texmf.tetex/fonts/type1/bluesky/cm.
Then /Library/teTeX/share/texmf.tetex/tex/latex/base/bk10.clo,
corresponding to the book class in size 10pt, says:
\renewcommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xiipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
namely that the normal size is 10pt over 12pt leading and that various
spacing parameters have related values.
To cure this you can try to put in the preamble of your document stuff
like:
\DeclareFontShape{OT1}{cmr}{m}{n}%
{<-5>cmr5%
<5-6>cmr6%
<6-7>cmr7%
<7-8>cmr8%
<8-9>cmr9%
<9-11>cmr10%
<11-14>cmr12%
<14->cmr17}{}
which tells LaTeX to interpolate intermediate sizes (font designers
will probably have better advice than me on which available size to
scale up from for any given font size).
But then you'll have to do this for all the fonts involved (see all the
font definition files -- with .fd extension -- inside the folder
/Library/teTeX/share/texmf.tetex/tex/latex/base defining the base LaTeX
setup), and also redefine all the parameters in the class option file
/Library/teTeX/share/texmf.tetex/tex/latex/base/bk10.clo to match your
new font and leading sizes.
Details on the LaTeX font setup are given in
/Library/teTeX/share/texmf.tetex/doc/latex/base/fntguide.dvi, or in
chapter 7 of "The LaTeX Companion".
This odd font setup or Computer Modern fonts dates back to the origin
of these fonts, before PostScript became widely used: the fonts were
generated in bitmap format at a given location, in a range of
predefined sizes derived from 10pt multiplied by powers of 1.2
(1.2^{1/2}, 1.2, 1.2^2, etc.). Then with PostScript it was made
obsolete, as a font could be scaled at any size. For example for the
Times font the LaTeX setup is:
\DeclareFontShape{OT1}{ptm}{m}{n}{
<-> ptmr7t
}{}
in /Library/teTeX/share/texmf.tetex/tex/latex/psnfss/ot1ptm.fd, using
scaling for any size.
The simpler solution for you would probably be, if possible, to stick
to 10pt over 12pt leading if possible.
Hope this helps,
Bruno Voisin
-----------------------------------------------------
Please see <http://www.esm.psu.edu/mac-tex/> for list
guidelines, information, and LaTeX/TeX resources.
More information about the MacOSX-TeX
mailing list