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