Received: via tmail-4.1(11) (invoked by user schoepf) for schoepf; Mon, 31 Jan 2000 15:10:01 +0100 (MET) Received: from mailgate2.zdv.Uni-Mainz.DE (mailgate2.zdv.Uni-Mainz.DE [134.93.8.57]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id PAA14585 for ; Mon, 31 Jan 2000 15:10:00 +0100 (MET) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01BF6BF4.DCC8C280" Received: from mail.listserv.gmd.de (mail.listserv.gmd.de [192.88.97.5]) by mailgate2.zdv.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id PAA01177 for ; Mon, 31 Jan 2000 15:09:54 +0100 (MET) Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <0.A87E67D9@mail.listserv.gmd.de>; Mon, 31 Jan 2000 15:09:39 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 449480 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Mon, 31 Jan 2000 15:08:17 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id PAA21382 for ; Mon, 31 Jan 2000 15:08:16 +0100 (MET) Received: from abel.math.umu.se (abel.math.umu.se [130.239.20.139]) by relay.uni-heidelberg.de (8.9.3+Sun/8.9.3) with ESMTP id PAA06185 for ; Mon, 31 Jan 2000 15:08:17 +0100 (MET) Received: from [130.239.20.144] (mac144.math.umu.se [130.239.20.144]) by abel.math.umu.se (8.9.2/8.9.2) with ESMTP id QAA17452 for ; Sun, 30 Jan 2000 16:06:17 +0100 (CET) Return-Path: x-vm-v5-data: ([nil nil nil nil nil nil nil nil nil]["2912" "Mon" "31" "January" "2000" "15:09:43" "+0100" "Lars =?iso-8859-1?Q?Hellstr=F6m?=" "Lars.Hellstrom@MATH.UMU.SE" nil "56" "Page layout parameters" "^Date:" nil nil "1" nil nil nil nil nil]nil) X-Sender: lars@abel.math.umu.se (Unverified) x-mime-autoconverted: from quoted-printable to 8bit by relay.urz.uni-heidelberg.de id PAA21383 Content-class: urn:content-classes:message Subject: Page layout parameters Date: Mon, 31 Jan 2000 15:09:43 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: =?iso-8859-1?Q?Lars_Hellstr=F6m?= Sender: "Mailing list for the LaTeX3 project" To: "Multiple recipients of list LATEX-L" Reply-To: "Mailing list for the LaTeX3 project" Status: R X-Status: X-Keywords: X-UID: 3528 This is a multi-part message in MIME format. ------_=_NextPart_001_01BF6BF4.DCC8C280 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable 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 =3D \headheight + \headsep + \textheight and top margin =3D \topmargin, whereas in the plain pagestyle you would have to have text rectangle height =3D \textheight and top margin =3D \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 =3D 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=F6m 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. ------_=_NextPart_001_01BF6BF4.DCC8C280 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Page layout parameters

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 =3D \headheight + = \headsep + \textheight    and
   top margin =3D \topmargin,
whereas in the plain pagestyle you would have to = have
   text rectangle height =3D = \textheight   and
   top margin =3D \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 =3D 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=F6m

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.

------_=_NextPart_001_01BF6BF4.DCC8C280--