LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Will Robertson <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Tue, 7 Sep 2010 09:24:53 +0930
text/plain (31 lines)
On 07/09/2010, at 7:14 AM, TeXWorld wrote:

> Is it or will it be possible with LaTeX 3 to have standard classes (really) do this :
> \documentclass[12.37pt]{article}
> or
> \documentclass[31pt]{book}

Probably the closest you can do to this now is with the extsize package/class. Historically, this was not possible because fonts had to be selected in discrete sizes.

The way that LaTeX font size selecting works is more complicated than just setting the document body font to, say, 11pt. Rather, all of the sizes from \tiny to \Huge are adjusted, and even the margins of the document adjust to compensate for the difference in size. When fonts had to be selected in fixed sizes, doing this process for more than a few sizes (10,11,12pt) was not feasible.

Nowadays, of course, things are different. It is not inconceivable to imagine a document class where the \textwidth is calculated from the alphabet length of the body font, \small is 0.85*\normalsize, \large is 1.2*\normalsize, etc. etc. Whether this is a reasonable interface remains to be seen (I think it would probably work -- please discuss!).

Note that something like this is currently possible if you use the fontspec package in XeLaTeX or LuaLaTeX. Fonts there can be selected with arbitrary scaling values (via LaTeX's scaling mechanism in the NFSS's .fd files), so if you write

\setmainfont[scale=1.045]{Adobe Garamond Pro}

then this is roughly equivalent to selecting an 11.5pt body font. (Of course, margins will still need to be adjusted to suit.)

* * *

The LaTeX3 project has not really started discuss such high-level aspects of document design, but we've made a start with the "template" mechanism for creating modular document interface elements. If you're interested, take a look at the xtemplate package on CTAN or the LaTeX3 SVN code.

Best regards,
-- Will