LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

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
Subject:
From:
Lars Hellström <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 31 Jan 2000 15:09:43 +0100
Content-Type:
text/plain
Parts/Attachments:
text/plain (57 lines)
This was inspired by Achim's ``Headings templates'' posted a while back. It
concerns a problem with current LaTeX that they didn't address, but which I
think should be solved.

According to the litterature on book design that I've read, things like
page headers and footers should be included in the text rectangle---the
area on a page inside which text is mainly placed (\marginpars are by
definition in the margin, i.e., outside the text rectangle). The only case
in which a header/footer should not be part of the text rectangle is a
footer which only contains a page number. If you think about it along the
lines of classical book design (with golden ration proportions and the
whole thing), then it is easy to see that the rule makes sense.

The problem with current LaTeX is that it counts all headers and footers as
being outside the text rectangle, since \textwidth and \textheight are
logically the dimensions of this rectangle. It is of course possible to
work around it, but it is illogical---in the headings pagestyle you would
have to have
   text rectangle height = \headheight + \headsep + \textheight    and
   top margin = \topmargin,
whereas in the plain pagestyle you would have to have
   text rectangle height = \textheight   and
   top margin = \topmargin + \headheight + \headsep
---and it definately goes wrong if you start changing pagestyle.

(I tried to write a package that did something about this a few years back,
but I failed. Since \thispagestyle allows you to change pagestyle on a
single page, it is necessary to do processing in the output routine, and I
didn't feel up to hacking it back then. It should really be solved in the
kernel.)

What I would like to suggest is:
 (i) That the page layout parameters for 2e* are organised so that
\textheight (or whatever) really is the text rectangle height and
\topmargin (or whatever) really is the top margin height.
 (ii) That page headers and footers are accompanied by booleans which
specify whether the header/footer should be set inside the text rectangle
or not (it's too hard for LaTeX to determine this on its own and one would
anyway have to support the current incorrect layout somehow).
 (iii) That the height for header and footer inside the text rectangle is
taken from that used for the main document galley, so that you would have

   \textheight = if header: \headheight + \headsep + fi  \vsize
         if footer: + \footsep + \footheight fi ;

(here header and footer are the booleans mensioned above, for the current
page).

I know this is not free from trouble (you don't know when beginning a new
page  whether there is a \thispagestyle on it that changes the desired
\vsize), so I am prepared to wait for an implementation, but it is needed.

Lars Hellström

PS (to Achim): You may want to take a look at the \cs command (defined in
ltxdoc). It's much easier than typing \texttt{\textbackslash all the time.

ATOM RSS1 RSS2