Print

Print


Michael J. Downes writes:

 > % justification centerfirst
 > %
 > %    This instance centers the first line of a paragraph and sets all
 > %    remaining lines as a solid block (including the last line). This
 >
 > Is the first line really the same as the remaining text (i.e. a
 > continuation of the same sentence, rather than a kind of title)??
 > Strange.

yes it is.  perhaps that's british? :-) no it is not strange, it is only
strange if you think of applying it to captions where one line is a title and
the rest is actually what other people call the legend. but then there is the
style where the "title" is nothing other than something like "Fig. 5" and the
rest is a long sentence describing the picture or whatever. In such a
circumstance layouts like this do make sense (or at least can look
attractable, and you can find them once in a while).


 > There is a related kind of justification problem that is used in AMS
 > publications: if a figure caption is less than one line in length,
 > center it, otherwise use block justification:
 >
 >   |-----------------------------------------------------------|
 >                   Figure 1. A short caption
 >
 >
 >   |-----------------------------------------------------------|
 >   Figure 2.  On the other hand  if there is  a long caption the
 >   first line  should not be centered,  the whole caption should
 >   be full-justified like this.
 >
 > This is hard to handle by only declarative parameter settings. At some
 > level it is necessary to program a test for the length of the text.

yes, but why is this difficult for a declarative interface? you are right that
at run time the template needs to do tests to decide what to do but then it
receives the caption text as argument (or so we hope:-) an so can make test on
it. if I remember correctly then i discuss this at some length in the
hypothetical example of templates in template.dtx

 > And
 > in practice there are some esthetic complications: If the caption width
 > is 1.01 of line width, clearly it is better to either leave it on one
 > line (overfull) or else the justification should use something like .9
 > of linewidth instead of 1.0.

right that is difficult, but again not more difficult with a declarative
interface, probably less in fact. after all you can give your AMS designers a
template which explicitly offers keys like

 single-line-overshoot-allowed

and if you really want you can make the template smarter and smarter (like
looking if it ends up with two lines only how full the second line is and then
offer a minimum value for this, or ....)

point is with the declarative interface you can gradually replace simpler
templates with more complicated ones but all have the same kind of interface
as far as the designer is concerned (and they are all exchangable for another)

frank