Blame Changes-2003-01

Packit 327903
1. Facilitating <fo:block span="all">
Packit 327903
FOTEX.XMT
Packit 327903
in \XMLelement{fo:block}: detect the span="all" attribute and if so, end
Packit 327903
multicol layout before (if present), and resume multicol layout (if there
Packit 327903
was one) after.
Packit 327903
FOTEX.STY
Packit 327903
new user-interface macros for loading nomulticols.sty if present, otherwise
Packit 327903
resorting to multicols, if present, otherwise defining a fake multicols
Packit 327903
environment. If nomulticols could not be loaded, care is taken that fo:block
Packit 327903
span="all" is disabled, otherwise the TeX run will fail.
Packit 327903
In \@outputpage, call refreshmulticols, which will possibly refresh the
Packit 327903
multicol layout.
Packit 327903
NOMULTICOL.STY
Packit 327903
new file, same functionality as MULTICOL.STY, but does not use an
Packit 327903
environment. With some extra macros to interrupt a multicolumnlayout. It is
Packit 327903
now possible to say
Packit 327903
Packit 327903
begin multicol layout
Packit 327903
    start group
Packit 327903
           *1*
Packit 327903
        start group
Packit 327903
            end multicol layout *2*
Packit 327903
                start group
Packit 327903
                    do something interesting
Packit 327903
                end group
Packit 327903
            begin multicol layout *4*
Packit 327903
        end group
Packit 327903
        *3*
Packit 327903
    end group
Packit 327903
end multicol layout
Packit 327903
Packit 327903
CAVEAT 1: a lot of assignments of nomulticol have been made global, may be
Packit 327903
too much. For example, if something is set at point *1*, it should be
Packit 327903
restored at point *3*, but if this thing is also set by nomulticol, it will
Packit 327903
undergo a global change at point *2* and/or *4*, and hence will not be
Packit 327903
restored by TeX's grouping mechanism anymore.
Packit 327903
So may be it is needed to carefully discriminate between counts, dimens,
Packit 327903
boxes, and macros that are particular to multicol (the should be treated
Packit 327903
wholly globally), and the (La)TeX-quantities that are dependent on them, and
Packit 327903
they might be set locally.
Packit 327903
Packit 327903
CAVEAT 2: care must be taken that nomulticol interacts well with an other
Packit 327903
change by me: every time a page is output, a fresh page setup will be
Packit 327903
computed, if necessary. After this page setup, the multicol environment must
Packit 327903
be refreshed (if it was in force). But refreshing should not occur twice in
Packit 327903
a row for the same page. Although it seems that I have succeeded in
Packit 327903
preventing this double refreshment, I still wonder why it can occur at the
Packit 327903
first place.
Packit 327903
2. Facilitating multiple special pages
Packit 327903
XSL-FO facilitates the specification of a sequence of special pages before
Packit 327903
an unbounded, repeating page sequence starts.
Packit 327903
PassiveTeX only allowed one special page, labelled First. I allow for the
Packit 327903
definition of a sequence of such pages, labelled Lead<counter>. In \@output
Packit 327903
page a counter keeps track of which Lead page should be set up. A page setup
Packit 327903
will be done if necessary.
Packit 327903
This change interacts with multicol, see previous item.
Packit 327903
Note also, that blank pages, caused by explicit page-breaks of number
Packit 327903
continuating properties, will be detected as blank pages, and hence react to
Packit 327903
the blank-or-not-blank attribute.
Packit 327903
3. Implementation of xsl-footnote-separator
Packit 327903
A rather crude implementation, by storing the static content of
Packit 327903
xsl-footnote-separator in the macro \footnoterule, and adjusting the
Packit 327903
\skip\footins too match the height+ depth of the new \footnoterule.
Packit 327903
4. Enabling footnotes in tables
Packit 327903
Footnotes in tables work. This is done by saving footnotes insides tables
Packit 327903
into a tokenlist \BoxedFootnotes, doing the corresponding \insert-s at the
Packit 327903
end of the table.
Packit 327903
Packit 327903
CAVEAT: this is not reallly a nice implementation: if the table breaks
Packit 327903
across pages, the footnotetexts will not appear on the same page as the
Packit 327903
footnotemarks.
Packit 327903
5. Vertical align in tables
Packit 327903
If I work with an explicit line-height, the vertical space allocation for
Packit 327903
the first and last row of a table comes out wrong. Also, when there is a
Packit 327903
line-break inside a cell, the cell-height comes out too small. Something
Packit 327903
gets discarded. I have made some changes to the interlineskip (following the
Packit 327903
TeXBook definition of \offinterlineskip), in order to fix this, but I have
Packit 327903
not succeeded completely.
Packit 327903
6. Inheriting table-cell properties from table-column
Packit 327903
According to XSL-FO table-cells my inherit properties from corresponding
Packit 327903
table-columns by using
Packit 327903
att-x="from-column(att-x)"
Packit 327903
PassiveTeX only implements inheritance of column-width and column-number,
Packit 327903
without the need to use from-column("column-width").
Packit 327903
I have made only an adhoc improvement: text-align will be inherited from the
Packit 327903
column, and it happens automatically, without using from-column(text-align).
Packit 327903
I have done this with the Array implementation, used for column-width and
Packit 327903
column-number. More properties can added easily. It should not be too
Packit 327903
difficult to implement from-column(att-x) for a fixed set of attributes, but
Packit 327903
implementing this for all possible attributes is more difficult.
Packit 327903
7. vskip vs kern
Packit 327903
In the code for typesetting blocks, I have changed some vskips in kern,
Packit 327903
because I trust the kern better than te vskip (kerns will not be discarded,
Packit 327903
vskips might be, and I am not completely sure about the conditions).
Packit 327903
8. Bug in FOBoxedBlock
Packit 327903
There is some weird code at the start of \FOBoxedBlock (see comments in
Packit 327903
fotex.sty at that point).
Packit 327903
I have also added some \relax calls after assignments to be sure that the
Packit 327903
text after \fi etc is not gobbled up by the preceding assignment.
Packit 327903
9. Percenttests
Packit 327903
I have increased the use of percented attribute values. Also, \percenttest
Packit 327903
was not always able to see the % character, because it was still unexpanded
Packit 327903
when fed to it. I have changed that, so that any percent in the
Packit 327903
attributetext is surely expanded to a % with catcode 12 before being fed to
Packit 327903
percenttest.
Packit 327903
(Mostly % appears as an active char, and by means of a limitied-scope
Packit 327903
definition of % to be % with catcode 12, this case will be brought to meet
Packit 327903
the assumption).
Packit 327903
10. Overline
Packit 327903
I have added the overline formatting for inlines, but not nearly as nice as
Packit 327903
the underline of ulem.sty. I just needed it in simple cases, so I took the
Packit 327903
easy option.
Packit 327903
11. Pagenumber filtering
Packit 327903
The algorithm to filter page number sequences generated by indexes (a very
Packit 327903
nice feature of passivetex, by the way), had a few obvious mistakes. I have
Packit 327903
corrected them.
Packit 327903
12. Horizontal alignment
Packit 327903
There were still some problems with alignment, I made some corrections to
Packit 327903
\FOOutputblock in fotex.sty.
Packit 327903
See also mlnames.sty, definition of \Q@end
Packit 327903
13 Page breaks
Packit 327903
In \FONormalBlcok I found that a \penalty -\@M did not generate a page
Packit 327903
break, so I changed it to \newpage (a few times). (see also changes in
Packit 327903
\FOEndBlockTwo
Packit 327903
14 Sub- Superscript
Packit 327903
PassiveTeX adjusted the fontsize of sub/superscripts, but this should be
Packit 327903
governed by the fo-tree.
Packit 327903
So I adjusted \textsub/superscript in fotex.sty
Packit 327903
15 Dimensions of the page
Packit 327903
Page dimensions now work additive, more according to the XSL-FO spec.
Packit 327903
16 attribute="inherit"
Packit 327903
Now the inherit mechanism can also be triggered by the explicit value of
Packit 327903
"inherit". This was achieved by redefining a macro of xmltex: \XML@attrib@x
Packit 327903
(in fotex.xmt)
Packit 327903
17. fo:external-graphic
Packit 327903
scale-to-fit behaviour modified: scaled to the local container instead of
Packit 327903
the page (hsize, vsize instead of linewidth, textheight)
Packit 327903
18. fo:leader implemetation improved
Packit 327903
The code for fo:leader in xmt has been improved
Packit 327903
19. fo-retrieve-marker
Packit 327903
Some trivial improvements in the code of fo:retrieve-marker
Packit 327903
20. More unicode characters
Packit 327903
Added definitions for unicode   and &#x2001 (em and n squares) in
Packit 327903
ucharacters.sty
Packit 327903
A. Nested fo:block in fo:table-cell
Packit 327903
Something goes wrong with <fo:table-cell><fo:block><fo:block>.
Packit 327903
The count \FOinTable records whether we are inside a table. But I think that
Packit 327903
it should also record wheter we are immediately below a <fo:table-cell> or
Packit 327903
deeper. But I have not found out what to do in the latter case ...
Packit 327903