The statement about 2.5 times the length of the lowercase alphabet is just an indication. However you can play with geometry
:
\documentclass{book}
%%\usepackage{newtxtext}
\newlength{\alphabet}
\settowidth{\alphabet}{\normalfont abcdefghijklmnopqrstuvwxyz}
\usepackage{geometry}
\geometry{textwidth=2.5\alphabet,hmarginratio={2:3}}
\begin{document}
\the\textwidth
\end{document}
This will use a ratio for the margins as indicated (2:3 is actually the default, in twoside mode). Well behaved font packages should work correctly.
With the default fonts I get a textwidth of 318.96pt, while with newtxtext
I get 298.58pt (with mathptmx
the result is 298.57pt).
Notice that pslatex
is a very obsolete package and that its descendant mathptmx
is rather inadequate for serious typesetting involving math. If you don't need mathematics, other choices based on (Linotype) Times Roman are
The former has the companion math package newtxmath
.
You can choose whatever ratio you prefer for the margins. It's customary, in twoside printing, to have the outer margin wider than the inner one. If you want to automatize the choice between oneside printing (equal margins) and twoside, then
\geometry{textwidth=2.5\alphabet}
\makeatletter
\if@twoside
\geometry{hmarginratio={2:3}}
\else
\geometry{hmarginratio={1:1}}
\fi
\makeatother
could be used. The options for geometry
can be given in distinct \geometry
commands. Don't forget to specify the paper size (you can do it either in \geometry
or as a class option).
You can also test the loaded class:
\makeatletter
\geometry{hmarginratio={1:1}} % fallback
\@ifclassloaded{book}
{
\if@twoside
\geometry{hmarginratio={2:3}}
\else
\geometry{hmarginratio={1:1}}
\fi
}{}
\@ifclassloaded{article}
{
\if@twoside
\geometry{hmarginratio={4:2}}
\else
\geometry{hmarginratio={1:1}}
\fi
}{}
\makeatletter
(the setting 4:2 is just by way of example).
However there's no "catch all" format: what you finally choose for a document depends on the document itself.
How to set the horizontal margin ratio to be equal to that fixed by the class? This is a bit difficult, because the standard setting uses a different model than geometry
.
\documentclass{article}
\usepackage{newtxtext}
\usepackage{geometry}
\newlength{\alphabet}
\sbox0{\normalfont abcdefghijklmnopqrstuvwxyz}
\setlength{\alphabet}{\wd0}
\makeatletter
\begingroup
\dimendef\innermargin=\z@
\dimendef\outermargin=\tw@
\innermargin=\dimexpr\oddsidemargin+1in+\hoffset\relax
\outermargin=\dimexpr\paperwidth-\innermargin-\textwidth\relax
\outermargin=.002\outermargin
\innermargin=2\innermargin
\count@=\innermargin
\divide\count@ \outermargin
\xdef\standardhmarginratio{\number\count@:1000}
\endgroup
\geometry{textwidth=2.5\alphabet,hmarginratio=\standardhmarginratio}
\begin{document}
text width = \the\textwidth
horizontal margin ratio = \standardhmarginratio
\end{document}
With the article
class we get 1000:1000, with book
(twoside mode) the result is 667:1000 that's, for all practical purposes, 2:3.
a4paper
option for thearticle
class [and less (or not?) with theletterpaper
option]. If this is true, I'd be curious to know why...