Re: Headers, footers, and tab stops for formatting


Subject: Re: Headers, footers, and tab stops for formatting
From: Rob Campbell (rob.campbell@att.net)
Date: Sun Mar 25 2001 - 22:36:40 CST


I'll start with the easy part first:

----- Thomas Frydrych wrote on March 24, 2001 10:38 am -----
> I do not see any reason to support columns in headers at all, even
> when we have time to implement it. I have never seen a header that
> required multiple columns, and since headers/footers are rarely
> longer than 3 lines tabs are all that is needed to achieve any
> desired layout.

I agree completely. My original post was on creating headers/footers with
three sections - left, right, and center - using tab stops. I suggested
columns as an alternative implementation and then dismissed them because:

(1) Editing text in separate columns isn't keyboard-friendly.
(2) Columns wouldn't automatically resize if, for instance, a centered title
grew too long to fit in its column.

I was just anticipating what someone might suggest as a plausible
alternative. It is equally important to discuss why one doesn't prefer a
particular implementation as why one does prefer another. Just as we are
now:

----- Thomas Frydrych wrote on March 24, 2001 10:38 am -----
> I agree with Martin; let the headers be simple by default, just like
> any other paragraph.

Treating them "just like any other paragraph" is the correct and most
elegant solution for implementing headers and footers in code. But from the
end-user's point of view, they are not just like any other paragraph.
Rather than continuous, flowing text, they present information about the
document (meta-data), like title, page number, and modification date. The
simplest example would probably be the page number centered in the footer.
But it is quite common for different bits of information to be center, left,
and right justified on the same page.

Both solutions work equally well for the simple case of a single item and a
single justification, but paragraph level formatting fails for every other
case. THERE IS NO OTHER WAY to create different text runs justified
differently on the same line than by using tab stops. Left, right, and
center-justified tab stops are part of AbiWord's formatting repertoire,
presumably for cases just like this. So I do not understand the resistance
to using them.

Regardless of whether we continue to use paragraph level formatting or begin
to use tab stops, a decision is being made for the end user that will not be
correct in all cases. But in all cases that paragraph level formatting is
"correct", tab stop formatting will also be correct. The reverse in not
true. Tab stop formatting also allows AbiWord to automate more of the work
for the user.

Martin's suggestion that the implementation be determined by use of
templates seems like a good idea. But there are problems:

(1) Do we want a proliferation of headers like "Report with tab stop
headers"
and "Report with paragraph justification headers"?
(2) As the parallel thread on headers shows, some code will actually depend
on the header formatting implementation (i.e. what to do if "Insert Page
Numbers" is used more than once).

To summarize my main argument:

(1) Creating headers and footers text justified differently on the same line
is a common end-user operation.
(2) Using justified tab stops is the only way to do it.
(3) AbiWord should make it easier, not harder, to do. I admit that using
tab stops in this way is non-intuitive. I was baffled when I switched from
WordPerfect to Word and tried to create this effect. For this reason,
defining a center-justified tab stop at the middle of the page and a
right-justified tab stop at the right margin should be done automatically
when a user creates a header/footer by any means.

I hope my comments have been constructive. The fact is that, thanks to all
the hard work done to date, I can create multi-part headers and
footers just as I have described above. My concern is making Abi's
default behavior more helpful.

Thanks for all the work.

Sincerely,
Rob Campbell



This archive was generated by hypermail 2b25 : Sun Mar 25 2001 - 09:35:36 CST