Print

Print


----- Original Message ----
From: Morten Høgholm <[log in to unmask]>
To: [log in to unmask]
Sent: Thursday, January 22, 2009 9:12:32 AM
Subject: Re: changing page dimensions in mid-document (was Re: Key points of LaTex3)

On Thu, Jan 22, 2009 at 3:55 PM, Paul Thompson <[log in to unmask]> wrote:
> Thanks for taking the time to look at newlfm.
>
> What I do there is 1) set dimensions for Page 1 based on letterhead stuff; 2) at the same time, compute requirements for Page 2-K; 3) store Page 2-K in variables; 4) after shipping out Page Z, reset dimensions to the stored values if stored values are there, and then reset the "change dimension variable" after finishing the change.  That's all I need, really.

This is fine but not solving the problems Frank is talking about. What
happens when a paragraph is broken across two pages with different
text widths?

------------------------------------
It would look very cruddy, on Pass 1.

If the system were designed to allow this, on Pass 2, the processor would read the information in the .aux file, and adjust things correctly on that page.  

Since LaTeX is a multi-pass system, many things do not work correctly on the first page, and work more correctly on the second and in some cases on the third pass.  

If you have ever used longtable, you may have looked at the result of the longtable specification on the first pass, and thought "gee that looks terrible."  But then on Pass 2, the dimensions for the table are read in from .aux, and the system corrects the table, and all is well.

That sort of thing could be done here. But I am not entirely sure how some of the details would be worked out.  In my cases, I have adjusted only text height, not text width.  Would you agree that this probably would work OK for height?

A final point:  In TeX/LaTeX, the philosophy always was to give the user more options, and not fewer.  Admittedly, the counter-point is that the philosophy is to make good looking MS, not crappy looking kludges.  These are at some level antithetical I agree.

My thought is to give the option of doing this, and let the user solve their own problems, that's my thought here.  Perhaps they will choose to break the paragraph carefully, or to use a \newpage to force the page.  Whatever works, and users would find approaches to solve their own problems, I would guess.  This would only be used by people who were beyond simple usage anyway.
------------------------------------


>
> Your comment about the calc package is very interesting.  I don't understand why it will not work.  Can you direct me to something to clarify the problem?

With calc loaded
  \setlength\mylen{1pt+2pt}
expands to (after a few steps)
  \calc@assign@generic\calc@Askip\calc@Bskip \mylen {1pt+2pt}
with \calc@assign@generic defined as
  \def\calc@assign@generic#1#2#3#4{\let\calc@A#1\let\calc@B#2%
    \calc@open(#4!%
    \global\calc@A\calc@B\endgroup#3\calc@B}
Therefore, \global\setlength results in \calc@A being \let globally to
\calc@Askip and \mylen being set locally.
-- 
Morten