From 06c4daa53d286161db92cf8d0f9c7055748ee92e Mon Sep 17 00:00:00 2001 From: Manuel Pégourié-Gonnard Date: Mon, 7 Jul 2008 09:54:46 +0000 Subject: passivetex update git-svn-id: svn://tug.org/texlive/trunk@9324 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xmltex/passivetex/ChangeLog | 24 - .../doc/xmltex/passivetex/Changes-2003-01 | 150 -- .../doc/xmltex/passivetex/README.passivetex | 33 - Master/texmf-dist/doc/xmltex/passivetex/index.html | 2771 -------------------- .../doc/xmltex/passivetex/latextei-fo.xml | 647 ----- .../texmf-dist/doc/xmltex/passivetex/latextei.tex | 4 - .../texmf-dist/doc/xmltex/passivetex/latextei.xml | 972 ------- .../doc/xmltex/passivetex/passivetex.xml | 388 --- .../doc/xmltex/passivetex/properties.xml | 592 ----- Master/texmf-dist/doc/xmltex/passivetex/test.xml | 280 -- Master/texmf-dist/doc/xmltex/passivetex/xsa.xml | 14 - Master/texmf-dist/tex/xmltex/passivetex/fotex.sty | 1230 +++------ Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt | 482 ++-- .../texmf-dist/tex/xmltex/passivetex/mlnames.sty | 21 +- .../tex/xmltex/passivetex/nomulticol.sty | 1065 -------- .../tex/xmltex/passivetex/ucharacters.sty | 4 +- Master/tlpkg/bin/ctan2tds | 2 +- Master/tlpkg/bin/tlpkg-ctan-check | 6 +- 18 files changed, 600 insertions(+), 8085 deletions(-) delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/ChangeLog delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/README.passivetex delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/index.html delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/latextei.tex delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/latextei.xml delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/properties.xml delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/test.xml delete mode 100644 Master/texmf-dist/doc/xmltex/passivetex/xsa.xml delete mode 100644 Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty diff --git a/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog b/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog deleted file mode 100644 index c95d5048a58..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog +++ /dev/null @@ -1,24 +0,0 @@ -2001-06-19 Sebastian Rahtz - - * passivetex.xml: releasing current version with broken tables - -2000-09-24 Sebastian Rahtz - - * fotex.xmt: preserve value of "extent" attribute on - page-master-name basis, and use in \@outputpage - -2000-07-27 Sebastian Rahtz - - * added break-after to FOEndBlock - * added FOlabel to fo:inline and fo:list-item - -2000-03-21 Sebastian Rahtz - - * unicode.sty: changed mmasym to "if loaded", instead of "if exists" - -2000-01-13 Sebastian Rahtz - - * mlnames.sty (subsection{Languages}): add - \languageshorthands{none} to all \selectlanguage lines - - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 b/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 deleted file mode 100644 index a6491765fbe..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 +++ /dev/null @@ -1,150 +0,0 @@ -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 ... - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex b/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex deleted file mode 100644 index 23061d7e5c1..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex +++ /dev/null @@ -1,33 +0,0 @@ -PassiveTeX - -Sebastian Rahtz, February 10th 2000 - -The files in this directory provide an implementation of XSL -formatting objects. If an XSLT processor is used to write out XSL -objects in serialized XML format, the result can be formatted using -xmltex. In addition, an extended xmltex control file for TEI -documents is provided. - -This package consists of the following files: - -The core xmltex `style' files for XSL FO XML: - - fotex.xmt - fotex.sty - -A test file, containing TEI + MathML markup: - - latextei.xml (original) - latextei-fo.xml (transformed to XSL FO) - -Support for direct formatting of TEI XML with xmltex - - tei.xmt - latextei.tex (wrapper for xmltex of sample file) - -Some support files, shared with Jadetex: - - unicode.sty - ucharacters.sty - mlnames.sty - dummyels.sty diff --git a/Master/texmf-dist/doc/xmltex/passivetex/index.html b/Master/texmf-dist/doc/xmltex/passivetex/index.html deleted file mode 100644 index 367a991547d..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/index.html +++ /dev/null @@ -1,2771 +0,0 @@ - - - - - - - - PassiveTeX - - - - - - - - - - -
Oxford University -

Oxford University Computing Services

-
-

PassiveTeX

-
-
- - - - - - -

Contents

- - -
-

1. Summary -

- - -
    -
  • - PassiveTeX is a library of TeX macros which can be used to process an XML - document which results from an XSL transformation to formatting objects. - -
  • -
  • - PassiveTeX provides a rapid development environment for experimenting - with XSL FO, using a reliable pre-existing formatter - -
  • -
  • - Running PassiveTeX with the pdfTeX variant of TeX generates high-quality - PDF files in a single operation. - -
  • -
  • - PassiveTeX shows how TeX can remain the formatter of choice for XML, while - hiding the details of its operation from the user. - -
  • -
- -

- Available from http://users.ox.ac.uk/~rahtz/passivetex/. - The current version is 1.4, 2000/12/11. - -

- -
- -
-

2. How does it work? -

- -

- PassiveTeX relies heavily on work by David Carlisle - (his namespace-aware XML parser written in - TeX, xmltex), and was developed from my - JadeTeX - macros for processing DSSSL via Jade. - -

- -

- Taking the XML version of the TEI Lite guidelines - (teiu5.xml, with DTD - teixlite.dtd), we apply an XSL stylesheet - (see my page of TEI style sheets), - and run it through James Clark's XT XSL processor: -

-  java com.jclark.xsl.sax.Driver teiu5.xml tei.xsl teiu5.fo
-
- (assuming you have xt.jar, xp.jar and sax.jar - on your CLASSPATH ). This creates the new XML file - teiu5.fo. We now run XMLTeX on this -
- pdfxmltex teiu5.fo
-
- which creates teiu5.pdf. Voila! - Actually, we need to do -
- pdfxmltex teiu5.fo
-
- again, to resolve page-number references in the table of contents. For a comparison - with an HTML rendering of the same document (using XSL again), - see teiu5.html - on my TEI page. -

- -
- -
-

3. Installation -

- - -

- The PassiveTeX macros should be downloaded (as a ZIP file, - passivetex.zip), unpacked, and installed in a TeX system (eg in - texmf/tex/latex/passivetex) in the normal place where you put - macros. Consult your local documentation or local expert if you do not know - how to install a new package; on a web2c-based system, don't forget to - run mktexlsr when you have the files in place, - to update the file lookup table. - -

- -

- What about that pdfxmltex command we saw in the last section? - You don't have it on your system? You need to download - xmltex - (that link gives you a ZIP archive of the system) and install it in the your TeX system. - It too is just a set of TeX macro packages. - Then you can use it on a file called (eg) teiu5.fo in one of two ways: - -

    -
  1. Build an xmltex format file for pdfTeX with -
    -pdftex -ini "&pdflatex" pdfxmltex.ini
    -
    - and process your file with -
    -pdflatex "&pdfxmltex" teiu5.fo
    -
    - Or, -
  2. -
  3. - Make a wrapper file called (eg) teiu5.tex looking like this: -
    -\def\xmlfile{teiu5.fo}
    -\input xmltex
    -
    - and run pdfTeX on it as normal with -
    -pdflatex teiu5.tex
    -
    -
  4. -
- Do not worry, xmltex knows how to find the PassiveTeX macros as - it needs them. You will likely need to increase TeX memory - values (in the file texmf.cnf if you use a Web2c-based TeX); - I use: -
-main_memory = 2500000
-param_size = 1500
-stack_size = 1500
-hash_extra = 50000
-string_vacancies = 45000
-pool_free = 47500
-nest_size = 500
-save_size = 10000
-pool_size = 500000
-max_strings = 55000
-
-

- -

- For reference, the PassiveTeX package consists of the following files: - -

    -
  • The core xmltex `style' files for XSL FO XML: -
    - fotex.xmt
    - fotex.sty
    -
    -
  • -
  • - Support for direct formatting of TEI XML with xmltex -
    - tei.xmt        
    - teixml.sty
    -
    -
  • -
  • - Some support files, shared with JadeTeX: -
    - unicode.sty
    - ucharacters.sty
    - mlnames.sty 
    - dummyels.sty
    -
    -
  • -
- -

- -

- NOTE: TeX has a limit - on the length of line it can read, - and some .fo files you generate may cause - TeX to die with an message about increasing buf_size. - If you get that, edit your - texmf.cnf file, increase the size of buf_size (mine is - 200000), and remake any format files. - -

- -
-

3.1. LaTeX package dependencies -

- -

This setup assumes you have a decent modern TeX setup. The TeX Live 5 CD-ROM - is what I use, and it is up to date - (see http://www.tug.org/texlive/). - -

- -

Here is a - list of the packages loaded in a typical run of - PassiveTeX, with their version numbers where known: - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
amsbsy.sty 1999/11/29 v1.2d
amsfonts.sty 1997/09/17 v2.2e
amsgen.sty 1999/11/30 v2.0
amsmath.sty 2000/03/29 v2.08 AMS math features
amsopn.sty 1999/12/14 v2.01 operator names
amssymb.sty 1996/11/03 v2.2b
amstext.sty 1999/11/15 v2.0
array.sty 1998/05/13 v2.3m Tabular extension package (FMi)
article.cls 1999/09/10 v1.4a Standard LaTeX document class
bm.sty 1999/07/05 v1.0g Bold Symbol Support (DPC/FMi)
color.sty 1999/02/16 v1.0i Standard LaTeX Color (DPC)
fontenc.sty (version not available)
graphics.sty 1999/02/16 v1.0l Standard LaTeX Graphics (DPC,SPQR)
graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
hpdftex.def 2000/05/08 v6.70f Hyperref driver for pdfTeX
hyperref.sty 2000/05/08 v6.70f Hypertext links for LaTeX
ifthen.sty 1999/09/10 v1.1b Standard LaTeX ifthen package (DPC)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
longtable.sty 1998/05/13 v4.09 Multi-page Table package (DPC)
multicol.sty 1999/10/21 v1.5w multicolumn formatting (FMi)
nameref.sty 2000/05/08 v2.18 Cross-referencing by name of section
ot1phv.fd 2000/01/12 PSNFSS-v8.1 scalable font definitions for OT1/phv.
pd1enc.def 2000/05/08 v6.70f Hyperref: PDFDocEncoding definition (HO)
pifont.sty 2000/01/12 PSNFSS-v8.1 Pi font support (SPQR)
rotating.sty 1997/09/26, v2.13 Rotation package
size10.clo 1999/09/10 v1.4a Standard LaTeX file (size option)
stmaryrd.sty 1994/03/03 St Mary's Road symbol package
t1enc.def 1999/12/08 v1.9x Standard LaTeX file
t1phv.fd 2000/01/12 PSNFSS-v8.1 scalable font definitions for T1/phv.
t1ptm.fd 2000/01/12 PSNFSS-v8.1 font definitions for T1/ptm.
t2acmr.fd 1999/01/07 v1.0 Computer Modern Cyrillic font definitions
t2aenc.def 1999/11/29 v1.0c Cyrillic encoding definition file
t3enc.def (version not available)
textcomp.sty 1999/12/08 v1.9x Standard LaTeX package
times.sty 2000/01/12 PSNFSS-v8.1 Times font as default roman (SPQR)
tipa.sty 1996/06/10 TIPA version 1.0
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
ts1enc.def 1998/06/12 v3.0d (jk/car/fm) Standard LaTeX file
ts1ptm.fd 2000/01/12 PSNFSS-v8.1 font definitions for TS1/ptm.
ulem.sty 1997/04/21
umsa.fd 1995/01/05 v2.2e AMS font definitions
umsb.fd 1995/01/05 v2.2e AMS font definitions
upsy.fd 2000/01/12 PSNFSS-v8.1 font definitions for U/psy.
upzd.fd 2000/01/12 PSNFSS-v8.1 font definitions for U/pzd.
url.sty 1999/03/28 ver 1.5x Verb mode for urls, etc.
Ustmry.fd (version not available)
uwasy.fd 1999/05/13 v1.0iWasy-2 symbol font definitions
wasysym.sty 1999/05/13 v1.0i Wasy-2 symbol support package
-
- -

- -
- -
- - - -
-

4. Extensions -

- - -

- PassiveTeX interprets MathML natively (elements must use the MathML namespace). - I also support a bookmark element in the - fotex namespace, used to make PDF bookmarks. Usage is like this: -

-<xsl:template match="div2">
-     <xsl:apply-templates select="head"/>
-     <fotex:bookmark  
-	xmlns:fotex="http://www.tug.org/fotex" 
-	fotex-bookmark-level="2"
-	fotex-bookmark-label="{@id}">
-        <xsl:value-of select="head"/>
-     </fotex:bookmark>
-  </fo:block>
-</xsl:template>
-
-

- -
- - - -
-

5. Notes on conformance to the XSL draft specification of November 2000 -

- - - -

- The following general limitations apply to most of the PassiveTeX - implementation of XSL FO: - -

    -
  1. The `px' unit is not recognised -
  2. -
  3. Absolute dimensions always work, but proportional ones - are often not recognized -
  4. -
  5. The functions allowed in attribute values are usually not - recognized -
  6. -
  7. There is no error checking at all, and all properies are - recognized; do not assume that they do anything... -
  8. -
- -

- -

- Most of the formatting objects are implemented more or less; the - following are not implemented at all: - -

    -
  1. fo:bidi-override
  2. -
  3. fo:color-profile
  4. -
  5. fo:declarations
  6. -
  7. fo:initial-property-set
  8. -
  9. fo:instream-foreign-object
  10. -
  11. fo:multi-case
  12. -
  13. fo:multi-properties
  14. -
  15. fo:multi-property-set
  16. -
  17. fo:multi-switch
  18. -
  19. fo:multi-toggle
  20. -
  21. fo:region-end
  22. -
  23. fo:region-start
  24. -
  25. fo:table-footer
  26. -
- -

- -
-

5.1. Properties needed for basic conformance -

- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alignment-adjustauto | percentage | length | inheritBasic2. should be possible
azimuthangle | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side - ] || behind ] | leftwards | rightwards | inherit - Basic4. N/A
background-colorcolor | transparent | inheritBasic3. does not really map in TeX
baseline-identifierbaseline | before-edge | text-before-edge | middle | after-edge - | text-after-edge | ideographic | alphabetic | hanging | mathematical - | inherit - Basic3. not at all sure where to start
baseline-shiftbaseline | sub | super | percentage | length | inheritBasic1. basically works
block-progression-dimensionauto | length | percentage | length-range | inheritBasic3. do not really understand it
border-after-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-after-styleborder-style | inheritBasic2. works for blocks (non-breaking)
border-after-widthborder-width | length-conditional | inheritBasic2. works for blocks (non-breaking)
border-before-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-before-styleborder-style | inheritBasic2. works for blocks (non-breaking)
border-before-widthborder-width | length-conditional | inheritBasic2. works for blocks (non-breaking)
border-bottom-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-bottom-styleborder-style | inheritBasic1. used in places
border-bottom-widthborder-width | inheritBasic2. works for blocks (non-breaking)
border-end-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-end-styleborder-style | inheritBasic2. works for blocks (non-breaking)
border-end-widthborder-width | inheritBasic2. works for blocks (non-breaking)
border-left-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-left-styleborder-style | inheritBasic2. works for blocks (non-breaking)
border-left-widthborder-width | inheritBasic2. works for blocks (non-breaking)
border-right-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-right-styleborder-style | inheritBasic2. works for blocks (non-breaking)
border-right-widthborder-width | inheritBasic2. works for blocks (non-breaking)
border-start-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-start-styleborder-style | inheritBasic2. works for blocks (non-breaking)
border-start-widthborder-width | inheritBasic2. works for blocks (non-breaking)
border-top-colorcolor | inheritBasic2. works for blocks (non-breaking)
border-top-styleborder-style | inheritBasic1. used in places
border-top-widthborder-width | inheritBasic2. works for blocks (non-breaking)
break-afterauto | column | page | even-page | odd-page | inheritBasic0. should be working
break-beforeauto | column | page | even-page | odd-page | inheritBasic0. should be working
charactercharacterBasic0. should be working
clipshape | auto | inheritBasic2. theoretically possible
colorcolor | inheritBasic1. more or less complete
column-numbernumberBasic0. OK
column-widthlengthBasic0. OK
content-typestring | autoBasic4. N/A, I think
cue-afteruri | none | inherit Basic4. N/A
cue-beforeuri | none | inherit Basic4. N/A
directionltr | rtl | inheritBasic3. waiting for extended TeX
display-alignauto | before | center | after | inheritBasic0. working
dominant-baselineauto | autosense-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical - | inherit - Basic3. dont know where to begin
elevationangle | below | level | above | higher | lower | inheritBasic4. N/A
end-indentlength | inheritBasic0. working
flow-namenameBasic0. working
font-family[[ family-name | generic-family ],]* [family-name | generic-family] | inheritBasic1. more or less OK
font-sizeabsolute-size | relative-size | length | percentage | inheritBasic1. more or less all implemented
font-stylenormal | italic | oblique | backslant | inheritBasic1. no oblique or backslant
font-variantnormal | small-caps | inheritBasic0. done
font-weightnormal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inheritBasic1. normal and bold only at present, others to follow
formatstringBasic3. dont want to think about it
grouping-separatorcharacterBasic3. dont want to think about it
grouping-sizenumberBasic3. dont want to think about it
heightlength | percentage | auto | inheritBasic2. should be OK, waiting for a need
id idBasic0. used
initial-page-numberauto | auto-odd | auto-even | number | inheritBasic0. done
inline-progression-dimensionauto | length | percentage | length-range | inheritBasic3. have not considered at all
keep-with-nextkeep | inheritBasic1. done in theory, not working 100%
keep-with-previouskeep | inheritBasic1. done in theory, not working 100%
leader-lengthlength-range | inheritBasic2. waiting to do soon
leader-patternspace | rule | dots | use-content | inheritBasic2. waiting to do soon
letter-valueauto | alphabetic | traditionalBasic3. dont want to think about it
line-heightnormal | length | number | percentage | space | inheritBasic1. largely done
line-stacking-strategyline-height | font-height | max-height | inheritBasic3. untouched
margin-bottommargin-width | inheritBasic1. done in places
margin-leftmargin-width | inheritBasic1. done in places
margin-rightmargin-width | inheritBasic1. done in places
margin-topmargin-width | inheritBasic1. done in places
master-namenameBasic0. ok
max-heightlength | percentage | none | inherit Basic2. should be doable
max-widthlength | percentage | none | inheritBasic2. should be doable
min-heightlength | percentage | inherit Basic2. should be doable
min-widthlength | percentage | inheritBasic2. should be doable
number-columns-repeatednumberBasic2. doable in theory
number-columns-spannednumberBasic2. doable in theory
number-rows-spannednumberBasic2. doable in theory
orphansinteger | inheritBasic2. should be doable
overflowvisible | hidden | scroll | auto | inheritBasic2. theoretically
padding-afterpadding-width | length-conditional | inheritBasic1. implemented crudely
padding-beforepadding-width | length-conditional | inheritBasic1. implemented crudely
padding-bottompadding-width | inheritBasic1. implemented crudely
padding-endpadding-width | inheritBasic1. implemented crudely
padding-leftpadding-width | inheritBasic1. implemented crudely
padding-rightpadding-width | inheritBasic1. implemented crudely
padding-startpadding-width | inheritBasic1. implemented crudely
padding-toppadding-width | inheritBasic1. implemented crudely
page-break-afterauto | always | avoid | left | right | inheritBasic1. Mostly implemented
page-break-beforeauto | always | avoid | left | right | inheritBasic1. Mostly implemented
page-heightauto | indefinite | length | inheritBasic1. not all possibilities
page-widthauto | indefinite | length | inheritBasic1. not all possibilities
pause-aftertime | percentage | inheritBasic4. N/A
pause-beforetime | percentage | inheritBasic4. N/A
pitchfrequency | x-low | low | medium | high | x-high | inheritBasic4. N/A
pitch-rangenumber | inheritBasic4. N/A
play-duringuri mix? repeat? | auto | none | inherit Basic4. N/A
precedencetrue | false | inheritBasic3. do not know where to start
provisional-distance-between-startslength | inheritBasic1. does something, probably wrong
provisional-label-separationlength | inheritBasic1. does something, probably wrong
ref-ididref | inheritBasic0. used in pagenumber
reference-orientation 0 | 90 | 180 | 270 | -90 | -180 | -270 | inheritBasic2. doable for most objects
region-namexsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator - | xsl-footnote-separator | name - Basic0. done
relative-alignbefore | baseline | inheritBasic3. have not got to grips with this
richnessnumber | inheritBasic4. N/A
rolestring | none | inheritBasic4. N/A what should I do with it?
rule-stylenone | dotted | dashed | solid | double | groove | ridge | inheritBasic1. done as far as possible
rule-thicknesslengthBasic0. done
source-documenturi+ | none | inheritBasic4. N/A not sure what to do with it
space-afterspace | inheritBasic1. working more or less
space-beforespace | inheritBasic1. working more or less
space-endspace | inheritBasic1. working more or less
space-startspace | inheritBasic1. working more or less
speaknormal | none | spell-out | inheritBasic4. N/A
speak-headeronce | always | inheritBasic4. N/A
speak-numeraldigits | continuous | inheritBasic4. N/A
speak-punctuationcode | none | inheritBasic4. N/A
speech-ratenumber | x-slow | slow | medium | fast | x-fast | faster | slower | inheritBasic4. N/A
src uri | inheritBasic0. implemented
start-indentlength | inheritBasic0. done
stressnumber | inheritBasic4. N/A
text-alignstart | center | end | justify | inside | outside | left | right | string | inheritBasic0. done
text-indentlength | percentage | inheritBasic0. done
visibilityvisible | hidden | collapse | inheritBasic2. I think can do this
voice-family[[specific-voice | generic-voice ],]* [specific-voice | generic-voice ] | inheritBasic4. N/A
volumenumber | percentage | silent | x-soft | soft | medium | loud | x-loud | inheritBasic4. N/A
widowsinteger | inheritBasic2. should be doable
widthlength | percentage | auto | inheritBasic2. should be OK, waiting for a need
wrap-optionno-wrap | wrap | inheritBasic0. should be working
writing-modelr-tb | rl-tb | tb-rl | lr | rl | tb | inheritBasic3. will need an extended TeX
z-indexauto | integer | inheritBasic3. dont know where to start
-
- -

- -
- - - -
-

5.2. Properties needed for full conformance -

- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
absolute-positionauto | absolute | fixed | inheritComplete2. should be doable
background[background-color || background-image - || background-repeat || background-attachment || background-position - | ]]inherit - Complete1. implemented but very fragile
background-position[ [percentage | length ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inheritComplete
border[ border-width || border-style || color ] | inheritComplete
border-bottom[ border-top-width || border-style || color ] | inheritComplete
border-colorcolor{1,4} | transparent | inheritComplete
border-left[ border-top-width || border-style || color ] | inheritComplete
border-right[ border-top-width || border-style || color ] | inheritComplete
border-spacinglength length? | inheritComplete
border-styleborder-style{1,4} | inheritComplete
border-top[ border-top-width || border-style || color ] | inheritComplete
border-widthborder-width{1,4} | inheritComplete
caption-sidebefore | after | start | end | top | bottom | left | right | inheritComplete
cuecue-before || cue-after | inheritComplete
font[ [ font-style || font-variant || font-weight ]? font-size [ / line-height]? font-family - ] | caption | icon | menu | message-box | small-caption | status-bar - | inherit - Complete
marginmargin-width{1,4} | inherit Complete
paddingpadding-width{1,4} | inheritComplete
page-break-insideavoid | auto | inheritComplete
pause[time | percentage]{1,2} | inheritComplete
positionstatic | relative | absolute | fixed | inheritComplete
sizelength{1,2} | auto | landscape | portrait | inheritComplete
vertical-alignbaseline | middle | sub | super | text-top | text-bottom | percentage | length | top | bottom | inheritComplete
white-spacenormal | pre | nowrap | inheritComplete
xml:langcountry-language | inheritComplete2. not done yet, but will be
-
- -

- -
- - -
-

5.3. Properties needed for extended conformance -

- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
table-layoutauto | fixed | inheritExtended.Fallback: fixed
background-attachmentscroll | fixed | inheritExtended.Fallback: Initial value2. I can see where I might start
background-imageuri | none | inheritExtended.Fallback: Initial value2. I can see where I might start
background-position-horizontalpercentage | length | left | center | right | inheritExtended.Fallback: Initial value2. I can see where I might start
background-position-verticalpercentage | length | top | center | bottom | inheritExtended.Fallback: Initial value2. I can see where I might start
border-collapsecollapse | separate | inheritExtended.Fallback: Initial value
border-separationlength-bp-ip-direction | inheritExtended.Fallback: Initial value
column-countnumber | inheritExtended.Fallback: Initial value0. implemented
content-heightauto | length | percentage | inheritExtended.Fallback: Initial value1. done for graphics
content-widthauto | length | percentage | inheritExtended.Fallback: Initial value1. done for graphics
countrynone | country | inheritExtended.Fallback: Initial value2. waiting to find a use for it
empty-cellsshow | hide | inheritExtended.Fallback: Initial value
ends-rowyes | noExtended.Fallback: Initial value
font-height-override-afteruse-font-metrics | length | inheritExtended.Fallback: Initial value3. need extended TeX
font-height-override-beforeuse-font-metrics | length | inheritExtended.Fallback: Initial value3. need extended TeX
font-size-adjustnumber | none | inheritExtended.Fallback: Initial value2. doable, I think
font-stretchnormal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | - expanded | extra-expanded | ultra-expanded |inherit - Extended.Fallback: Initial value0. should be OK
glyph-orientation-horizontalangle | inheritExtended.Fallback: Initial value3. need extended TeX
glyph-orientation-verticalauto | angle | inheritExtended.Fallback: Initial value3. need extended TeX
hyphenatefalse | true | inheritExtended.Fallback: Initial value0. done
keep-togetherkeep | inheritExtended.Fallback: Initial value
languagenone | language | inheritExtended.Fallback: Initial value0. done, if underlying TeX system OK
last-line-end-indentlength | percentage | inheritExtended.Fallback: Initial value
leader-alignmentnone | reference-area | page | inheritExtended.Fallback: Initial value
leader-pattern-widthuse-font-metrics | length | inheritExtended.Fallback: Initial value
letter-spacingnormal | length | space | inheritExtended.Fallback: Initial value2. doable in limited circumstances
line-height-shift-adjustmentconsider-shifts | disregard-shifts | inheritExtended.Fallback: Initial value
linefeed-treatmentignore | preserve | treat-as-space | inheritExtended.Fallback: Initial value2. doable, if tiresome
relative-positionauto | static | relative | inheritExtended.Fallback: Initial value
scalinguniform | non-uniform | inheritExtended.Fallback: Initial value0. ok
scaling-methodauto | integer-pixels | resample-any-method | inheritExtended.Fallback: Initial value4. N/A, I think
score-spacestrue | false | inheritExtended.Fallback: Initial value3. dont think I can do this
space-treatmentignore | preserve | inheritExtended.Fallback: Initial value0. seems to work
spannone | all | inheritExtended.Fallback: Initial value3. proving hard
starts-rowyes | - no - Extended.Fallback: Initial value0. works
suppress-at-line-breakauto | suppress | retain | inheritExtended.Fallback: Initial value
table-omit-footer-at-breakyes | noExtended.Fallback: Initial value
table-omit-header-at-breakyes | noExtended.Fallback: Initial value
text-align-lastrelative | start | center | end | justify | inside | outside | left | right | string | inheritExtended.Fallback: Initial value1. works, usually
text-decorationnone | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink - ] ] - - | inherit - Extended.Fallback: Initial value1. done for some possibilities, not all
text-shadownone | [color || length length length? ,]* [color || length length length?] | inheritExtended.Fallback: Initial value
text-transformcapitalize | uppercase | lowercase | none | Extended.Fallback: Initial value2. doable
treat-as-word-spaceauto | yes | no | inheritExtended.Fallback: Initial value
white-space-collapsefalse | true | inheritExtended.Fallback: Initial value0. Done
word-spacingnormal | length | space | inheritExtended.Fallback: Initial value
bottomlength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position2. doable, I think
leftlength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position2. doable, I think
rightlength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position2. doable, I think
toplength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position2. doable, I think
column-gaplength | percentage | inheritExtended.Fallback: N/A due to fallback for column-count1. implemented (not for all value types)
hyphenation-charactercharacter | inheritExtended.Fallback: N/A due to fallback for hyphenate3. need to think about how to do this
hyphenation-keepauto | column | page | inheritExtended.Fallback: N/A due to fallback for hyphenate3. not sure how to do this
hyphenation-ladder-countno-limit | number | inheritExtended.Fallback: N/A due to fallback for hyphenate3. I dont see how to do this
hyphenation-push-character-countnumber | inheritExtended.Fallback: N/A due to fallback for hyphenate2. I think this maps in TeX
hyphenation-remain-character-countnumber | inheritExtended.Fallback: N/A due to fallback for hyphenate2. I think this maps in TeX
color-profile-namename | inheritExtended.Fallback: N/A use fallback for fo:color-profile3. would need a lot of thought
rendering-intentauto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inheritExtended.Fallback: N/A use fallback for fo:color-profile3. not sure how to do this
clearstart | end | left | right | both | none | inheritExtended.Fallback: N/A use fallback for fo:float
floatbefore | start | end | left | right | none | inheritExtended.Fallback: N/A use fallback for fo:float
marker-class-namenameExtended.Fallback: N/A use fallback for fo:marker
active-statelink | visited | active | hover | focusExtended.Fallback: N/A use fallback for fo:multi-properties
auto-restoreyes | noExtended.Fallback: N/A use fallback for fo:multi-switch
case-namenameExtended.Fallback: N/A use fallback for fo:multi-switch
case-titlestringExtended.Fallback: N/A use fallback for fo:multi-switch
starting-stateshow | hideExtended.Fallback: N/A use fallback for fo:multi-switch
switch-toxsl-preceding | xsl-following | xsl-any | name[ name]*Extended.Fallback: N/A use fallback for fo:multi-switch
extentlength | percentage | inheritExtended.Fallback: N/A use fallback for fo:region-before, fo:region-after, fo:region-start, and fo:region-end
blank-or-not-blankblank | not-blank | any | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives3. dont want to think about it
odd-or-evenodd | even | any | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives
page-positionfirst | last | rest | any | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives
maximum-repeatsnumber | no-limit | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-reference and fo:repeatable-page-master-alternatives
retrieve-boundarypage | page-sequence | documentExtended.Fallback: N/A use fallback for fo:retrieve-marker
retrieve-class-namenameExtended.Fallback: - N/A use fallback for fo:retrieve-marker - 1. works usually
retrieve-positionfirst-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-pageExtended.Fallback: N/A use fallback for fo:retrieve-marker
destination-placement-offsetlengthExtended.Fallback: N/A use fallback for fo:simple-link
external-destinationuri-referenceExtended.Fallback: - N/A use fallback for fo:simple-link - 0. works ok
indicate-destinationyes | - no - Extended.Fallback: N/A use fallback for - fo:simple-link - 1. should work
internal-destinationnull string | - idref - Extended.Fallback: N/A use fallback for - fo:simple-link - 0. works
show-destinationreplace | newExtended.Fallback: N/A use fallback for fo:simple-link
force-page-countauto | even | odd | end-on-even | end-on-odd | no-force | inheritExtended.Fallback: no-force
background-repeatrepeat | repeat-x | repeat-y | no-repeat | inheritExtended.Fallback: no-repeat
scriptnone | auto | script | inheritExtended.Fallback: none4. dont know what to do with it
unicode-bidinormal | embed | bidi-override | inheritExtended.Fallback: See prose
-
- -

- -
- - -
- - -
-

6. Sample files -

- - -

- -

- -

- -
- - -
-

7. Concerns and problems -

- - -

- Some points to bear in mind - -

    -
  1. Obviously, the XSL FO spec is still a draft. - And this system is not conforming - precisely to the current draft. -
  2. -
  3. This is an experiment system to check whether the - idea works. Expect something more polished eventually. -
  4. -
  5. You need a modern TeX setup (like - teTeX or - TeX Live) - to get to grips with it. -
  6. -
  7. Quite a few flow objects and characteristics are not dealt with yet. - I will add support for more things as needed or requested. -
  8. -
  9. I do not have any objective check that what I think XSL FOs are - supposed to do is actually right :-} -
  10. -
  11. I have only worked so far with the TEI Lite (XML version) and - Docbook DTDs, and probably misinterpreted half of what they say. -
  12. -
- -

- -
- - -
-

8. Things for LaTeX users to remember -

- - -

- -

    -
  • No use is made of LaTeX high-level constructs. No sections, - no lists, no cross-refs, no bibliographies; on the other hand, - some extensions in the fotex: namespace are supported - (eg to get Acrobat bookmarks) - -
  • -
  • XSL FO's underlying character set is Unicode; by default, - entities are mapped to their Unicode position; - -
  • -
  • All vertical and horizontal space is explicit in the - specification - -
  • -
  • Page and line breaking is left to TeX: the rest is up to you. - -
  • -
- -

- -
- - -
-

9. Future directions -

- - -

- -

    -
  • Complete the MathML handling -
  • -
  • Handle more variety in property values (eg colors, fonts) -
  • -
  • Deal with more complex tables -
  • -
  • Support SVG. How? - -
      -
    • By direct intepretation and mapping to raw PDF -
    • -
    • By translation to MetaPost, and spawning a MetaPost process -
    • -
    • By pre-processing to existing TeX graphics languages -
    • -
    - In any case, SVG fragments need to be recognized directly to perform in-line - graphical functions (setting text at an angle?) - -
  • -
  • Use Unicode-based TeX variant (Omega) to handle non-Latin material - more naturally -
  • -
- -

- -

- I will be very glad to discuss details with anyone. Contact me (Sebastian Rahtz) as - sebastian.rahtz@oucs.ox.ac.uk - -

- -
- -
- -
-
Date: November 2000 - (revised 2000/12/11) -  Author: . -
© Oxford - University Computing Services. - -
- - \ No newline at end of file diff --git a/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml b/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml deleted file mode 100644 index bfc33c1f6bb..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml +++ /dev/null @@ -1,647 +0,0 @@ - - - - Simulation of Energy Loss Straggling - - Maria Physicist - January 17, 1999 - Simulation of Energy Loss StragglingMaria Physicist 1. Introduction1. Introduction Due to -the statistical nature of ionisation energy loss, large fluctuations -can occur in the amount of energy deposited by a particle traversing -an absorber element. Continuous processes such as multiple scattering -and energy loss play a relevant role in the longitudinal and lateral -development of electromagnetic and hadronic showers, and in the case -of sampling calorimeters the measured resolution can be significantly -affected by such fluctuations in their active layers. The description -of ionisation fluctuations is characterised by the significance -parameter κ, which is -proportional to the ratio of mean energy loss to the maximum allowed -energy transfer in a single collision with an atomic electron - κ= - - ξ - - Emax - - - - -Emax is the -maximum transferable energy in a single collision with an atomic electron. - - Emax= 2meβ2γ21+2γme/mx+me/mx 2, - where -γ=E/mx, -E is energy and -mx the mass of the -incident particle, β2=1-1/γ2 -and me is the -electron mass. ξ -comes from the Rutherford scattering crosss section and is defined as: - ξ=2πz2e4NAvZρδxmeβ2c2A =153.4 z2β2 ZAρδxkeV , - -where -zcharge of the incident particle NAvAvogadro's number Zatomic number of the materialAatomic weight of the material ρdensity δxthickness of the material -κ -measures the contribution of the collisions with energy transfer close to -Emax. For a given absorber, -κ tends towards large -values if δx is large -and/or if β is small. -Likewise, κ tends -towards zero if δx is -small and/or if β -approaches 1. -The value of κ -distinguishes two regimes which occur in the description of ionisation fluctuations -: - -A -large -number -of -collisions -involving -the -loss -of -all -or -most -of -the -incident -particle -energy -during -the -traversal -of -an -absorber. -As -the -total -energy -transfer -is -composed -of -a -multitude -of -small -energy -losses, -we -can -apply -the -central -limit -theorem -and -describe -the -fluctuations -by -a -Gaussian -distribution. -This -case -is -applicable -to -non-relativistic -particles -and -is -described -by -the -inequality -κ>10 -(i.e. -when -the -mean -energy -loss -in -the -absorber -is -greater -than -the -maximum -energy -transfer -in -a -single -collision). - -Particles -traversing -thin -counters -and -incident -electrons -under -any -conditions. -The -relevant -inequalities -and -distributions -are -0.01<κ<10, -Vavilov -distribution, -and -κ<0.01, -Landau -distribution. -An additional regime is defined by the contribution of the collisions -with low energy transfer which can be estimated with the relation -ξ/I0, -where I0 -is the mean ionisation potential of the atom. Landau theory assumes that -the number of these collisions is high, and consequently, it has a restriction -ξ/I01. In GEANT (see -URL http://wwwinfo.cern.ch/asdoc/geant/geantall.html), the limit of Landau theory has -been set at ξ/I0=50. -Below this limit special models taking into account the atomic structure of the material are -used. This is important in thin layers and gaseous materials. Figure 1 shows the behaviour -of ξ/I0 as -a function of the layer thickness for an electron of 100 keV and 1 GeV of kinetic -energy in Argon, Silicon and Uranium. - -Figure 1. The variable ξ/I0 -can be used to measure the validity range of the Landau -theory. It depends on the type and energy of the particle, -Z, -A -and the ionisation potential of the material and the layer thickness. -In the following sections, the different theories and models for the energy loss -fluctuation are described. First, the Landau theory and its limitations are discussed, -and then, the Vavilov and Gaussian straggling functions and the methods in the thin -layers and gaseous materials are presented. - - -2. Landau theory2. Landau theory - -For a particle of mass mx traversing -a thickness of material δx, -the Landau probability distribution may be written in terms of the universal Landau -function φ(λ) -as [1]: - f(ε,δx) = 1ξφ(λ) - -where - φ(λ) = 12πi - c+ic-iexpulnu+λuduc0 - - λ = ε-̄εξ -γ-β2-ln ξEmax - - γ = 0.422784...=1-γ - - γ = 0.577215...(Eulers constant) - - ̄ε = average energy loss - - ε = actual energy loss - - -2.1. Restrictions2.1. Restrictions - -The Landau formalism makes two restrictive assumptions : - -The -typical -energy -loss -is -small -compared -to -the -maximum -energy -loss -in -a -single -collision. -This -restriction -is -removed -in -the -Vavilov -theory -(see -section -3 (Vavilov theory)). - -The -typical -energy -loss -in -the -absorber -should -be -large -compared -to -the -binding -energy -of -the -most -tightly -bound -electron. -For -gaseous -detectors, -typical -energy -losses -are -a -few -keV -which -is -comparable -to -the -binding -energies -of -the -inner -electrons. -In -such -cases -a -more -sophisticated -approach -which -accounts -for -atomic -energy -levels [4] -is -necessary -to -accurately -simulate -data -distributions. -In -GEANT, -a -parameterised -model -by -L. -Urbán -is -used -(see -section -5 (Urbán model)). -In addition, the average value of the Landau distribution is infinite. -Summing the Landau fluctuation obtained to the average energy from the -dE/dx -tables, we obtain a value which is larger than the one coming from the table. The -probability to sample a large value is small, so it takes a large number of steps -(extractions) for the average fluctuation to be significantly larger than zero. This -introduces a dependence of the energy loss on the step size which can affect -calculations. -A solution to this has been to introduce a limit on the value of the -variable sampled by the Landau distribution in order to keep the average -fluctuation to 0. The value obtained from the GLANDO routine is: - - δdE/dx=ε-̄ε=ξ(λ-γ+β2+ln ξEmax ) - -In order for this to have average 0, we must impose that: - - ̄λ=-γ-β2-ln ξEmax - -This is realised introducing a λmax(̄λ) -such that if only values of λλmax -are accepted, the average value of the distribution is -̄λ. -A parametric fit to the universal Landau distribution has been performed, with following result: - - λmax=0.60715+1.1934̄λ+(0.67794+0.052382λ̄)exp(0.94753+0.74442λ̄) - only values -smaller than λmax -are accepted, otherwise the distribution is resampled. - - - -3. Vavilov theory3. Vavilov theory - -Vavilov [5] derived a more accurate straggling distribution by introducing the kinematic -limit on the maximum transferable energy in a single collision, rather than using -Emax=. Now -we can write [2]: - f ε,δs = 1ξφv λv,κ,β2 - -where - φv λv,κ,β2 = 12πi - c+ic-iφseλsdsc0 - - φs = expκ(1+β2γ)expψ s, - - ψ s = slnκ+(s+β2κ)ln(s/κ)+E -1(s/κ)-κe-s/κ, - -and - E1(z) = - zt-1e-tdt(the exponential integral) - - λv = κε-̄εξ -γ-β2 - -The Vavilov parameters are simply related to the Landau parameter by -λL=λv/κ-lnκ. It can be shown that -as κ0, the distribution of -the variable λL approaches -that of Landau. For κ0.01 -the two distributions are already practically identical. Contrary to what many textbooks -report, the Vavilov distribution does not approximate the Landau distribution for small -κ, but rather the -distribution of λL -defined above tends to the distribution of the true -λ from -the Landau density function. Thus the routine GVAVIV samples the variable -λL rather -than λv. -For κ10 -the Vavilov distribution tends to a Gaussian distribution (see next section). - - -4. Gaussian Theory4. Gaussian Theory - -Various conflicting forms have been proposed for Gaussian straggling functions, but most -of these appear to have little theoretical or experimental basis. However, it has been shown [3] -that for κ10 -the Vavilov distribution can be replaced by a Gaussian of the form: - f(ε,δs) 1ξ2πκ 1-β2/2exp(ε-̄ε)22 κξ2(1-β2/2) - -thus implying - mean = ̄ε - - σ2 = ξ2κ (1-β2/2)=ξE -max(1-β2/2) - - - -5. Urbán model5. Urbán model - -The method for computing restricted energy losses with -δ-ray -production above given threshold energy in GEANT is a Monte Carlo method that -can be used for thin layers. It is fast and it can be used for any thickness of a -medium. Approaching the limit of the validity of Landau's theory, the loss -distribution approaches smoothly the Landau form as shown in Figure 2. - -Figure 2. Energy loss distribution for a 3 GeV electron in Argon as given by -standard GEANT. The width of the layers is given in centimeters. -It is assumed that the atoms have only two energy levels with binding energy -E1 and -E2. -The particle--atom interaction will then be an excitation with energy loss -E1 or -E2, or -an ionisation with an energy loss distributed according to a function -g(E)1/E2: - - g(E)=(Emax+I)IEmax -1E2 -The -macroscopic cross-section for excitations (i=1,2) -is - Σi=C fiEi ln(2mβ2γ2/Ei)-β2ln(2mβ2γ2/I)-β2 (1-r) and -the macroscopic cross-section for ionisation is - - Σ3=C EmaxI(Emax+I)ln(Emax+II )r -Emax -is the GEANT cut for δ-production, -or the maximum energy transfer minus mean ionisation energy, if it is smaller than -this cut-off value. The following notation is used: -r,Cparameters of the modelEiatomic energy levels Imean ionisation energy fioscillator strengths -The model has the parameters fi, -Ei, -C and -r(0r1). The oscillator -strengths fi and the -atomic level energies Ei -should satisfy the constraints - f1+f2 = 1 - - f1lnE1+f2lnE2 = lnI - -The parameter C -can be defined with the help of the mean energy loss -dE/dx in the following way: The -numbers of collisions (ni, -i = 1,2 for the excitation and 3 for the ionisation) follow the Poisson distribution with a mean -number <ni>;. In a step -Δx the mean number -of collisions is - <ni>;=ΣiΔx -The -mean energy loss dE/dx -in a step is the sum of the excitation and ionisation contributions - - dEdx Δx=Σ1E1+Σ2E2+Σ3 - IEmax+IEg(E)dEΔx -From -this, using the equations (2), (3), (1) and (1), one can define the parameter -C - - C=dEdx - -The following values have been chosen in GEANT for the other parameters: - - f2=0 ifZ2 -2/ZifZ>2 - f1=1-f2 - E2=10Z2eV E1= IE2f2 1f1 - r=0.4 - - With these values -the atomic level E2 -corresponds approximately the K-shell energy of the atoms and -Zf2 the number of -K-shell electrons. r -is the only variable which can be tuned freely. It determines the relative contribution -of ionisation and excitation to the energy loss. -The energy loss is computed with the assumption that the step length (or the relative -energy loss) is small, and---in consequence---the cross-section can be considered -constant along the path length. The energy loss due to the excitation is - - ΔEe=n1E1+n2E2 -where -n1 and -n2 -are sampled from Poisson distribution as discussed above. The -loss due to the ionisation can be generated from the distribution -g(E) by -the inverse transformation method: - u=F(E) = - IEg(x)dx - - E=F-1(u) = I1-u EmaxEmax+I - - - -where u is a uniform random -number between F(I)=0 and -F(Emax+I)=1. The contribution from the -ionisations will be - ΔEi= - j=1n3 I1-uj EmaxEmax+I -where -n3 is the -number of ionisation (sampled from Poisson distribution). The energy loss in a step will -then be ΔE=ΔEe+ΔEi. - -5.1. Fast simulation for n3165.1. Fast simulation for n3≥16 - -If the number of ionisation n3 -is bigger than 16, a faster sampling method can be used. The possible energy loss -interval is divided in two parts: one in which the number of collisions is large and the -sampling can be done from a Gaussian distribution and the other in which -the energy loss is sampled for each collision. Let us call the former interval -[I,αI] the interval A, -and the latter [αI,Emax] the -interval B. α lies -between 1 and Emax/I. -A collision with a loss in the interval A happens with the probability - - P(α)= - IαIg(E)dE=(Emax+I)(α-1)Emaxα -The -mean energy loss and the standard deviation for this type of collision are - - <ΔE(α)>;= 1P(α) - IαIEg(E)dE=Iαlnαα-1 -and σ2(α)= 1P(α) - IαIE2g(E)dE=I2α1- αln2α(α-1)2 -If the -collision number is high, we assume that the number of the type A collisions can be -calculated from a Gaussian distribution with the following mean value and standard -deviation: - <nA>; = n3P(α) - - σA2 = n3P(α)(1-P(α)) - -It is further assumed that the energy loss in these collisions has a Gaussian -distribution with - <ΔEA>; = nA<ΔE(α)>; - - σE,A2 = nAσ2(α) - -The energy loss of these collision can then be sampled from the Gaussian -distribution. -The collisions where the energy loss is in the interval B are sampled directly from - - ΔEB= - i=1n3-nA αI1-ui Emax+I-αIEmax+I -The -total energy loss is the sum of these two types of collisions: - - ΔE=ΔEA+ΔEB - -The approximation of equations (1), (1), (1) and (1) can be used under the following -conditions: - <nA>;-cσA 0 - - <nA>;+cσA n3 - - <ΔEA>;-cσE,A 0 - -where c4. From -the equations (6), (1) and (1) and from the conditions (1) and (1) the following limits can be -αmin=(n3+c2)(Emax+I)n3(Emax+I)+c2I ααmax=(n3+c2)(Emax+I)c2(Emax+I)+n3I -This -conditions gives a lower limit to number of the ionisations -n3 for which the fast -n3c2 As -in the conditions (1), (1) and (1) the value of -c is as minimum -4, one gets n316. -In order to speed the simulation, the maximum value is used for -α. -The number of collisions with energy loss in the interval B (the number of interactions -which has to be simulated directly) increases slowly with the total number of collisions -n3. -The maximum number of these collisions can be estimated as -nB,max=n3-nA,minn3(<nA>;-σA) -From the previous -expressions for <nA>; and -σA one can derive the -nBnB,max= 2n3c2n3+c2 -The following -values are obtained with c=4: -n3nB,maxn3nB,max16 16 200 29.6320 17.78 500 31.0150 24.24 1000 31.50100 27.59 32.00 - - -5.2. Special sampling for lower part of the spectrum5.2. Special sampling for lower part of the spectrum - -If the step length is very small (5 -mm in gases, -2-3 μm in solids) -the model gives 0 energy loss for some events. To avoid this, the probability of 0 energy loss is -P(ΔE=0)=e-(<n1>+<n2>+<n3>) -If the -probability is bigger than 0.01 a special sampling is done, taking into account the fact that in -these cases the projectile interacts only with the outer electrons of the atom. An energy level -E0=10 eV is chosen -to correspond to the outer electrons. The mean number of collisions can be calculated from -<n>= 1E0 -The number -of collisions n -is sampled from Poisson distribution. In the case of the thin layers, all the -collisions are considered as ionisations and the energy loss is computed as -ΔE= - i=1n -E01- -Emax -Emax+E0 -ui - - 6. References6. References [1] L.Landau. On the Energy Loss of Fast Particles by -Ionisation. Originally published in J. Phys., 8:201, -1944. Reprinted in D.ter Haar, Editor, L.D.Landau, Collected -papers, page 417. Pergamon Press, Oxford, 1965. - [2] B.Schorr. Programs for -the Landau and the Vavilov distributions and the corresponding random -numbers. Comp. Phys. Comm., 7:216, 1974. - [3] S.M.Seltzer and -M.J.Berger. Energy loss straggling of protons and mesons. In -Studies in Penetration of Charged Particles in Matter, -Nuclear Science Series 39, Nat. Academy of Sciences, Washington DC, -1964. [4] R.Talman. On the -statistics of particle identification using ionization. Nucl. -Inst. Meth., 159:189, 1979. [5] P.V.Vavilov. Ionisation losses of high energy -heavy particles. Soviet Physics JETP, 5:749, -1957. - \ No newline at end of file diff --git a/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex b/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex deleted file mode 100644 index 40e379d8aa4..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex +++ /dev/null @@ -1,4 +0,0 @@ -\def\xmlfile{latextei.xml} -\input xmltex - - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml b/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml deleted file mode 100644 index af9fbb686c4..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml +++ /dev/null @@ -1,972 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Emax"> -exp"> -ln"> - - - - -]> - - - - - A sample article - - -

Converted from LaTeX by Sebastian Rahtz

-
- -

-
-
- - - - 23 Oct 1999 SR converted from LaTeX - - -
- - - - Simulation of Energy Loss Straggling - - Maria Physicist - January 17, 1999 - -
Introduction

Due to -the statistical nature of ionisation energy loss, large fluctuations -can occur in the amount of energy deposited by a particle traversing -an absorber element. Continuous processes such as multiple scattering -and energy loss play a relevant role in the longitudinal and lateral -development of electromagnetic and hadronic showers, and in the case -of sampling calorimeters the measured resolution can be significantly -affected by such fluctuations in their active layers. The description -of ionisation fluctuations is characterised by the significance -parameter κ, which is -proportional to the ratio of mean energy loss to the maximum allowed -energy transfer in a single collision with an atomic electron - κ= - - ξ - - &Emax; - - - - -&Emax; is the -maximum transferable energy in a single collision with an atomic electron. - - &Emax;= 2meβ2γ21+2γme/mx+me/mx 2, - where -γ=E/mx, -E is energy and -mx the mass of the -incident particle, β2=1-1/γ2 -and me is the -electron mass. ξ -comes from the Rutherford scattering crosss section and is defined as: - ξ=2πz2e4NAvZρδxmeβ2c2A =153.4 z2β2 ZAρδxkeV , -
-where -

zcharge of the incident particle -NAvAvogadro's number -Zatomic number of the material -Aatomic weight of the material -ρdensity -δxthickness of the material - -
-

κ -measures the contribution of the collisions with energy transfer close to -&Emax;. For a given absorber, -κ tends towards large -values if δx is large -and/or if β is small. -Likewise, κ tends -towards zero if δx is -small and/or if β -approaches 1. -

The value of κ -distinguishes two regimes which occur in the description of ionisation fluctuations -: -

- -

A -large -number -of -collisions -involving -the -loss -of -all -or -most -of -the -incident -particle -energy -during -the -traversal -of -an -absorber. -

As -the -total -energy -transfer -is -composed -of -a -multitude -of -small -energy -losses, -we -can -apply -the -central -limit -theorem -and -describe -the -fluctuations -by -a -Gaussian -distribution. -This -case -is -applicable -to -non-relativistic -particles -and -is -described -by -the -inequality -κ>10 -(i.e. -when -the -mean -energy -loss -in -the -absorber -is -greater -than -the -maximum -energy -transfer -in -a -single -collision). -

- -

Particles -traversing -thin -counters -and -incident -electrons -under -any -conditions. -

The -relevant -inequalities -and -distributions -are -0.01<κ<10, -Vavilov -distribution, -and -κ<0.01, -Landau -distribution.

-

An additional regime is defined by the contribution of the collisions -with low energy transfer which can be estimated with the relation -ξ/I0, -where I0 -is the mean ionisation potential of the atom. Landau theory assumes that -the number of these collisions is high, and consequently, it has a restriction -ξ/I01. In GEANT (see -URL ), the limit of Landau theory has -been set at ξ/I0=50. -Below this limit special models taking into account the atomic structure of the material are -used. This is important in thin layers and gaseous materials. Figure shows the behaviour -of ξ/I0 as -a function of the layer thickness for an electron of 100 keV and 1 GeV of kinetic -energy in Argon, Silicon and Uranium. -

-

-The variable ξ/I0 -can be used to measure the validity range of the Landau -theory. It depends on the type and energy of the particle, -Z, -A -and the ionisation potential of the material and the layer thickness. -

-

In the following sections, the different theories and models for the energy loss -fluctuation are described. First, the Landau theory and its limitations are discussed, -and then, the Vavilov and Gaussian straggling functions and the methods in the thin -layers and gaseous materials are presented. -

-
-
-Landau theory -

For a particle of mass mx traversing -a thickness of material δx, -the Landau probability distribution may be written in terms of the universal Landau -function φ(λ) -as: - f(ε,δx) = 1ξφ(λ) -
-where - φ(λ) = 12πi - c+ic-iexpulnu+λuduc0 - - λ = ε-¯εξ -γ-β2-ln ξ&Emax; - - γ = 0.422784...=1-γ - - γ = 0.577215...(Eulers constant) - - ¯ε = average energy loss - - ε = actual energy loss -
-

-
-Restrictions -

The Landau formalism makes two restrictive assumptions : -

- -

The -typical -energy -loss -is -small -compared -to -the -maximum -energy -loss -in -a -single -collision. -This -restriction -is -removed -in -the -Vavilov -theory -(see -section -). -

- -

The -typical -energy -loss -in -the -absorber -should -be -large -compared -to -the -binding -energy -of -the -most -tightly -bound -electron. -For -gaseous -detectors, -typical -energy -losses -are -a -few -keV -which -is -comparable -to -the -binding -energies -of -the -inner -electrons. -In -such -cases -a -more -sophisticated -approach -which -accounts -for -atomic -energy -levels -is -necessary -to -accurately -simulate -data -distributions. -In -GEANT, -a -parameterised -model -by -L. -Urbán -is -used -(see -section -).

-

In addition, the average value of the Landau distribution is infinite. -Summing the Landau fluctuation obtained to the average energy from the -dE/dx -tables, we obtain a value which is larger than the one coming from the table. The -probability to sample a large value is small, so it takes a large number of steps -(extractions) for the average fluctuation to be significantly larger than zero. This -introduces a dependence of the energy loss on the step size which can affect -calculations. -

A solution to this has been to introduce a limit on the value of the -variable sampled by the Landau distribution in order to keep the average -fluctuation to 0. The value obtained from the GLANDO routine is: - - δdE/dx=ε-¯ε=ξ(λ-γ+β2+ln ξ&Emax; ) - -In order for this to have average 0, we must impose that: - - ¯λ=-γ-β2-ln ξ&Emax; - -

This is realised introducing a λmax(¯λ) -such that if only values of λλmax -are accepted, the average value of the distribution is -¯λ. -

A parametric fit to the universal Landau distribution has been performed, with following result: - - λmax=0.60715+1.1934¯λ+(0.67794+0.052382λ¯)exp(0.94753+0.74442λ¯) - only values -smaller than λmax -are accepted, otherwise the distribution is resampled. -

-
-
-
-Vavilov theory -

Vavilov derived a more accurate straggling distribution by introducing the kinematic -limit on the maximum transferable energy in a single collision, rather than using -&Emax;=. Now -we can write: - f ε,δs = 1ξφv λv,κ,β2 -
-where - φv λv,κ,β2 = 12πi - c+ic-iφseλsdsc0 - - φs = expκ(1+β2γ)expψ s, - - ψ s = slnκ+(s+β2κ)ln(s/κ)+E -1(s/κ)-κe-s/κ, -
-and - E1(z) = - zt-1e-tdt(the exponential integral) - - λv = κε-¯εξ -γ-β2 -
-

The Vavilov parameters are simply related to the Landau parameter by -λL=λv/κ-lnκ. It can be shown that -as κ0, the distribution of -the variable λL approaches -that of Landau. For κ0.01 -the two distributions are already practically identical. Contrary to what many textbooks -report, the Vavilov distribution does not approximate the Landau distribution for small -κ, but rather the -distribution of λL -defined above tends to the distribution of the true -λ from -the Landau density function. Thus the routine GVAVIV samples the variable -λL rather -than λv. -For κ10 -the Vavilov distribution tends to a Gaussian distribution (see next section). -

-
-
-Gaussian Theory -

Various conflicting forms have been proposed for Gaussian straggling functions, but most -of these appear to have little theoretical or experimental basis. However, it has been shown -that for κ10 -the Vavilov distribution can be replaced by a Gaussian of the form: - f(ε,δs) 1ξ2πκ 1-β2/2exp(ε-¯ε)22 κξ2(1-β2/2) -
-thus implying - mean = ¯ε - - σ2 = ξ2κ (1-β2/2)=ξE -max(1-β2/2) -
-

-
-
-Urbán model -

The method for computing restricted energy losses with -δ-ray -production above given threshold energy in GEANT is a Monte Carlo method that -can be used for thin layers. It is fast and it can be used for any thickness of a -medium. Approaching the limit of the validity of Landau's theory, the loss -distribution approaches smoothly the Landau form as shown in Figure . -

-

-Energy loss distribution for a 3 GeV electron in Argon as given by -standard GEANT. The width of the layers is given in centimeters. -

-

It is assumed that the atoms have only two energy levels with binding energy -E1 and -E2. -The particle--atom interaction will then be an excitation with energy loss -E1 or -E2, or -an ionisation with an energy loss distributed according to a function -g(E)1/E2: - - g(E)=(&Emax;+I)I&Emax; -1E2 -

The -macroscopic cross-section for excitations (i=1,2) -is - Σi=C fiEi ln(2mβ2γ2/Ei)-β2ln(2mβ2γ2/I)-β2 (1-r) and -the macroscopic cross-section for ionisation is - - Σ3=C &Emax;I(&Emax;+I)ln(&Emax;+II )r -&Emax; -is the GEANT cut for δ-production, -or the maximum energy transfer minus mean ionisation energy, if it is smaller than -this cut-off value. The following notation is used: -

r,Cparameters of the model -Eiatomic energy levels -Imean ionisation energy -fioscillator strengths -
-

The model has the parameters fi, -Ei, -C and -r(0r1). The oscillator -strengths fi and the -atomic level energies Ei -should satisfy the constraints - f1+f2 = 1 - - f1lnE1+f2lnE2 = lnI -
-The parameter C -can be defined with the help of the mean energy loss -dE/dx in the following way: The -numbers of collisions (ni, -i = 1,2 for the excitation and 3 for the ionisation) follow the Poisson distribution with a mean -number <ni>;. In a step -Δx the mean number -of collisions is - <ni>;=ΣiΔx -The -mean energy loss dE/dx -in a step is the sum of the excitation and ionisation contributions - - dEdx Δx=Σ1E1+Σ2E2+Σ3 - I&Emax;+IEg(E)dEΔx -From -this, using the equations (), (), () and (), one can define the parameter -C - - C=dEdx - -

The following values have been chosen in GEANT for the other parameters: - - f2=0 ifZ2 -2/ZifZ>2 - f1=1-f2 - E2=10Z2eV E1= IE2f2 1f1 - r=0.4 - - With these values -the atomic level E2 -corresponds approximately the K-shell energy of the atoms and -Zf2 the number of -K-shell electrons. r -is the only variable which can be tuned freely. It determines the relative contribution -of ionisation and excitation to the energy loss. -

The energy loss is computed with the assumption that the step length (or the relative -energy loss) is small, and---in consequence---the cross-section can be considered -constant along the path length. The energy loss due to the excitation is - - ΔEe=n1E1+n2E2 -where -n1 and -n2 -are sampled from Poisson distribution as discussed above. The -loss due to the ionisation can be generated from the distribution -g(E) by -the inverse transformation method: - u=F(E) = - IEg(x)dx - - E=F-1(u) = I1-u &Emax;&Emax;+I - - -
-where u is a uniform random -number between F(I)=0 and -F(&Emax;+I)=1. The contribution from the -ionisations will be - ΔEi= - j=1n3 I1-uj &Emax;&Emax;+I -where -n3 is the -number of ionisation (sampled from Poisson distribution). The energy loss in a step will -then be ΔE=ΔEe+ΔEi. -

-
-Fast simulation for n316 -

If the number of ionisation n3 -is bigger than 16, a faster sampling method can be used. The possible energy loss -interval is divided in two parts: one in which the number of collisions is large and the -sampling can be done from a Gaussian distribution and the other in which -the energy loss is sampled for each collision. Let us call the former interval -[I,αI] the interval A, -and the latter [αI,&Emax;] the -interval B. α lies -between 1 and &Emax;/I. -A collision with a loss in the interval A happens with the probability - - P(α)= - IαIg(E)dE=(&Emax;+I)(α-1)&Emax;α -The -mean energy loss and the standard deviation for this type of collision are - - <ΔE(α)>;= 1P(α) - IαIEg(E)dE=Iαlnαα-1 -and σ2(α)= 1P(α) - IαIE2g(E)dE=I2α1- αln2α(α-1)2 -If the -collision number is high, we assume that the number of the type A collisions can be -calculated from a Gaussian distribution with the following mean value and standard -deviation: - <nA>; = n3P(α) - - σA2 = n3P(α)(1-P(α)) -
-It is further assumed that the energy loss in these collisions has a Gaussian -distribution with - <ΔEA>; = nA<ΔE(α)>; - - σE,A2 = nAσ2(α) -
-The energy loss of these collision can then be sampled from the Gaussian -distribution. -

The collisions where the energy loss is in the interval B are sampled directly from - - ΔEB= - i=1n3-nA αI1-ui &Emax;+I-αI&Emax;+I -The -total energy loss is the sum of these two types of collisions: - - ΔE=ΔEA+ΔEB -

-

The approximation of equations (), (), () and () can be used under the following -conditions: - <nA>;-cσA 0 - - <nA>;+cσA n3 - - <ΔEA>;-cσE,A 0 -
-where c4. From -the equations (), () and () and from the conditions () and () the following limits can be -αmin=(n3+c2)(&Emax;+I)n3(&Emax;+I)+c2I ααmax=(n3+c2)(&Emax;+I)c2(&Emax;+I)+n3I -This -conditions gives a lower limit to number of the ionisations -n3 for which the fast -n3c2 As -in the conditions (), () and () the value of -c is as minimum -4, one gets n316. -In order to speed the simulation, the maximum value is used for -α. -

The number of collisions with energy loss in the interval B (the number of interactions -which has to be simulated directly) increases slowly with the total number of collisions -n3. -The maximum number of these collisions can be estimated as -nB,max=n3-nA,minn3(<nA>;-σA) -From the previous -expressions for <nA>; and -σA one can derive the -nBnB,max= 2n3c2n3+c2 -The following -values are obtained with c=4: -

n3nB,maxn3nB,max -16 16 200 29.63 -20 17.78 500 31.01 -50 24.24 1000 31.50 -100 27.59 32.00 -
-

-
-
-Special sampling for lower part of the spectrum -

If the step length is very small (5 -mm in gases, -2-3 μm in solids) -the model gives 0 energy loss for some events. To avoid this, the probability of 0 energy loss is -P(ΔE=0)=e-(<n1>+<n2>+<n3>) -If the -probability is bigger than 0.01 a special sampling is done, taking into account the fact that in -these cases the projectile interacts only with the outer electrons of the atom. An energy level -E0=10 eV is chosen -to correspond to the outer electrons. The mean number of collisions can be calculated from -<n>= 1E0 -The number -of collisions n -is sampled from Poisson distribution. In the case of the thin layers, all the -collisions are considered as ionisations and the energy loss is computed as -ΔE= - i=1n -E01- -&Emax; -&Emax;+E0 -ui - -

References

L.Landau. On the Energy Loss of Fast Particles by -Ionisation. Originally published in J. Phys., 8:201, -1944. Reprinted in D.ter Haar, Editor, L.D.Landau, Collected -papers, page 417. Pergamon Press, Oxford, 1965. -

B.Schorr. Programs for -the Landau and the Vavilov distributions and the corresponding random -numbers. Comp. Phys. Comm., 7:216, 1974. -

S.M.Seltzer and -M.J.Berger. Energy loss straggling of protons and mesons. In -Studies in Penetration of Charged Particles in Matter, -Nuclear Science Series 39, Nat. Academy of Sciences, Washington DC, -1964.

R.Talman. On the -statistics of particle identification using ionization. Nucl. -Inst. Meth., 159:189, 1979.

P.V.Vavilov. Ionisation losses of high energy -heavy particles. Soviet Physics JETP, 5:749, -1957.

-
- - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml b/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml deleted file mode 100644 index 87ddc55816f..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml +++ /dev/null @@ -1,388 +0,0 @@ - - -]> - - - - - PassiveTeX - - -

-
- -

-
-
- - - 2000/12/11version 1.4 - 2000/11/23version 1.3 - 2000/10/04version 1.1 - 2000/09/13A couple of changes to property list - 2000/09/12Notes on memory sizes - 2000/06/24Checking links - 2000/05/30Added conformance and dependency notes - 2000/02/07Second version - 1999/08/08First version, authored in TEI XML - - -
- - - - - PassiveTeX - -Sebastian Rahtz -November 2000 - - - -
-Summary - - -PassiveTeX is a library of TeX macros which can be used to process an XML -document which results from an XSL transformation to formatting objects. - - -PassiveTeX provides a rapid development environment for experimenting -with XSL FO, using a reliable pre-existing formatter - - -Running PassiveTeX with the pdfTeX variant of TeX generates high-quality -PDF files in a single operation. - - -PassiveTeX shows how TeX can remain the formatter of choice for XML, while -hiding the details of its operation from the user. - - -

-Available from . - The current version is 1.4, 2000/12/11. -

-
-
How does it work? -

-PassiveTeX relies heavily on work by David Carlisle -(his namespace-aware XML parser written in -TeX, xmltex), and was developed from my -JadeTeX -macros for processing DSSSL via Jade. -

-

-Taking the XML version of the TEI Lite guidelines -(teiu5.xml, with DTD -teixlite.dtd), we apply an XSL stylesheet -(see my page of TEI style sheets), -and run it through James Clark's XT XSL processor: - - java com.jclark.xsl.sax.Driver teiu5.xml tei.xsl teiu5.fo - -(assuming you have xt.jar, xp.jar and sax.jar -on your CLASSPATH ). This creates the new XML file -teiu5.fo. We now run XMLTeX on this - - pdfxmltex teiu5.fo - -which creates teiu5.pdf. Voila! -Actually, we need to do - - pdfxmltex teiu5.fo - -again, to resolve page-number references in the table of contents. For a comparison -with an HTML rendering of the same document (using XSL again), -see teiu5.html -on my TEI page.

-
-
-Installation -

-The PassiveTeX macros should be downloaded (as a ZIP file, -), unpacked, and installed in a TeX system (eg in -texmf/tex/latex/passivetex) in the normal place where you put -macros. Consult your local documentation or local expert if you do not know -how to install a new package; on a web2c-based system, don't forget to - run mktexlsr when you have the files in place, - to update the file lookup table. -

-

-What about that pdfxmltex command we saw in the last section? -You don't have it on your system? You need to download -xmltex -(that link gives you a ZIP archive of the system) and install it in the your TeX system. -It too is just a set of TeX macro packages. -Then you can use it on a file called (eg) teiu5.fo in one of two ways: - -Build an xmltex format file for pdfTeX with - -pdftex -ini "&pdflatex" pdfxmltex.ini - -and process your file with - -pdflatex "&pdfxmltex" teiu5.fo - -Or, - - -Make a wrapper file called (eg) teiu5.tex looking like this: - -\def\xmlfile{teiu5.fo} -\input xmltex - -and run pdfTeX on it as normal with - -pdflatex teiu5.tex - - - -Do not worry, xmltex knows how to find the PassiveTeX macros as -it needs them. You will likely need to increase TeX memory -values (in the file texmf.cnf if you use a Web2c-based TeX); -I use: - -main_memory = 2500000 -param_size = 1500 -stack_size = 1500 -hash_extra = 50000 -string_vacancies = 45000 -pool_free = 47500 -nest_size = 500 -save_size = 10000 -pool_size = 500000 -max_strings = 55000 - -

-

-For reference, the PassiveTeX package consists of the following files: - -The core xmltex `style' files for XSL FO XML: - - fotex.xmt - fotex.sty - - - -Support for direct formatting of TEI XML with xmltex - - tei.xmt - teixml.sty - - - -Some support files, shared with JadeTeX: - - unicode.sty - ucharacters.sty - mlnames.sty - dummyels.sty - - - -

-

-NOTE: TeX has a limit -on the length of line it can read, -and some .fo files you generate may cause -TeX to die with an message about increasing buf_size. -If you get that, edit your -texmf.cnf file, increase the size of buf_size (mine is -200000), and remake any format files. -

-
LaTeX package dependencies -

This setup assumes you have a decent modern TeX setup. The TeX Live 5 CD-ROM -is what I use, and it is up to date -(see ). -

-

Here is a - list of the packages loaded in a typical run of - PassiveTeX, with their version numbers where known: - - amsbsy.sty 1999/11/29 v1.2d -amsfonts.sty 1997/09/17 v2.2e - amsgen.sty 1999/11/30 v2.0 - amsmath.sty 2000/03/29 v2.08 AMS math features - amsopn.sty 1999/12/14 v2.01 operator names - amssymb.sty 1996/11/03 v2.2b - amstext.sty 1999/11/15 v2.0 - array.sty 1998/05/13 v2.3m Tabular extension package (FMi) - article.cls 1999/09/10 v1.4a Standard LaTeX document class - bm.sty 1999/07/05 v1.0g Bold Symbol Support (DPC/FMi) - color.sty 1999/02/16 v1.0i Standard LaTeX Color (DPC) - fontenc.sty (version not available) -graphics.sty 1999/02/16 v1.0l Standard LaTeX Graphics (DPC,SPQR) -graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) - hpdftex.def 2000/05/08 v6.70f Hyperref driver for pdfTeX -hyperref.sty 2000/05/08 v6.70f Hypertext links for LaTeX - ifthen.sty 1999/09/10 v1.1b Standard LaTeX ifthen package (DPC) - keyval.sty 1999/03/16 v1.13 key=value parser (DPC) -longtable.sty 1998/05/13 v4.09 Multi-page Table package (DPC) -multicol.sty 1999/10/21 v1.5w multicolumn formatting (FMi) - nameref.sty 2000/05/08 v2.18 Cross-referencing by name of section - ot1phv.fd 2000/01/12 PSNFSS-v8.1 scalable font definitions for OT1/phv. - pd1enc.def 2000/05/08 v6.70f Hyperref: PDFDocEncoding definition (HO) - pifont.sty 2000/01/12 PSNFSS-v8.1 Pi font support (SPQR) -rotating.sty 1997/09/26, v2.13 Rotation package - size10.clo 1999/09/10 v1.4a Standard LaTeX file (size option) -stmaryrd.sty 1994/03/03 St Mary's Road symbol package - t1enc.def 1999/12/08 v1.9x Standard LaTeX file - t1phv.fd 2000/01/12 PSNFSS-v8.1 scalable font definitions for T1/phv. - t1ptm.fd 2000/01/12 PSNFSS-v8.1 font definitions for T1/ptm. - t2acmr.fd 1999/01/07 v1.0 Computer Modern Cyrillic font definitions - t2aenc.def 1999/11/29 v1.0c Cyrillic encoding definition file - t3enc.def (version not available) -textcomp.sty 1999/12/08 v1.9x Standard LaTeX package - times.sty 2000/01/12 PSNFSS-v8.1 Times font as default roman (SPQR) - tipa.sty 1996/06/10 TIPA version 1.0 - trig.sty 1999/03/16 v1.09 sin cos tan (DPC) - ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions - ts1enc.def 1998/06/12 v3.0d (jk/car/fm) Standard LaTeX file - ts1ptm.fd 2000/01/12 PSNFSS-v8.1 font definitions for TS1/ptm. - ulem.sty 1997/04/21 - umsa.fd 1995/01/05 v2.2e AMS font definitions - umsb.fd 1995/01/05 v2.2e AMS font definitions - upsy.fd 2000/01/12 PSNFSS-v8.1 font definitions for U/psy. - upzd.fd 2000/01/12 PSNFSS-v8.1 font definitions for U/pzd. - url.sty 1999/03/28 ver 1.5x Verb mode for urls, etc. - Ustmry.fd (version not available) - uwasy.fd 1999/05/13 v1.0iWasy-2 symbol font definitions - wasysym.sty 1999/05/13 v1.0i Wasy-2 symbol support package -
-

-
-
- - -
-Extensions -

-PassiveTeX interprets MathML natively (elements must use the MathML namespace). -I also support a bookmark element in the -fotex namespace, used to make PDF bookmarks. Usage is like this: - -<xsl:template match="div2"> - <xsl:apply-templates select="head"/> - <fotex:bookmark - xmlns:fotex="http://www.tug.org/fotex" - fotex-bookmark-level="2" - fotex-bookmark-label="{@id}"> - <xsl:value-of select="head"/> - </fotex:bookmark> - </fo:block> -</xsl:template> - -

-
- - -
-Notes on conformance to the XSL draft specification of November 2000 -&properties; -
- -
-Sample files -

- - The TEI Lite description (teiu5.xml) converted PDF as teiu5.pdf - A TEI test file (exercise.xml) -converted to PDF as exercise.pdf - A physics paper (latextei.xml) containing a fair - amount of MathML markup, originally - translated from LaTeX into XML. - It is used extensively as an example in the - LaTeX Web Companion. -Here we see it - converted to latextei.pdf using - test/latextei.xsl - James Tauber prepared a simple XSL spec (darkness.xsl) for Joseph Conrad's -Heart of -Darkness, which I ran to PDF as darkness.pdf - -

-
- -
-Concerns and problems -

-Some points to bear in mind - - Obviously, the XSL FO spec is still a draft. - And this system is not conforming - precisely to the current draft. - This is an experiment system to check whether the - idea works. Expect something more polished eventually. - You need a modern TeX setup (like - teTeX or - TeX Live) -to get to grips with it. - Quite a few flow objects and characteristics are not dealt with yet. - I will add support for more things as needed or requested. - I do not have any objective check that what I think XSL FOs are - supposed to do is actually right :-} - I have only worked so far with the TEI Lite (XML version) and - Docbook DTDs, and probably misinterpreted half of what they say. - -

-
- -
-Things for LaTeX users to remember -

- - No use is made of LaTeX high-level constructs. No sections, - no lists, no cross-refs, no bibliographies; on the other hand, - some extensions in the fotex: namespace are supported -(eg to get Acrobat bookmarks) - - XSL FO's underlying character set is Unicode; by default, - entities are mapped to their Unicode position; - - All vertical and horizontal space is explicit in the - specification - - Page and line breaking is left to TeX: the rest is up to you. - - -

-
- -
-Future directions -

- -Complete the MathML handling -Handle more variety in property values (eg colors, fonts) -Deal with more complex tables -Support SVG. How? - - By direct intepretation and mapping to raw PDF - By translation to MetaPost, and spawning a MetaPost process - By pre-processing to existing TeX graphics languages - -In any case, SVG fragments need to be recognized directly to perform in-line -graphical functions (setting text at an angle?) - -Use Unicode-based TeX variant (Omega) to handle non-Latin material -more naturally - -

-

-I will be very glad to discuss details with anyone. Contact me (Sebastian Rahtz) as -sebastian.rahtz@oucs.ox.ac.uk -

-
- -
-
- diff --git a/Master/texmf-dist/doc/xmltex/passivetex/properties.xml b/Master/texmf-dist/doc/xmltex/passivetex/properties.xml deleted file mode 100644 index 85cd904b3c0..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/properties.xml +++ /dev/null @@ -1,592 +0,0 @@ - -

-The following general limitations apply to most of the PassiveTeX - implementation of XSL FO: - -The `px' unit is not recognised -Absolute dimensions always work, but proportional ones -are often not recognized -The functions allowed in attribute values are usually not - recognized -There is no error checking at all, and all properies are - recognized; do not assume that they do anything... - -

-

-Most of the formatting objects are implemented more or less; the -following are not implemented at all: - -fo:bidi-override -fo:color-profile -fo:declarations -fo:initial-property-set -fo:instream-foreign-object -fo:multi-case -fo:multi-properties -fo:multi-property-set -fo:multi-switch -fo:multi-toggle -fo:region-end -fo:region-start -fo:table-footer - -

-
Properties needed for basic conformance -

- -alignment-adjustauto | percentage | length | inheritBasic -2. should be possible - -azimuthangle | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side -] || behind ] | leftwards | rightwards | inheritBasic -4. N/A - -background-colorcolor | transparent | inheritBasic 3. does not really map in TeX - -baseline-identifierbaseline | before-edge | text-before-edge | middle | after-edge -| text-after-edge | ideographic | alphabetic | hanging | mathematical -| inheritBasic -3. not at all sure where to start - -baseline-shiftbaseline | sub | super | percentage | length | inheritBasic -1. basically works - -block-progression-dimensionauto | length | percentage | length-range | inheritBasic -3. do not really understand it - -border-after-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-after-styleborder-style | inheritBasic 2. works for blocks (non-breaking) - -border-after-widthborder-width | length-conditional | inheritBasic 2. works for blocks (non-breaking) - -border-before-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-before-styleborder-style | inheritBasic 2. works for blocks (non-breaking) - -border-before-widthborder-width | length-conditional | inheritBasic 2. works for blocks (non-breaking) - -border-bottom-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-bottom-styleborder-style | inheritBasic 1. used in places - -border-bottom-widthborder-width | inheritBasic 2. works for blocks (non-breaking) - -border-end-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-end-styleborder-style | inheritBasic 2. works for blocks (non-breaking) - -border-end-widthborder-width | inheritBasic 2. works for blocks (non-breaking) - -border-left-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-left-styleborder-style | inheritBasic 2. works for blocks (non-breaking) - -border-left-widthborder-width | inheritBasic 2. works for blocks (non-breaking) - -border-right-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-right-styleborder-style | inheritBasic 2. works for blocks (non-breaking) - -border-right-widthborder-width | inheritBasic 2. works for blocks (non-breaking) - -border-start-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-start-styleborder-style | inheritBasic 2. works for blocks (non-breaking) - -border-start-widthborder-width | inheritBasic 2. works for blocks (non-breaking) - -border-top-colorcolor | inheritBasic 2. works for blocks (non-breaking) - -border-top-styleborder-style | inheritBasic 1. used in places - -border-top-widthborder-width | inheritBasic 2. works for blocks (non-breaking) - -break-afterauto | column | page | even-page | odd-page | inheritBasic 0. should be working - -break-beforeauto | column | page | even-page | odd-page | inheritBasic 0. should be working - -charactercharacterBasic 0. should be working - -clipshape | auto | inheritBasic 2. theoretically possible - -colorcolor | inheritBasic 1. more or less complete - -column-numbernumberBasic 0. OK - -column-widthlengthBasic 0. OK - -content-typestring | autoBasic 4. N/A, I think - -cue-afteruri | none | inherit Basic 4. N/A - -cue-beforeuri | none | inherit Basic 4. N/A - -directionltr | rtl | inheritBasic 3. waiting for extended TeX - -display-alignauto | before | center | after | inheritBasic -0. working - -dominant-baselineauto | autosense-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical -| inheritBasic -3. dont know where to begin - -elevationangle | below | level | above | higher | lower | inheritBasic -4. N/A - -end-indentlength | inheritBasic 0. working - -flow-namenameBasic 0. working - -font-family[[ family-name | generic-family ],]* [family-name | generic-family] | inheritBasic -1. more or less OK - -font-sizeabsolute-size | relative-size | length | percentage | inheritBasic -1. more or less all implemented - -font-stylenormal | italic | oblique | backslant | inheritBasic 1. no oblique or backslant - -font-variantnormal | small-caps | inheritBasic 0. done - -font-weightnormal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inheritBasic -1. normal and bold only at present, others to follow - -formatstringBasic 3. dont want to think about it - -grouping-separatorcharacterBasic 3. dont want to think about it - -grouping-sizenumberBasic 3. dont want to think about it - -heightlength | percentage | auto | inheritBasic 2. should be OK, waiting for a need - -id idBasic 0. used - -initial-page-numberauto | auto-odd | auto-even | number | inheritBasic 0. done - -inline-progression-dimensionauto | length | percentage | length-range | inheritBasic -3. have not considered at all - -keep-with-nextkeep | inheritBasic 1. done in theory, not working 100% - -keep-with-previouskeep | inheritBasic 1. done in theory, not working 100% - -leader-lengthlength-range | inheritBasic 2. waiting to do soon - -leader-patternspace | rule | dots | use-content | inheritBasic 2. waiting to do soon - -letter-valueauto | alphabetic | traditionalBasic 3. dont want to think about it - -line-heightnormal | length | number | percentage | space | inheritBasic -1. largely done - -line-stacking-strategyline-height | font-height | max-height | inheritBasic 3. untouched - -margin-bottommargin-width | inheritBasic 1. done in places - -margin-leftmargin-width | inheritBasic 1. done in places - -margin-rightmargin-width | inheritBasic 1. done in places - -margin-topmargin-width | inheritBasic 1. done in places - -master-namenameBasic 0. ok - -max-heightlength | percentage | none | inherit Basic 2. should be doable - -max-widthlength | percentage | none | inheritBasic 2. should be doable - -min-heightlength | percentage | inherit Basic 2. should be doable - -min-widthlength | percentage | inheritBasic 2. should be doable - -number-columns-repeatednumberBasic - 2. doable in theory - -number-columns-spannednumberBasic 2. doable in theory - -number-rows-spannednumberBasic 2. doable in theory - -orphansinteger | inheritBasic 2. should be doable - -overflowvisible | hidden | scroll | auto | inheritBasic 2. theoretically - -padding-afterpadding-width | length-conditional | inheritBasic 1. implemented crudely - -padding-beforepadding-width | length-conditional | inheritBasic 1. implemented crudely - -padding-bottompadding-width | inheritBasic 1. implemented crudely - -padding-endpadding-width | inheritBasic 1. implemented crudely - -padding-leftpadding-width | inheritBasic 1. implemented crudely - -padding-rightpadding-width | inheritBasic 1. implemented crudely - -padding-startpadding-width | inheritBasic 1. implemented crudely - -padding-toppadding-width | inheritBasic 1. implemented crudely - -page-break-afterauto | always | avoid | left | right | inheritBasic 1. Mostly implemented - -page-break-beforeauto | always | avoid | left | right | inheritBasic 1. Mostly implemented - -page-heightauto | indefinite | length | inheritBasic 1. not all possibilities - -page-widthauto | indefinite | length | inheritBasic 1. not all possibilities - -pause-aftertime | percentage | inheritBasic 4. N/A - -pause-beforetime | percentage | inheritBasic 4. N/A - -pitchfrequency | x-low | low | medium | high | x-high | inheritBasic -4. N/A - -pitch-rangenumber | inheritBasic 4. N/A - -play-duringuri mix? repeat? | auto | none | inherit Basic 4. N/A - -precedencetrue | false | inheritBasic 3. do not know where to start - -provisional-distance-between-startslength | inheritBasic 1. does something, probably wrong - -provisional-label-separationlength | inheritBasic 1. does something, probably wrong - -ref-ididref | inheritBasic 0. used in pagenumber - -reference-orientation 0 | 90 | 180 | 270 | -90 | -180 | -270 | inheritBasic 2. doable for most objects - -region-namexsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator -| xsl-footnote-separator | nameBasic -0. done - -relative-alignbefore | baseline | inheritBasic -3. have not got to grips with this - -richnessnumber | inheritBasic 4. N/A - -rolestring | none | inheritBasic 4. N/A what should I do with it? - -rule-stylenone | dotted | dashed | solid | double | groove | ridge | inheritBasic -1. done as far as possible - -rule-thicknesslengthBasic 0. done - -source-documenturi+ | none | inheritBasic 4. N/A not sure what to do with it - -space-afterspace | inheritBasic 1. working more or less - -space-beforespace | inheritBasic 1. working more or less - -space-endspace | inheritBasic 1. working more or less - -space-startspace | inheritBasic 1. working more or less - -speaknormal | none | spell-out | inheritBasic 4. N/A - -speak-headeronce | always | inheritBasic 4. N/A - -speak-numeraldigits | continuous | inheritBasic 4. N/A - -speak-punctuationcode | none | inheritBasic 4. N/A - -speech-ratenumber | x-slow | slow | medium | fast | x-fast | faster | slower | inheritBasic -4. N/A - -src uri | inheritBasic 0. implemented - -start-indentlength | inheritBasic 0. done - -stressnumber | inheritBasic 4. N/A - -text-alignstart | center | end | justify | inside | outside | left | right | string | inheritBasic -0. done - -text-indentlength | percentage | inheritBasic 0. done - -visibilityvisible | hidden | collapse | inheritBasic 2. I think can do this - -voice-family[[specific-voice | generic-voice ],]* [specific-voice | generic-voice ] | inheritBasic -4. N/A - -volumenumber | percentage | silent | x-soft | soft | medium | loud | x-loud | inheritBasic -4. N/A - -widowsinteger | inheritBasic 2. should be doable - -widthlength | percentage | auto | inheritBasic 2. should be OK, waiting for a need - -wrap-optionno-wrap | wrap | inheritBasic 0. should be working - -writing-modelr-tb | rl-tb | tb-rl | lr | rl | tb | inheritBasic 3. will need an extended TeX - -z-indexauto | integer | inheritBasic 3. dont know where to start -
-

-
- - -
Properties needed for full conformance -

- -absolute-positionauto | absolute | fixed | inheritComplete 2. should be doable - -background[background-color || background-image -|| background-repeat || background-attachment || background-position -| ]]inheritComplete -1. implemented but very fragile - -background-position[ [percentage | length ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inheritComplete - - -border[ border-width || border-style || color ] | inheritComplete - - -border-bottom[ border-top-width || border-style || color ] | inheritComplete - - -border-colorcolor{1,4} | transparent | inheritComplete - -border-left[ border-top-width || border-style || color ] | inheritComplete - - -border-right[ border-top-width || border-style || color ] | inheritComplete - - -border-spacinglength length? | inheritComplete - -border-styleborder-style{1,4} | inheritComplete - -border-top[ border-top-width || border-style || color ] | inheritComplete - - -border-widthborder-width{1,4} | inheritComplete - -caption-sidebefore | after | start | end | top | bottom | left | right | inheritComplete - -cuecue-before || cue-after | inheritComplete - -font[ [ font-style || font-variant || font-weight ]? font-size [ / line-height]? font-family -] | caption | icon | menu | message-box | small-caption | status-bar -| inheritComplete - - -marginmargin-width{1,4} | inherit Complete - -paddingpadding-width{1,4} | inheritComplete - -page-break-insideavoid | auto | inheritComplete - -pause[time | percentage]{1,2} | inheritComplete - -positionstatic | relative | absolute | fixed | inheritComplete - -sizelength{1,2} | auto | landscape | portrait | inheritComplete - - -vertical-alignbaseline | middle | sub | super | text-top | text-bottom | percentage | length | top | bottom | inheritComplete - - -white-spacenormal | pre | nowrap | inheritComplete - -xml:langcountry-language | inheritComplete 2. not done yet, but will be -
-

-
- -
Properties needed for extended conformance -

- -table-layoutauto | fixed | inheritExtended.Fallback: fixed - -background-attachmentscroll | fixed | inheritExtended.Fallback: Initial value 2. I can see where I might start - -background-imageuri | none | inheritExtended.Fallback: Initial value 2. I can see where I might start - -background-position-horizontalpercentage | length | left | center | right | inheritExtended.Fallback: Initial value -2. I can see where I might start - -background-position-verticalpercentage | length | top | center | bottom | inheritExtended.Fallback: Initial value -2. I can see where I might start - -border-collapsecollapse | separate | inheritExtended.Fallback: Initial value - -border-separationlength-bp-ip-direction | inheritExtended.Fallback: Initial value - -column-countnumber | inheritExtended.Fallback: Initial value 0. implemented - -content-heightauto | length | percentage | inheritExtended.Fallback: Initial value 1. done for graphics - -content-widthauto | length | percentage | inheritExtended.Fallback: Initial value 1. done for graphics - -countrynone | country | inheritExtended.Fallback: Initial value 2. waiting to find a use for it - -empty-cellsshow | hide | inheritExtended.Fallback: Initial value - -ends-rowyes | noExtended.Fallback: Initial value - -font-height-override-afteruse-font-metrics | length | inheritExtended.Fallback: Initial value 3. need extended TeX - -font-height-override-beforeuse-font-metrics | length | inheritExtended.Fallback: Initial value 3. need extended TeX - -font-size-adjustnumber | none | inheritExtended.Fallback: Initial value 2. doable, I think - -font-stretchnormal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | -expanded | extra-expanded | ultra-expanded |inheritExtended.Fallback: Initial value -0. should be OK - -glyph-orientation-horizontalangle | inheritExtended.Fallback: Initial value 3. need extended TeX - -glyph-orientation-verticalauto | angle | inheritExtended.Fallback: Initial value 3. need extended TeX - -hyphenatefalse | true | inheritExtended.Fallback: Initial value 0. done - -keep-togetherkeep | inheritExtended.Fallback: Initial value - -languagenone | language | inheritExtended.Fallback: Initial value 0. done, if underlying TeX system OK - -last-line-end-indentlength | percentage | inheritExtended.Fallback: Initial value - -leader-alignmentnone | reference-area | page | inheritExtended.Fallback: Initial value - -leader-pattern-widthuse-font-metrics | length | inheritExtended.Fallback: Initial value - -letter-spacingnormal | length | space | inheritExtended.Fallback: Initial value 2. doable in limited circumstances - -line-height-shift-adjustmentconsider-shifts | disregard-shifts | inheritExtended.Fallback: Initial value - -linefeed-treatmentignore | preserve | treat-as-space | inheritExtended.Fallback: Initial value 2. doable, if tiresome - -relative-positionauto | static | relative | inheritExtended.Fallback: Initial value - -scalinguniform | non-uniform | inheritExtended.Fallback: Initial value 0. ok - -scaling-methodauto | integer-pixels | resample-any-method | inheritExtended.Fallback: Initial value 4. N/A, I think - -score-spacestrue | false | inheritExtended.Fallback: Initial value 3. dont think I can do this - -space-treatmentignore | preserve | inheritExtended.Fallback: Initial value 0. seems to work - -spannone | all | inheritExtended.Fallback: Initial value 3. proving hard - -starts-rowyes | - noExtended.Fallback: Initial value - 0. works - -suppress-at-line-breakauto | suppress | retain | inheritExtended.Fallback: Initial value - -table-omit-footer-at-breakyes | noExtended.Fallback: Initial value - -table-omit-header-at-breakyes | noExtended.Fallback: Initial value - -text-align-lastrelative | start | center | end | justify | inside | outside | left | right | string | inheritExtended.Fallback: Initial value -1. works, usually - -text-decorationnone | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] - -| inheritExtended.Fallback: Initial value -1. done for some possibilities, not all - -text-shadownone | [color || length length length? ,]* [color || length length length?] | inheritExtended.Fallback: Initial value - - -text-transformcapitalize | uppercase | lowercase | none | Extended.Fallback: Initial value 2. doable - -treat-as-word-spaceauto | yes | no | inheritExtended.Fallback: Initial value - -white-space-collapsefalse | true | inheritExtended.Fallback: Initial value 0. Done - -word-spacingnormal | length | space | inheritExtended.Fallback: Initial value - -bottomlength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position 2. doable, I think - -leftlength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position 2. doable, I think - -rightlength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position 2. doable, I think - -toplength | percentage | auto | inheritExtended.Fallback: N/A due to fallback for absolute-position, relative-position 2. doable, I think - -column-gaplength | percentage | inheritExtended.Fallback: N/A due to fallback for column-count 1. implemented (not for all value types) - -hyphenation-charactercharacter | inheritExtended.Fallback: N/A due to fallback for hyphenate 3. need to think about how to do this - -hyphenation-keepauto | column | page | inheritExtended.Fallback: N/A due to fallback for hyphenate 3. not sure how to do this - -hyphenation-ladder-countno-limit | number | inheritExtended.Fallback: N/A due to fallback for hyphenate 3. I dont see how to do this - -hyphenation-push-character-countnumber | inheritExtended.Fallback: N/A due to fallback for hyphenate 2. I think this maps in TeX - -hyphenation-remain-character-countnumber | inheritExtended.Fallback: N/A due to fallback for hyphenate 2. I think this maps in TeX - -color-profile-namename | inheritExtended.Fallback: N/A use fallback for fo:color-profile 3. would need a lot of thought - -rendering-intentauto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inheritExtended.Fallback: N/A use fallback for fo:color-profile 3. not sure how to do this - -clearstart | end | left | right | both | none | inheritExtended.Fallback: N/A use fallback for fo:float - -floatbefore | start | end | left | right | none | inheritExtended.Fallback: N/A use fallback for fo:float - -marker-class-namenameExtended.Fallback: N/A use fallback for fo:marker - -active-statelink | visited | active | hover | focusExtended.Fallback: N/A use fallback for fo:multi-properties - -auto-restoreyes | noExtended.Fallback: N/A use fallback for fo:multi-switch - -case-namenameExtended.Fallback: N/A use fallback for fo:multi-switch - -case-titlestringExtended.Fallback: N/A use fallback for fo:multi-switch - -starting-stateshow | hideExtended.Fallback: N/A use fallback for fo:multi-switch - -switch-toxsl-preceding | xsl-following | xsl-any | name[ name]*Extended.Fallback: N/A use fallback for fo:multi-switch - -extentlength | percentage | inheritExtended.Fallback: N/A use fallback for fo:region-before, fo:region-after, fo:region-start, and fo:region-end - -blank-or-not-blankblank | not-blank | any | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives 3. dont want to think about it - -odd-or-evenodd | even | any | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives - -page-positionfirst | last | rest | any | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives - -maximum-repeatsnumber | no-limit | inheritExtended.Fallback: N/A use fallback for fo:repeatable-page-master-reference and fo:repeatable-page-master-alternatives - -retrieve-boundarypage | page-sequence | documentExtended.Fallback: N/A use fallback for fo:retrieve-marker - -retrieve-class-namenameExtended.Fallback: - N/A use fallback for fo:retrieve-marker 1. works usually - -retrieve-positionfirst-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-pageExtended.Fallback: N/A use fallback for fo:retrieve-marker - - -destination-placement-offsetlengthExtended.Fallback: N/A use fallback for fo:simple-link - -external-destinationuri-referenceExtended.Fallback: - N/A use fallback for fo:simple-link 0. works ok - -indicate-destinationyes | - noExtended.Fallback: N/A use fallback for - fo:simple-link 1. should work - -internal-destinationnull string | - idrefExtended.Fallback: N/A use fallback for - fo:simple-link 0. works - -show-destinationreplace | newExtended.Fallback: N/A use fallback for fo:simple-link - -force-page-countauto | even | odd | end-on-even | end-on-odd | no-force | inheritExtended.Fallback: no-force - - -background-repeatrepeat | repeat-x | repeat-y | no-repeat | inheritExtended.Fallback: no-repeat - -scriptnone | auto | script | inheritExtended.Fallback: none 4. dont know what to do with it - -unicode-bidinormal | embed | bidi-override | inheritExtended.Fallback: See prose - -
-

-
diff --git a/Master/texmf-dist/doc/xmltex/passivetex/test.xml b/Master/texmf-dist/doc/xmltex/passivetex/test.xml deleted file mode 100644 index 321a22835d4..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/test.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - This and that - - -

-
- -

-
-
- - - October 10th 1999Initial version - - -
- - - - Texts for beginners - -A N Other -October 10th 1999 - - - -
The table in section 1 -

-Over the whine of the electric mixer, Mara heard her name called, but she -didn't bother to acknowledge it. Instead she added more sugar to the egg -whites and continued to beat them until they formed stiff peaks. She was -spooning the meringue on to the pie filling when she heard the hum of the -wheelchair approaching the kitchen. -

-`Mara, the mailman just drove by.' The chair rolled to a stop inside the -room. `I'm expecting some correspondence from Fitzgerald. Will you see if -it's come?' -

-Mara didn't turn around. I'm busy at the moment, Adam.' She continued to -spread the meringue thickly over the pie, ignoring the instant of tense -silence. -

-
The table in section 1 - - -AT&T Common Stock -Year PriceDividend -197141--54$2.60 - 241--542.70 - 346--552.87 - 440--533.24 - 545--523.40 - 651--59.95* -(* first quarter only) -
-
- - - - - - - -]]> - -
-
-
LOOMINGS - -

Call me Ishmael. Some years ago—never mind how long -precisely —having little or no money in my purse, and nothing -particular to interest me on shore, I thought I would sail about a -little and see the watery part of the world. It is a way I have of -driving off the spleen, and regulating the circulation. Whenever I -find myself growing grim about the mouth; whenever it is a damp, -drizzly November in my soul; whenever I find myself involuntarily -pausing before coffin warehouses, and bringing up the rear of every -funeral I meet; and especially whenever my hypos get such an upper -hand of me, that it requires a strong moral principle to prevent me -from deliberately stepping into the street, and methodically knocking -people's hats off—then, I account it high time to get to sea as -soon as I can. This is my substitute for pistol and ball. With a -philosophical flourish Cato throws himself upon his sword; I quietly -take to the ship. There is nothing surprising in this. If they but -knew it, almost all men in their degree, some time or other, cherish -very nearly the same feelings towards the ocean with me. There now is -your insular city of the Manhattoes, belted round by wharves as Indian -isles by coral reefs—commerce surrounds it with her surf. Right -and left, the streets take you waterward. Its extreme down-town is -the battery, where that noble mole is washed by waves, and cooled by -breezes, which a few hours previous were out of sight of land. Look -at the crowds of water-gazers there. Circumambulate the city of a -dreamy Sabbath afternoon. Go from Corlears Hook to Coenties Slip, and -from thence, by Whitehall northward. What do you see?—Posted -like silent sentinels all around the town, stand thousands upon -thousands of mortal men fixed in ocean reveries. Some leaning against -the spiles; some seated upon the pier-heads; some looking over the -bulwarks glasses! of ships from China; some high aloft in the -rigging, as if striving to get a still better seaward peep. But these -are all landsmen; of week days pent up in lath and plaster—tied -to counters, nailed to benches, clinched to desks. How then is this? -Are the green fields gone? What do they here? But look! here come -more crowds, pacing straight for the water, and seemingly bound for a -dive. Strange! Nothing will content them but the extremest limit of -the land; loitering under the shady lee of yonder warehouses will not -suffice. No. They must get just as nigh the water as they possibly -can without falling in. And there they stand—miles of -them—leagues.

- -

Inlanders all, they come from lanes and alleys, streets and -avenues, —north, east, south, and west. Yet here they all -unite. Tell me, does the magnetic virtue of the needles of the -compasses of all those ships attract them thither? Once more. Say, -you are in the country; in some high land of lakes. Take almost any -path you please, and ten to one it carries you down in a dale, and -leaves you there by a pool in the stream. There is magic in it. Let -the most absent-minded of men be plunged in his deepest -reveries—stand that man on his legs, set his feet a-going, and -he will infallibly lead you to water, if water there be in all that -region. Should you ever be athirst in the great American desert, try -this experiment, if your caravan happen to be supplied with a -metaphysical professor. Yes, as every one knows, meditation and water -are wedded for ever. - But here is an artist. He desires to paint you the dreamiest, -shadiest, quietest, most enchanting bit of romantic landscape in all -the valley of the Saco. What is the chief element he employs? There -stand his trees, each with a hollow trunk, as if a hermit and a -crucifix were within; and here sleeps his meadow, and there sleep his -cattle; and up from yonder cottage goes a sleepy smoke. Deep into -distant woodlands winds a mazy way, reaching to overlapping spurs of -mountains bathed in their hill-side blue. But though the picture lies -thus tranced, and though this pine-tree shakes down its sighs like -leaves upon this shepherd's head, yet all were vain, unless the -shepherd's eye were fixed upon the magic stream before him. Go visit -the Prairies in June, when for scores on scores of miles you wade -knee-deep among Tiger-lilies—what is the one charm wanting? -—Water —there is not a drop of water there! Were Niagara -but a cataract of sand, would you travel your thousand miles to see -it? Why did the poor poet of Tennessee, upon suddenly receiving two -handfuls of silver, deliberate whether to buy him a coat, which he -sadly needed, or invest his money in a pedestrian trip to Rockaway -Beach? Why is almost every robust healthy boy with a robust healthy -soul in him, at some time or other crazy to go to sea? Why upon your -first voyage as a passenger, did you yourself feel such a mystical -vibration, when first told that you and your ship were now out of -sight of land? Why did the old Persians hold the sea holy? Why did -the Greeks give it a separate deity, and own brother of Jove? Surely -all this is not without meaning. And still deeper the meaning of that -story of Narcissus, who because he could not grasp the tormenting, -mild image he saw in the fountain, plunged into it and was drowned. -But that same image, we ourselves see in all rivers and oceans. It is -the image of the ungraspable phantom of life; and this is the key to -it all. Now, when I say that I am in the habit of going to sea -whenever I begin to grow hazy about the eyes, and begin to be over -conscious of my lungs, I do not mean to have it inferred that I ever -go to sea as a passenger. For to go as a passenger you must needs -have a purse, and a purse is but a rag unless you have something in -it. Besides, passengers get sea-sick —grow quarrelsome -—don't sleep of nights —do not enjoy themselves much, as a -general thing; —no, I never go as a passenger; nor, though I am -something of a salt, do I ever go to sea as a Commodore, or a Captain, -or a Cook. I abandon the glory and distinction of such offices to -those who like them. For my part, I abominate all honorable -respectable toils, trials, and tribulations of every kind whatsoever. -It is quite as much as I can do to take care of myself, without taking -care of ships, barques, brigs, schooners, and what not. And as for -going as cook, — though I confess there is considerable glory in -that, a cook being a sort of officer on ship-board —yet, -somehow, I never fancied broiling fowls; —though once broiled, -judiciously buttered, and judgmatically salted and peppered, there is -no one who will speak more respectfully, not to say reverentially, of -a broiled fowl than I will. It is out of the idolatrous dotings of -the old Egyptians upon broiled ibis and roasted river horse, that you -see the mummies of those creatures in their huge bake-houses the -pyramids. No, when I go to sea, I go as a simple sailor, right before -the mast, plumb down into the forecastle, aloft there to the royal -mast-head. True, they rather order me about some, and make me jump -from spar to spar, like a grasshopper in a May meadow. And at first, -this sort of thing is unpleasant enough. It touches one's sense of -honor, particularly if you come of an old established family in the -land, the van Rensselaers, or Randolphs, or Hardicanutes. And more -than all, if just previous to putting your hand into the tar-pot, you -have been lording it as a country schoolmaster, making the tallest -boys stand in awe of you. The transition is a keen one, I assure you, -from the schoolmaster to a sailor, and requires a strong decoction of -Seneca and the Stoics to enable you to grin and bear it. But even -this wears off in time. What of it, if some old hunks of a -sea-captain orders me to get a broom and sweep down the decks? What -does that indignity amount to, weighed, I mean, in the scales of the -New Testament? Do you think the archangel Gabriel thinks anything the -less of me, - because I promptly and respectfully obey that old hunks in that -particular instance? Who aint a slave? Tell me that. Well, then, -however the old sea-captains may order me about—however they may -thump and punch me about, I have the satisfaction of knowing that it -is all right; that everybody else is one way or other served in much -the same way — either in a physical or metaphysical point of -view, that is; and so the universal thump is passed round, and all -hands should rub each other's shoulder-blades, and be content. Again, -I always go to sea as a sailor, because they make a point of paying me -for my trouble, whereas they never pay passengers a single penny that -I ever heard of. On the contrary, passengers themselves must pay. -And there is all the difference in the world between paying and being -paid. The act of paying is perhaps the most uncomfortable infliction -that the two orchard thieves entailed upon us. But being paid, -—what will compare with it? The urbane activity with which a -man receives money is really marvellous, considering that we so -earnestly believe money to be the root of all earthly ills, and that -on no account can a monied man enter heaven. Ah! how cheerfully we -consign ourselves to perdition! Finally, I always go to sea as a -sailor, because of the wholesome exercise and pure air of the -forecastle deck. For as in this world, head winds are far more -prevalent than winds from astern (that is, if you never violate the -Pythagorean maxim), so for the most part the Commodore on the -quarter-deck gets his atmosphere at second hand from the sailors on -the forecastle. He thinks he breathes it first; but not so. In much -the same way do the commonalty lead their leaders in many other -things, at the same time that the leaders little suspect it. But -wherefore it was that after having repeatedly smelt the sea as a -merchant sailor, I should now take it into my head to go on a whaling -voyage; this the invisible police officer of the Fates, who has the -constant surveillance of me, and secretly dogs me, and influences me -in some unaccountable way —he can better answer than any one -else. And, doubtless, my going on this whaling - voyage, formed part of the grand programme of Providence that was drawn up a -long time ago. It came in as a sort of brief interlude and solo between more -extensive performances. I take it that this part of the bill must have run -something like this: - -Grand Contested Election for the Presidency of the -United States. -Whaling Voyage by one Ishmael. -Bloody Battle in Affghanistan. -Though I cannot tell why it was exactly that those stage -managers, the Fates, put me down for this shabby part of a whaling voyage, -when others were set down for magnificent parts in high tragedies, and short -and easy parts in genteel comedies, and jolly parts in farces —though I -cannot tell why this was exactly; yet, now that I recall all the -circumstances, I think I can see a little into the springs and motives which -being cunningly presented to me under various disguises, induced me to set -about -performing the part I did, besides cajoling me into the delusion that it was -a choice resulting from my own unbiased freewill and discriminating judgment. -chief among these motives was the overwhelming idea of the great whale -himself. Such a portentous and mysterious monster roused all my curiosity. -Then the wild and distant seas where he rolled his island bulk; the -undeliverable, nameless perils of the whale; these, with all the attending -marvels of a thousand Patagonian sights and sounds, helped to sway me to my -wish. With other men, perhaps, such things would not have been inducements; -but as for me, I am tormented with an everlasting itch for things remote. I -love to sail forbidden seas, and land on barbarous coasts. Not ignoring what -is good, I am quick to perceive a horror, and could still be social with -it—would they let me —since it is but well to be on friendly terms with all -the inmates of the place one lodges in. By reason of these things, then, the -whaling voyage was welcome; the great flood-gates of the wonder-world swung -open, and in the wild conceits that swayed me to my purpose, two and two -there floated into my inmost soul, endless processions of the whale, and, mid -most of them all, one grand hooded phantom, like a snow hill in the air. -

-
- -
-
diff --git a/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml b/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml deleted file mode 100644 index df46cbc7896..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - Sebastian Rahtz - sebastian.rahtz@oucs.ox.ac.uk - - - Passive TeX - 1.3, 10th December 2000 - 20001210 - http://users.ox.ac.uk/~rahtz/passivetex/ - - - - diff --git a/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty b/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty index f0581d1b4f3..bccbf77a039 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty +++ b/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty @@ -1,6 +1,6 @@ -%RCS: $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty#1 $, $Date: 2004/02/09 $ +%RCS: $Id: //TEI/web/Software/passivetex/fotex.sty#29 $, $Date: 2002/06/26 $ % -% Copyright 2003 Sebastian Rahtz/Oxford University +% Copyright 2002 Sebastian Rahtz/Oxford University % % % Permission is hereby granted, free of charge, to any person obtaining @@ -14,41 +14,14 @@ % The above copyright notice and this permission notice shall be included % in all copies or substantial portions of the Software. % -\batchmode -\ProvidesPackage{fotex}[2003/03/10: version 1.25. support for XSL formatting, S Rahtz] -\RequirePackage{graphicx,color} -%\IfFileExists{multicol.sty} -% {\RequirePackage{multicol}[1997/12/16]} -% {\newenvironment{multicols}[1]% -% {\typeout{Warning, at line \the\inputlineno, multicol package not available}}{}% -%} - -\def\confirmnomulticols{ - \RequirePackage{nomulticol}[2003/01/09] - \typeout{INFO (nomulticol.sty: fo:block span="all" works} -} -\def\warnnomulticols{ - \RequirePackage{multicol}[1997/12/16] - \typeout{WARNING (multicol.sty: fo:block span="all" does not work} - \fakenomulticols -} -\def\warnmulticols{ - \typeout{WARNING (no multicol.sty: multiple columns not available} - \newenvironment{multicols}[1]{\typeout{Warning, at line \the\inputlineno, multicol package not available}}{} - \fakenomulticols -} -\def\fakenomulticols{ - \def\nobeginmulticols##1{\begin{multicols}{##1}} - \def\noendmulticols{\end{multicols}} - \def\interbeginmulticols##1{} - \let\interendmulticols\relax - \let\refreshmulticols\relax -} -\IfFileExists{nomulticol.sty} -{\confirmnomulticols} -{\IfFileExists{multicol.sty} - {\warnnomulticols} - {\warnmulticols} +% Includes fixes from Tomas Bures +% +\ProvidesPackage{fotex}[2002/06/25: version 1.17. support for XSL formatting, S Rahtz] +\RequirePackage{graphicx} +\IfFileExists{multicol.sty} + {\RequirePackage{multicol}[1997/12/16]} + {\newenvironment{multicols}[1]% + {\typeout{Warning, at line \the\inputlineno, multicol package not available}}{}% } \RequirePackage{rotating} \RequirePackage{array} @@ -57,12 +30,12 @@ \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} \newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} \newcolumntype{P}[1]{>{\arraybackslash}p{#1}} -\RequirePackage{soul} \RequirePackage{amsmath} \let\Vec\undefined \RequirePackage{longtable} \RequirePackage{url} \RequirePackage[normalem]{ulem} +\RequirePackage{color} \RequirePackage{times} \RequirePackage{mlnames} \RequirePackage{unicode} @@ -70,17 +43,14 @@ \RequirePackage{ucharacters} %\usepackage{ucs}\usepackage[utf8]{inputenc} \RequirePackage{nameref} -\RequirePackage[pdfcreator={PassiveTeX 1.25},colorlinks=false,plainpages=true,hypertexnames=false,pdfborder={1 0 0}]{hyperref}[1999/08/1] +\RequirePackage[colorlinks=false,plainpages=true,hypertexnames=false,pdfborder={1 0 0}]{hyperref}[1999/08/1] %------------------------------------------- \newcount\FOListBlocks -\edef\This@FOListBlocks{\the\FOListBlocks} \newcount\FOTableNesting \newcount\FOinList \newcount\FOinTable \newcount\NCols \newcount\RowCount -\newcount\SimplePMRefs -\newskip\LeaderLength \newdimen\CurrentCellWidth \newdimen\FObalancespace \newdimen\FOspaceleft @@ -107,17 +77,13 @@ \newif\ifMulticolPending \newif\ifNoTableCheckHeight \newif\ifStartWithOmit -\newif\ifForcePageSetup -\newif\ifBlankPage -\newif\ifInInsertion \newsavebox\BlockBox \newsavebox\CellBox \newsavebox\FOBOX \newsavebox\ItemBox \newtoks\ColSpecs -\newtoks\BoxedFootnotes % -%\FODebugtrue +\FODebugfalse \FOBlockGrabfalse \FODefiningPagefalse \FOListBodyfalse @@ -133,10 +99,6 @@ \MasterTopMargin\z@ \MulticolPendingfalse \StartWithOmitfalse -% smarts from Anton to deal with long lines in verbatim -\gdef\FOdiscretionary{\ifx\FOwrapoption\att@nowrap\discretionary{\kern-.5ex\lower1ex\hbox{$\hookleftarrow$}}{}{\kern1ex}\else\space\fi} -\def\obeyspaces{\catcode`\ =\active} -{\obeyspaces\global\let =\FOdiscretionary} \def\DEBUG#1{% \ifFODebug \typeout{#1, at \the\inputlineno}% @@ -158,7 +120,6 @@ \def\FOborderendstyle{#2}% \def\FOborderbeforestyle{#2}% \def\FOborderafterstyle{#2}% - \interpretwidth } \def\FOexpandattributes{% % @@ -221,25 +182,36 @@ \fi % end of shortcuts \ifx\FOborderendstyle\att@solid + \ifx\FOborderendwidth\att@thin\def\FOborderendwidth{0.4pt}\fi + \ifx\FOborderendwidth\att@medium\def\FOborderendwidth{0.8pt}\fi + \ifx\FOborderendwidth\att@thick\def\FOborderendwidth{1.2pt}\fi \FOBlockGrabtrue \else \def\FOborderendwidth{\z@}% \fi \ifx\FOborderstartstyle\att@solid + \ifx\FOborderstartwidth\att@thin\def\FOborderstartwidth{0.4pt}\fi + \ifx\FOborderstartwidth\att@medium\def\FOborderstartwidth{0.8pt}\fi + \ifx\FOborderstartwidth\att@thick\def\FOborderstartwidth{1.2pt}\fi \FOBlockGrabtrue \else \def\FOborderstartwidth{\z@}% \fi \ifx\FOborderafterstyle\att@solid + \ifx\FOborderafterwidth\att@thin\def\FOborderafterwidth{0.4pt}\fi + \ifx\FOborderafterwidth\att@medium\def\FOborderafterwidth{0.8pt}\fi + \ifx\FOborderafterwidth\att@thick\def\FOborderafterwidth{1.2pt}\fi \else \def\FOborderafterwidth{\z@}% \fi \ifx\FOborderbeforestyle\att@solid + \ifx\FOborderbeforewidth\att@thin\def\FOborderbeforewidth{0.4pt}\fi + \ifx\FOborderbeforewidth\att@medium\def\FOborderbeforewidth{0.8pt}\fi + \ifx\FOborderbeforewidth\att@thick\def\FOborderbeforewidth{1.2pt}\fi \FOBlockGrabtrue \else \def\FOborderbeforewidth{\z@}% \fi - \interpretwidth } %------------------------------------------- % @@ -285,107 +257,33 @@ \def\NoTableSetup{% \global\advance\AbsoluteTableCount by 1 \DeclareArray{fotable\the\AbsoluteTableCount:}% - \DeclareArray{fotabletextalign\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderbeforestyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderafterstyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderstartstyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderendstyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderbeforewidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderafterwidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderstartwidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderendwidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderbeforecolor\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderaftercolor\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderstartcolor\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderendcolor\the\AbsoluteTableCount:}% \global\CellCount0 -\ifnum\FOinTable=0 - \global\BoxedFootnotes{}% - \global\let\FOfoottext\FOboxedfoottext -\fi -} - -\def\NoTableFinish{ -\ifnum\FOinTable=0 - \the\BoxedFootnotes - \global\BoxedFootnotes={}% - \global\let\FOfoottext\FOplainfoottext -\fi -} - -\def\saveinterlineskip{% - \edef\savedbaselineskip{\the\baselineskip}% - \edef\savedlineskip{\the\lineskip}% - \edef\savedlineskiplimit{\the\lineskiplimit}% - \baselineskip=-1000pt\relax - \lineskiplimit=16383pt\relax - \lineskip=0pt -} - -\def\restoreinterlineskip{% - \baselineskip\savedbaselineskip\relax - \lineskip\savedlineskip\relax - \lineskiplimit\savedlineskiplimit\relax } \def\NoTableStart#1{#1} -\def\NoTableEnd{% - \clearArray{fotable\the\AbsoluteTableCount:}% - \clearArray{fotabletextalign\the\AbsoluteTableCount:}% - \clearArray{fotableborderbeforestyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderafterstyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderstartstyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderendstyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderbeforewidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderafterwidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderstartwidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderendwidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderbeforecolor\the\AbsoluteTableCount:}% - \clearArray{fotableborderaftercolor\the\AbsoluteTableCount:}% - \clearArray{fotableborderstartcolor\the\AbsoluteTableCount:}% - \clearArray{fotableborderendcolor\the\AbsoluteTableCount:}% -} +\def\NoTableEnd{\clearArray{fotable\the\AbsoluteTableCount:}} \def\NoTableColumn{% - \ifx\@empty\FOcolumnnumber - \global\advance\NCols by 1 - \else - \global\NCols\FOcolumnnumber - \fi - \ifx\prop@width\FOcolumnwidth\def\FOcolumnwidth{1in}\fi - \ifx\@empty\FOcolumnwidth\def\FOcolumnwidth{1in}\fi - \TablePercentToDimen{\FOcolumnwidth}% - \addToArray{fotable\the\AbsoluteTableCount:}{\the\@tempdima}% - \addToArray{fotabletextalign\the\AbsoluteTableCount:}{\FOtextalign}% - \addToArray{fotableborderbeforestyle\the\AbsoluteTableCount:}{\FOborderbeforestyle}% - \addToArray{fotableborderafterstyle\the\AbsoluteTableCount:}{\FOborderafterstyle}% - \addToArray{fotableborderstartstyle\the\AbsoluteTableCount:}{\FOborderstartstyle}% - \addToArray{fotableborderendstyle\the\AbsoluteTableCount:}{\FOborderendstyle}% - \addToArray{fotableborderbeforewidth\the\AbsoluteTableCount:}{\FOborderbeforewidth}% - \addToArray{fotableborderafterwidth\the\AbsoluteTableCount:}{\FOborderafterwidth}% - \addToArray{fotableborderstartwidth\the\AbsoluteTableCount:}{\FOborderstartwidth}% - \addToArray{fotableborderendwidth\the\AbsoluteTableCount:}{\FOborderendwidth}% - \addToArray{fotableborderbeforecolor\the\AbsoluteTableCount:}{\FOborderbeforecolor}% - \addToArray{fotableborderaftercolor\the\AbsoluteTableCount:}{\FOborderaftercolor}% - \addToArray{fotableborderstartcolor\the\AbsoluteTableCount:}{\FOborderstartcolor}% - \addToArray{fotableborderendcolor\the\AbsoluteTableCount:}{\FOborderendcolor}% - \DEBUG{Table Column \the\NCols, in Table \the\AbsoluteTableCount, - \FOcolumnwidth, = \the\@tempdima}% + \ifx\@empty\FOcolumnnumber + \global\advance\NCols by 1 + \else + \global\NCols\FOcolumnnumber + \fi + \ifx\prop@width\FOcolumnwidth\def\FOcolumnwidth{1in}\fi + \ifx\@empty\FOcolumnwidth\def\FOcolumnwidth{1in}\fi + \TablePercentToDimen{\FOcolumnwidth}% + \addToArray{fotable\the\AbsoluteTableCount:}{\the\@tempdima}% + \DEBUG{Table Column \the\NCols, in Table \the\AbsoluteTableCount, + \FOcolumnwidth, = \the\@tempdima}% } \def\NoTableRow#1{% - \setbox0=\vbox{ - \ifx\FOheight\att@auto% - \strut They - \else - \rule{\z@}{\FOheight}% - \fi - }% + \setbox0=\vbox{\strut They}% \NoTableCellHeight=\ht0 \advance\NoTableCellHeight by \dp0 \global\CellCount0 \NoTableCheckHeightfalse - \setbox0=\vbox{\hbox{\let\FOfoottext\FOnofoottext#1}}% + \setbox0=\hbox{#1}% \@tempdima=\ht0 \advance\@tempdima by \dp0 \FOspaceleft=\pagegoal @@ -397,49 +295,30 @@ \fi \ifdim\@tempdima>\NoTableCellHeight %\typeout{row pass 2 at \the\inputlineno, as [\the\@tempdima] > [\the\NoTableCellHeight]}% + \global\CellCount0 \NoTableCellHeight=\@tempdima + \NoTableCheckHeighttrue + \vbox{\hbox{#1}}% + \else + \box0\relax \fi - \global\CellCount0 - \NoTableCheckHeighttrue - \vbox to \NoTableCellHeight{\hbox{#1}}% -% \ifFOinOutput\else\vskip-\lineskip\fi -} - -\def\inheritfromcolumn#1#2{% - \explicitattribute{#1}% - \ifx\isexplicit\relax - \expandafter\edef\csname FO#2\endcsname{\csname fotable#2\the\AbsoluteTableCount:\the\CellCount\endcsname}% - \fi + \vskip-\lineskip } \def\NoTableCell#1{% \ifx\FOstartsrow\att@true -% \vskip-\lineskip + \vskip-\lineskip \global\CellCount1 \else \global\advance\CellCount by 1 \fi \ifnum\NCols<1 \CurrentCellWidth\z@ - \setbox0=\hbox{\restoreinterlineskip#1\strut}% + \setbox0=\hbox{#1}% \CurrentCellWidth=\wd0 -%\DEBUG{report \the\CurrentCellWidth}% +\DEBUG{report \the\CurrentCellWidth}% \else \CurrentCellWidth=\csname fotable\the\AbsoluteTableCount:\the\CellCount\endcsname - \inheritfromcolumn{text-align}{textalign}% - \inheritfromcolumn{border-before-style}{borderbeforestyle}% - \inheritfromcolumn{border-after-style}{borderafterstyle}% - \inheritfromcolumn{border-start-style}{borderstartstyle}% - \inheritfromcolumn{border-end-style}{borderendstyle}% - \inheritfromcolumn{border-before-width}{borderbeforewidth}% - \inheritfromcolumn{border-after-width}{borderafterwidth}% - \inheritfromcolumn{border-start-width}{borderstartwidth}% - \inheritfromcolumn{border-end-width}{borderendwidth}% - \inheritfromcolumn{border-before-color}{borderbeforecolor}% - \inheritfromcolumn{border-after-color}{borderaftercolor}% - \inheritfromcolumn{border-start-color}{borderstartcolor}% - \inheritfromcolumn{border-end-color}{borderendcolor}% - \interpretwidth \fi \advance\CurrentCellWidth by -\FOpaddingstart \advance\CurrentCellWidth by -\FOpaddingend @@ -462,7 +341,7 @@ \leavevmode\hbox{\FOTableCellBlock#1\FOEndTableCellBlock}% \fi \ifx\FOendsrow\att@true -% \vskip-\lineskip + \vskip-\lineskip \global\CellCount0 \fi } @@ -471,18 +350,17 @@ \begin{lrbox}{\CellBox}% \vbox\bgroup \hsize\the\CurrentCellWidth - \restoreinterlineskip - \ifFOinOutput\else \color@begingroup\fi + \color@begingroup \FOSetFont{tablecellblock}% \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi \ifx\FOwrapoption\att@nowrap\obeylines\fi - \ifx\FOverticalalign\att@bottom\vfill\fi + \ifx\TOverticalalign\att@bottom\vfill\fi } \def\FOEndTableCellBlock{% - \ifx\FOverticalalign\att@top\vfill\fi - \ifFOinOutput\else \color@endgroup\fi + \ifx\TOverticalalign\att@top\vfill\fi + \color@endgroup \egroup \end{lrbox}% \@tempdima\FOmargintop @@ -498,7 +376,7 @@ \hbox{% \hskip\FOmarginleft \vbox{% - \kern\FOmargintop + \vskip\FOmargintop \vbox{% \ifx\FOborderbeforestyle\att@solid {\color{\FOborderbeforecolor}\hrule\@height\FOborderbeforewidth}% @@ -515,29 +393,29 @@ % According to FOdisplayalign property, we put glue % before and/or after the cell contents \vtop to \NoTableCellHeight{% - \kern\FOpaddingbefore + \vskip\FOpaddingbefore \ifx\FOdisplayalign\att@auto - \else\ifx\FOdisplayalign\att@before - \else\ifx\FOdisplayalign\att@after\vfil + \else\ifx\FOdisplayalign\att@after + \else\ifx\FOdisplayalign\att@before\vfil \else\ifx\FOdisplayalign\att@centered\vfil\fi \fi \fi \fi \hbox{\kern\FOpaddingstart\box\CellBox\kern\FOpaddingend}% \ifx\FOdisplayalign\att@auto\vfil - \else\ifx\FOdisplayalign\att@before\vfil - \else\ifx\FOdisplayalign\att@after + \else\ifx\FOdisplayalign\att@after\vfil + \else\ifx\FOdisplayalign\att@before \else\ifx\FOdisplayalign\att@centered\vfil\fi \fi \fi \fi - \kern\FOpaddingafter + \vskip\FOpaddingafter }% \else \vbox{% - \kern\FOpaddingbefore + \vskip\FOpaddingbefore \hbox{\kern\FOpaddingstart\box\CellBox\kern\FOpaddingend}% - \kern\FOpaddingafter + \vskip\FOpaddingafter }% \fi \ifx\FOborderendstyle\att@solid @@ -547,7 +425,7 @@ \ifx\FOborderafterstyle\att@solid {\color{\FOborderaftercolor}\hrule\@height\FOborderafterwidth}\fi }% - \kern\FOmarginbottom + \vskip\FOmarginbottom }% \hskip\FOmarginright }% @@ -555,22 +433,18 @@ } \def\FOBoxedBlock#1{% -% Dirk Roorda: I cannot perceive what should be going on here. -% But \hbox{#1} cannot be right, since #1 is a length or even a dimen. -% In the latter case this leads to a TeX error! -% So I have commented out the then-branch. -% \ifdim\@tempdimb=\z@ -% \setbox0=\hbox{#1}\@tempdimb\wd0\relax + \ifdim\@tempdimb=\z@ + \setbox0=\hbox{#1}\@tempdimb\wd0 %\typeout{report \the\CurrentCellWidth}% -% \else - \@tempdimb#1\relax% -% \fi - \advance\@tempdimb by -\FOpaddingstart\relax - \advance\@tempdimb by -\FOpaddingend\relax - \ifx\FOborderstartstyle\att@solid\advance\@tempdimb by -\FOborderstartwidth\relax\fi - \ifx\FOborderendstyle\att@solid\advance\@tempdimb by -\FOborderendwidth\relax\fi - \advance\@tempdimb by -\FOmarginright\relax - \advance\@tempdimb by -\FOmarginleft\relax + \else + \@tempdimb#1% + \fi + \advance\@tempdimb by -\FOpaddingstart + \advance\@tempdimb by -\FOpaddingend + \ifx\FOborderstartstyle\att@solid\advance\@tempdimb by -\FOborderstartwidth\fi + \ifx\FOborderendstyle\att@solid\advance\@tempdimb by -\FOborderendwidth\fi + \advance\@tempdimb by -\FOmarginright + \advance\@tempdimb by -\FOmarginleft \begin{lrbox}{\BlockBox}% \vbox\bgroup \hsize\the\@tempdimb @@ -581,12 +455,11 @@ \ifx\FOwrapoption\att@nowrap\obeylines\fi \parindent\FOtextindent \Quadding - %\strut - \start@strut + \strut } \def\FOEndBoxedBlock{% - \start@strut + \par \color@endgroup \egroup \end{lrbox}% @@ -605,7 +478,7 @@ \hbox{% \kern\FOtempdim \vbox{% - \kern\FOmargintop + \vskip\FOmargintop \vbox{% \ifx\FOborderbeforestyle\att@solid {\color{\FOborderbeforecolor}\hrule\@height\FOborderbeforewidth}% @@ -618,9 +491,9 @@ {\color{\FObackgroundcolor}\vrule\@width\@tempdimc\kern-\@tempdimc}% \fi \vbox{% - \kern\FOpaddingbefore + \vskip\FOpaddingbefore \hbox{\kern\FOpaddingstart\box\BlockBox\kern\FOpaddingend}% - \kern\FOpaddingafter + \vskip\FOpaddingafter }% \ifx\FOborderendstyle\att@solid {\color{\FOborderendcolor}\vrule\@width\FOborderendwidth}\fi @@ -628,7 +501,7 @@ \ifx\FOborderafterstyle\att@solid {\color{\FOborderaftercolor}\hrule\@height\FOborderafterwidth}\fi }% - \kern\FOmarginbottom + \vskip\FOmarginbottom }% \kern\FOmarginright }% @@ -675,7 +548,6 @@ \xdef\FOsrcname{#1}% } \def\NColumns{1} -\gdef\PrevNColumns{1} \def\Pass#1\\{\expandafter\@Pass#1} \def\@Pass#1|#2|#3|#4|{% \columnsep=#1 @@ -713,42 +585,32 @@ \xdef\FOsrcname{#1#2#3#4#5#6#7#8}% \fi \fi} - - -{\catcode`\%=12\relax -\gdef\percentother{%} -} -{\catcode`\%=13\relax -\gdef\defpercentother{\xdef%{\percentother}} -} -{\catcode`\%=12\relax +{\catcode`\%=13 \gdef\percenttest#1%#2#3\@{\ifx#2\relax\def\percentval{#1}\expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi} -\gdef\performpercent#1{\defpercentother\edef\dopercent{\noexpand\percenttest#1\relax%.\noexpand\@}\dopercent} - -\gdef\TablePercentToDimen#1{\performpercent{#1} - {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 +\gdef\TablePercentToDimen#1{\expandafter\percenttest#1\relax%.\@ + {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 \edef\SCALE{\strip@pt\@tempdimb}\global\@tempdima=\SCALE\TableWidth}{\global\@tempdima#1} } -\gdef\PercentToDimen#1{\performpercent{#1} +\gdef\PercentToDimen#1{\expandafter\percenttest#1\relax%.\@ {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 \edef\SCALE{\strip@pt\@tempdimb}\global\@tempdima=\SCALE\hsize}{\global\@tempdima#1} } -\gdef\FOSetGWidth{\performpercent{\FOcontentwidth} +\gdef\FOSetGWidth{\expandafter\percenttest\FOcontentwidth\relax%.\@ {\@tempdima\percentval pt\relax\divide\@tempdima by 100 \edef\WSCALE{\strip@pt\@tempdima}\setkeys{Gin}{width=\WSCALE\Gin@nat@width}}{\setkeys{Gin}{width=\FOcontentwidth}}} -\gdef\FOSetGHeight{\performpercent{\FOcontentheight} +\gdef\FOSetGHeight{\expandafter\percenttest\FOcontentheight\relax%.\@ {\@tempdima\percentval pt\relax\divide\@tempdima by 100 \edef\HSCALE{\strip@pt\@tempdima}\setkeys{Gin}{height=\HSCALE\Gin@nat@height}}{\setkeys{Gin}{height=\FOcontentheight}}} \gdef\PlayWithFSize#1{\@default\f@size pt - \performpercent{#1} + \expandafter\percenttest#1\relax%.\@ {\dimen@0.01\@default \multiply\dimen@\percentval\relax}{\dimen@#1}\edef\FOfontsizefinal{\the\dimen@}} -\gdef\PlayWithShift{performpercent{\FOverticalalign} +\gdef\PlayWithShift{\expandafter\percenttest\FOverticalalign\relax%.\@ {\dimen@0.01\baselineskip\multiply\dimen@\percentval\relax}{\dimen@\FOverticalalign}} } \def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!} @@ -771,19 +633,15 @@ } \catcode`\/=12 % -\def\nocontentbox{\vbox to \z@{}} - \def\BlankPage{% + \def\@thehead{\csname\FirstHead\endcsname}% + \def\@thefoot{\csname\FirstTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\FirstHeadExtent}% + \def\tailheight{\FirstTailExtent}% + \mark{}% \DEBUG{Blank Page \the\c@page}% -% \def\@thehead{\csname\FirstHead\endcsname}% -% \def\@thefoot{\csname\FirstTail\endcsname}% -% \let\@themargin\oddsidemargin -% \def\headheight{\FirstHeadExtent}% -% \def\tailheight{\FirstTailExtent}% -% \mark{}% - \global\BlankPagetrue - \nocontentbox - \newpage + \hbox{} } %----------------------------------------------- % longtable @@ -856,12 +714,10 @@ \endgroup } -\def\oline#1{$\overline{\mbox{#1}}$} \def\TableHeader{} \def\DECO@{\@firstofone} \def\DECO@blink{\uwave} \def\DECO@underline{\uline} -\def\DECO@overline{\oline} \expandafter\def\csname DECO@line-through\endcsname{\sout} \def\QuaddingStart{% \ifx\FOtextalignlast\att@relative @@ -885,19 +741,20 @@ \fi }% % page number compression (by David Carlisle) -\def\fopagecitation{\csname r@\FOrefid\endcsname} + +\def\fopagecitation{\pageref{\FOrefid}} %was \hyperlink{\FOrefid}{\pageref{\FOrefid}}} \newcount\sortcount \newtoks\sorttoks \def\fosortpagecitation{% \setbox0\hbox{\global\sortcount=0\expandafter\expandafter\expandafter \@secondoffive\csname r@\FOrefid\endcsname - \relax\relax\relax\relax\relax}% + \relax\relax\relax\relax\relax} \let\@elt\fosort@elt \global\sorttoks\expandafter{\expandafter}\the\sorttoks \ifnum\sortcount<\maxdimen \global\sorttoks\expandafter{% - \the\expandafter\sorttoks\expandafter\@elt\expandafter{\the\sortcount}}% + \the\expandafter\sorttoks\expandafter\@elt\expandafter{\the\sortcount}} \fi } @@ -914,19 +771,18 @@ } \gdef\focompress@elt#1{% - \global\advance\sortcount\@ne - \ifnum#1=\sortcount\relax - \edef\foheld{#1}% - \else - \ifx\foheld\relax - \else - \FOrangechar - \fi - \foheld\fosep#1\relax - \let\foheld\relax - \fi - \global\sortcount#1\relax - \def\fosep{, }% + \global\advance\sortcount\@ne + \ifnum#1=\sortcount + \ifx\foheld\relax + \edef\foheld{#1}% + \else + \def\foheld{\textendash#1}% + \fi + \else + \foheld\fosep#1 + \fi + \global\sortcount#1 + \def\fosep{, }% } % headers @@ -987,32 +843,6 @@ \def\FOgeneratePage#1#2\@null{\csname Format-#1\endcsname{\c@page}#2} -\def\endtrivlist{% - \if@inlabel - \leavevmode - \global \@inlabelfalse - \fi - \if@newlist - \@noitemerr - \global \@newlistfalse - \fi - \ifhmode\unskip \par\fi - \if@noparlist \else - \ifInInsertion\else - \ifdim\lastskip >\z@ - \@tempskipa\lastskip \vskip -\lastskip - \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip - \vskip\@tempskipa - \fi - \fi - \@endparenv - \fi -} - -\def\@endparenv{% - \ifInInsertion\else\addpenalty\@endparpenalty\addvspace\@topsepadd\@endpetrue\fi -} - \def\@item[#1]{% \if@noparitem \@donoparitem @@ -1023,22 +853,19 @@ \ifhmode \unskip\unskip \par \fi - \ifInInsertion - \else - \if@newlist + \if@newlist % removed this test 2000/11/05. always put in topsep. -% \if@nobreak -% \@nbitem -% \else - \addpenalty\@beginparpenalty - \addvspace\@topsep - \addvspace{-\parskip}% -% \fi - \else - \addpenalty\@itempenalty - \addvspace\itemsep - \fi - \fi +% \if@nobreak +% \@nbitem +% \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% +% \fi + \else + \addpenalty\@itempenalty + \addvspace\itemsep + \fi \global\@inlabeltrue \fi \global\everypar{% @@ -1050,7 +877,7 @@ \ifvoid\z@ \kern-\itemindent \fi}% - \box\@labels\FOlabel + \box\@labels \penalty\z@ \fi \if@nobreak @@ -1059,8 +886,7 @@ \else \clubpenalty \@clubpenalty \global\everypar{}% - \fi - }% + \fi}% \if@noitemarg \@noitemargfalse \if@nmbrlist @@ -1122,85 +948,59 @@ } -%\tracingpages3\relax % vertical spacing \newskip\FOafterskip \def\FOvspaceafter{% - \ifFOinOutput - \else - \ifnum\FOTableNesting>0 - \else - \ifx\@empty\FOspaceafter - \@tempdima\FOspaceafteroptimum - \advance\@tempdima by -\FOspaceafterminimum - \@tempdimb\FOspaceafteroptimum - \advance\@tempdimb by \FOspaceaftermaximum - \FOafterskip\FOspaceafteroptimum plus \@tempdimb minus \@tempdima - \else - \FOafterskip\FOspaceafter - \fi - \@tempswafalse - \ifx\FOkeepwithnext\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi - \addvspace\FOafterskip - \if@tempswa \addpenalty{9996}\fi - \fi - \fi +\ifFOinOutput +\else + \ifnum\FOTableNesting>0 + \else + \ifx\@empty\FOspaceafter + \@tempdima\FOspaceafteroptimum + \advance\@tempdima by -\FOspaceafterminimum + \@tempdimb\FOspaceafteroptimum + \advance\@tempdimb by \FOspaceaftermaximum + \FOafterskip\FOspaceafteroptimum plus \@tempdimb minus \@tempdima + \else + \FOafterskip\FOspaceafter + \fi + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\addpenalty{\@M}\fi + \addvspace\FOafterskip + \fi +\fi } -\@secpenalty = -300 \def\FOvspacebefore{% - \ifFOinOutput - \else - \ifx\@empty\FOspacebefore - \@tempdima\FOspacebeforeoptimum - \advance\@tempdima by -\FOspacebeforeminimum - \@tempdimb\FOspacebeforeoptimum - \advance\@tempdimb by \FOspacebeforemaximum - \@tempskipa\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima - \else - \@tempskipa\FOspacebefore - \fi - %\typeout{SPACE BEFORE \the\inputlineno: \the\@tempskipa, \FOspacebeforeminimum/\FOspacebeforemaximum/\FOspacebeforeoptimum}% - \ifnum\FOTableNesting>0 - \rule{\z@}{\@tempskipa}% - \else - \@tempswafalse - \ifx\FOkeepwithnext\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi - \@tempskipb\f@baselineskip\relax\@tempskipb3\@tempskipb\relax - %\ifx\@empty\FOspacebefore\else - %\if@tempswa\vskip0pt plus \@tempskipb - %\addpenalty\@secpenalty\vskip-\lastskip\fi\fi - \if@tempswa\addpenalty\@secpenalty\fi - \addvspace\@tempskipa - \fi - \fi - \def\FOspacebefore{\z@}% +\ifFOinOutput +\else + \ifx\@empty\FOspacebefore + \@tempdima\FOspacebeforeoptimum + \advance\@tempdima by -\FOspacebeforeminimum + \@tempdimb\FOspacebeforeoptimum + \advance\@tempdimb by \FOspacebeforemaximum + \@tempskipa\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima + \else + \@tempskipa\FOspacebefore + \fi +%\typeout{SPACE BEFORE \the\inputlineno: \the\@tempskipa, \FOspacebeforeminimum/\FOspacebeforemaximum/\FOspacebeforeoptimum}% + \ifnum\FOTableNesting>0 + \rule{\z@}{\@tempskipa}% + \else + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\addpenalty\@secpenalty\fi + \addvspace\@tempskipa + \fi +\fi +\def\FOspacebefore{\z@}% } -\def\addpenalty#1{% - \ifvmode - \if@minipage - \else - \if@nobreak - \else - \ifdim\lastskip=\z@ - \penalty#1\relax - \else - \@tempskipb\lastskip - \vskip -\lastskip - \penalty#1% - \vskip\@tempskipb - \fi - \fi - \fi - \else - \@noitemerr - \fi -} % lets do some setup % setup \paperwidth211mm @@ -1219,8 +1019,8 @@ \relpenalty=500 \tolerance=1000 \vbadness=3000 -\widowpenalty=0 -\clubpenalty=0 +\widowpenalty=8000 +\clubpenalty=8000 \@twosidetrue \fboxsep0pt \setcounter{topnumber}{5} @@ -1249,108 +1049,82 @@ %\catcode`\^^M\active\gdef\@resetactivechars{\def^^M{x}}\endgroup \def\@outputpage{% - \begingroup % the \endgroup is put in by \aftergroup - \let\protect\noexpand +\begingroup % the \endgroup is put in by \aftergroup + \let \protect \noexpand % \@resetactivechars - \@parboxrestore - \shipout\vbox{% - \set@typeset@protect - \aftergroup\endgroup - \aftergroup\set@typeset@protect + \@parboxrestore + \shipout \vbox{% + \set@typeset@protect + \aftergroup \endgroup + \aftergroup \set@typeset@protect % correct? or just restore by ending % the group? - \if@specialpage -% \typeout{PAGE=FIRST \the\c@page}% - \global\@specialpagefalse - \def\@thehead{\csname\FirstHead\endcsname}% - \def\@thefoot{\csname\FirstTail\endcsname}% - \let\@themargin\oddsidemargin - \def\headheight{\FirstHeadExtent}% - \def\tailheight{\FirstTailExtent}% - \else - \ifBlankPage -%\typeout{PAGE=BLANK \the\c@page}% - \global\BlankPagefalse - \def\@thehead{\csname\BlankHead\endcsname}% - \def\@thefoot{\csname\BlankTail\endcsname}% - \let\@themargin\oddsidemargin - \def\headheight{\BlankHeadExtent}% - \def\tailheight{\BlankTailExtent}% - \else - \ifodd\count\z@ -% \typeout{PAGE=ODD \the\c@page}% - \def\@thehead{\csname\OddHead\endcsname}% - \def\@thefoot{\csname\OddTail\endcsname}% - \let\@themargin\oddsidemargin - \def\headheight{\OddHeadExtent}% - \def\tailheight{\OddTailExtent}% - \else -% \typeout{PAGE=EVEN \the\c@page}% - \def\@thehead{\csname\EvenHead\endcsname}% - \def\@thefoot{\csname\EvenTail\endcsname}% - \let\@themargin\evensidemargin - \def\headheight{\EvenHeadExtent}% - \def\tailheight{\EvenTailExtent}% - \fi - \fi - \fi - \@tempdima\textwidth - \advance\@tempdima by -\FOheadindent - \reset@font - \normalsize - \normalsfcodes - \let\label\@gobble - \let\index\@gobble - \let\glossary\@gobble - %\baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ - \offinterlineskip - \@begindvi - \vskip \topmargin - \vskip -\InnerTopMargin - \moveright\@themargin \vbox {% - \setbox\@tempboxa \vbox to\z@{% - \color@hbox - \normalcolor - \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thehead}}}% - \color@endbox - \vss - }% - \dp\@tempboxa \z@ - \box\@tempboxa - \vskip\headsep - \vskip\InnerTopMargin - \box\@outputbox - \baselineskip\footskip - \vskip\bottommargin - \vskip-\tailheight - \@tempdima\textwidth - \advance\@tempdima by -\FOheadindent - \setbox\@tempboxa \vbox to\tailheight{% - \color@hbox - \normalcolor - \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thefoot}}}% - \color@endbox - \vfil - }% - \dp\@tempboxa \z@ - \box\@tempboxa + \if@specialpage + \global\@specialpagefalse + \def\@thehead{\csname\FirstHead\endcsname}% + \def\@thefoot{\csname\FirstTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\FirstHeadExtent}% + \def\tailheight{\FirstTailExtent}% + \else + \ifodd\count\z@ + \def\@thehead{\csname\OddHead\endcsname}% + \def\@thefoot{\csname\OddTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\OddHeadExtent}% + \def\tailheight{\OddTailExtent}% + \else + \def\@thehead{\csname\EvenHead\endcsname}% + \def\@thefoot{\csname\EvenTail\endcsname}% + \let\@themargin\evensidemargin + \def\headheight{\EvenHeadExtent}% + \def\tailheight{\EvenTailExtent}% + \fi + \fi + \@tempdima\textwidth + \advance\@tempdima by -\FOheadindent + \reset@font + \normalsize + \normalsfcodes + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ + \@begindvi + \vskip \topmargin + \moveright\@themargin \vbox {% + \setbox\@tempboxa \vbox to\headheight{% + \color@hbox + \normalcolor + \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thehead}}}% + \color@endbox + \vfil }% + \dp\@tempboxa \z@ + \box\@tempboxa + \vskip \headsep + \box\@outputbox + \baselineskip \footskip + \vskip \bottommargin + \@tempdima\textwidth + \advance\@tempdima by -\FOheadindent + \setbox\@tempboxa \vbox to\tailheight{% + \color@hbox + \normalcolor + \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thefoot}}}% + \color@endbox + \vfil }% - \global \@colht \textheight - \stepcounter{page}% - \ifForcePageSetup - \global\advance\SimplePMRefs1\relax - \DEBUG{Start page \the\SimplePMRefs\space of page sequence, using layout \CurrentPageMaster, at page \the\c@page}% - \setaccordingtomaster - \ifnum\NColumns>1\relax - \refreshmulticols % this is defined in nomulticols.sty - \fi - \else - \DEBUG{Skipping page set up at page \the\c@page}% - \fi - \let\firstmark\botmark + \dp\@tempboxa \z@ + \box\@tempboxa + }% + }% + \global \@colht \textheight + \stepcounter{page}% + \let\firstmark\botmark } +%%%% \def\FO@character#1{% \ifx\FOverticalalign\att@baseline #1% @@ -1368,52 +1142,25 @@ \fi } \def\FO@inlinesequence#1{% - \FOSetFont{normal}% - \ifx\FOletterspacing\att@normal - \def\pre@sequence{{#1}}% - \else - \def\pre@sequence{\@ifundefined{thisso}{\sodef\thisso{}{\FOletterspacing}{.4em}{.5em}}{}{\thisso{#1}}}% - \fi - \ifx\FOverticalalign\att@baseline - \csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}% - \else - \ifx\FOverticalalign\att@super - \textsuperscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}}% - \else - \ifx\FOverticalalign\att@sub - \textsubscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}}% - \else - \PlayWithShift - \raisebox{\dimen@}{\csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}}% - \fi - \fi - \fi -} -\def\interpretwidth{% - \ifx\FOborderwidth\att@thin\def\FOborderwidth{0.4pt}\fi - \ifx\FOborderwidth\att@medium\def\FOborderwidth{0.8pt}\fi - \ifx\FOborderwidth\att@thick\def\FOborderwidth{1.2pt}\fi - \ifx\FOborderbeforewidth\att@thin\def\FOborderbeforewidth{0.4pt}\fi - \ifx\FOborderbeforewidth\att@medium\def\FOborderbeforewidth{0.8pt}\fi - \ifx\FOborderbeforewidth\att@thick\def\FOborderbeforewidth{1.2pt}\fi - \ifx\FOborderafterwidth\att@thin\def\FOborderafterwidth{0.4pt}\fi - \ifx\FOborderafterwidth\att@medium\def\FOborderafterwidth{0.8pt}\fi - \ifx\FOborderafterwidth\att@thick\def\FOborderafterwidth{1.2pt}\fi - \ifx\FOborderstartwidth\att@thin\def\FOborderstartwidth{0.4pt}\fi - \ifx\FOborderstartwidth\att@medium\def\FOborderstartwidth{0.8pt}\fi - \ifx\FOborderstartwidth\att@thick\def\FOborderstartwidth{1.2pt}\fi - \ifx\FOborderendwidth\att@thin\def\FOborderendwidth{0.4pt}\fi - \ifx\FOborderendwidth\att@medium\def\FOborderendwidth{0.8pt}\fi - \ifx\FOborderendwidth\att@thick\def\FOborderendwidth{1.2pt}\fi + \FOSetFont{normal}% +\ifx\FOverticalalign\att@baseline + \csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}% +\else + \ifx\FOverticalalign\att@super + \textsuperscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \else + \ifx\FOverticalalign\att@sub + \textsubscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \else + \PlayWithShift + \raisebox{\dimen@}{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \fi + \fi +\fi } - \def\FOboxedsequence#1{% \FOSetFont{normal}% -\ifx\FOborderwidth\@empty -\else - \interpretwidth - \fboxrule\FOborderwidth -\fi +\ifx\FOborderwidth\@empty\else\fboxrule\FOborderwidth\fi \ifx\FOverticalalign\att@baseline \fbox{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% \else @@ -1453,117 +1200,6 @@ \def\FOfontvariant{#4}% \def\FOfontweight{#5}% \def\FOfontstyle{#3}#8\global\FOinOutputfalse}}}% - \ifx\FOflowname\att@xsl@footnote@separator\relax - \xdef\footnoterulepre{Static:#9}% - \global\footnotesep\z@\relax - \setbox\@tempboxa\vbox{\csname\footnoterulepre\endcsname}% - \@tempdima=\z@\relax - \advance\@tempdima\ht\@tempboxa\relax - \advance\@tempdima\dp\@tempboxa\relax - \global\skip\footins\@tempdima\relax - \gdef\footnoterule{\vfill\vbox to\z@{\vss\csname\footnoterulepre\endcsname}}% - \fi -} - -\def\setaccordingtomaster{% - \global\@specialpagetrue - \@ifundefined{Atomic:\CurrentPageMaster} - { - \@ifundefined{Lead:\the\SimplePMRefs:\CurrentPageMaster} - { - \ifnum\SimplePMRefs>1\relax\global\@specialpagefalse\fi - \@ifundefined{First:\CurrentPageMaster} - { - \ifx\FOinitialpagenumber\att@auto - \ifodd\c@page - \DEBUG{Master \CurrentPageMaster: no first page, use odd page} - \xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} - \else - \DEBUG{Master \CurrentPageMaster: no first page, use even page} - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} - \fi - \else - \ifx\FOinitialpagenumber\att@autoeven - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} - \else - \ifx\FOinitialpagenumber\att@autoodd - \xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} - \else - \ifodd\FOinitialpagenumber - \xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} - \else - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} - \fi - \fi - \fi - \fi - } - { - \xdef\PFirst{\csname First:\CurrentPageMaster\endcsname} - } - \@ifundefined{Blank:\CurrentPageMaster} - {\xdef\PBlank{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PBlank{\csname Blank:\CurrentPageMaster\endcsname}} - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PEven{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PEven{\csname Even:\CurrentPageMaster\endcsname}} - \xdef\POdd{\csname Odd:\CurrentPageMaster\endcsname} - } - { - \xdef\PFirst{\csname Lead:\the\SimplePMRefs:\CurrentPageMaster\endcsname} - \global\let\POdd\PFirst - \global\let\PEven\PFirst - \global\let\PBlank\PFirst - } - } - { - \global\let\PFirst\CurrentPageMaster - \global\let\PBlank\CurrentPageMaster - \global\let\POdd\CurrentPageMaster - \global\let\PEven\CurrentPageMaster - } - \DEBUG{ first page master is [\PFirst]} - \DEBUG{ odd page master is [\POdd]} - \DEBUG{ even page master is [\PEven]} - \DEBUG{ blank page master is [\PBlank]} - \expandafter\Pass\csname\POdd:xsl-region-body\endcsname\\ - \csname Atomic:\POdd\endcsname - \global\oddsidemargin\MasterLeftMargin - \global\evensidemargin\MasterLeftMargin - \global\advance\evensidemargin by \SpecialOffset - \global\advance\oddsidemargin by \SpecialOffset - \@ifundefined{Atomic:\PEven} - { - \DEBUG{no master for Atomic:\PEven} - } - { - \csname Atomic:\PEven\endcsname - \global\evensidemargin\MasterLeftMargin - \global\advance\evensidemargin by \SpecialOffset - } - \xdef\EvenHeadExtent{\csname\PEven:before-extent\endcsname} - \xdef\EvenHead{Static:\csname\PEven:before\endcsname} - \xdef\EvenTailExtent{\csname\PEven:after-extent\endcsname} - \xdef\EvenTail{Static:\csname\PEven:after\endcsname} - \xdef\FirstHeadExtent{\csname\PFirst:before-extent\endcsname} - \xdef\FirstHead{Static:\csname\PFirst:before\endcsname} - \xdef\FirstTailExtent{\csname\PFirst:after-extent\endcsname} - \xdef\FirstTail{Static:\csname\PFirst:after\endcsname} - \xdef\OddHeadExtent{\csname\POdd:before-extent\endcsname} - \xdef\OddHead{Static:\csname\POdd:before\endcsname} - \xdef\OddTailExtent{\csname\POdd:after-extent\endcsname} - \xdef\OddTail{Static:\csname\POdd:after\endcsname} - \xdef\BlankHeadExtent{\csname\PBlank:before-extent\endcsname} - \xdef\BlankHead{Static:\csname\PBlank:before\endcsname} - \xdef\BlankTailExtent{\csname\PBlank:after-extent\endcsname} - \xdef\BlankTail{Static:\csname\PBlank:after\endcsname} - \FOSetPage } \let\olditem\item @@ -1573,7 +1209,7 @@ % \typeout{Hypertext label \FOid, at \the\inputlineno}% \@bsphack \protected@write\@mainaux{}% - {\string\newlabel{\FOid}{{}{\noexpand\FOgeneratePage\FOformat\noexpand\@null}{}{}{}}}% + {\string\newlabel{\FOid}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{\FOid}{}}}% \@esphack \hyper@@anchor{\FOid}{\relax}% \global\let\FOid\@empty @@ -1593,10 +1229,9 @@ \itemsep\FOspacebefore \fi \itemindent=\FOstartindent - \PercentToDimen{\FOprovisionaldistancebetweenstarts}% - \leftmargin=\@tempdima\relax + \leftmargin=\FOprovisionaldistancebetweenstarts \rightmargin=\FOmarginright - \labelwidth=\@tempdima\relax + \labelwidth=\FOprovisionaldistancebetweenstarts \advance\labelwidth by -\FOprovisionallabelseparation \expandafter\csname List\FOtextalign\endcsname %\typeout{List at \the\inputlineno: labelwidth: \the\labelwidth, @@ -1607,106 +1242,72 @@ \def\FOOutputBlock{% \FOSetFont{output}% + \ifFOBlockGrab + \FOBoxedBlock{\textwidth}% + \fi \ifx\FOtextalignlast\att@relative \csname startQ@\FOtextalign\endcsname -% \csname Q@\FOtextalign\endcsname + \csname Q@\FOtextalign\endcsname \else \csname startQ@\FOtextalignlast\endcsname -% \csname Q@\FOtextalignlast\endcsname - \fi -% \Quadding - \ifFOBlockGrab - \FOBoxedBlock{\textwidth}% + \csname Q@\FOtextalignlast\endcsname \fi } -\def\list#1#2{% - \ifnum \@listdepth >5\relax - \@toodeep - \else - \global\advance\@listdepth\@ne - \fi - \rightmargin\z@ - \listparindent\z@ - \itemindent\z@ - \csname @list\romannumeral\the\@listdepth\endcsname - \def\@itemlabel{#1}% - \let\makelabel\@mklab - \@nmbrlistfalse - #2\relax - \@trivlist - \parskip\parsep - \parindent\listparindent - \global\advance\linewidth -\rightmargin - \global\advance\linewidth -\leftmargin - \advance\@totalleftmargin \leftmargin - \parshape \@ne \@totalleftmargin \linewidth - \ignorespaces} - \def\FONormalBlock{% - \ifnum\FOTableNesting>0 - \ifx\FOtextalign\att@centered - \centering - \fi - \FOSetFont{normalblock}% -% \vrule height \f@baselineskip depth \z@ width \z@\relax - \else - \ifnum\FOinList>0 - \ifFOListInnerPar - \unskip\par - \FOvspacebefore - \fi - \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi - \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi - \ifx\FOwrapoption\att@nowrap\obeylines\fi - \ifInInsertion\start@strut\fi - \else - \ifx\FObreakbefore\att@page - \let\tempID\FOid -% \penalty -\@M - \newpage - \let\FOid\tempID - \else - \ifx\FObreakbefore\att@oddpage - \let\tempID\FOid -% \penalty -\@M - \newpage - \ifodd\c@page\else\BlankPage\fi - \let\FOid\tempID - \else - \ifx\FObreakbefore\att@evenpage - \let\tempID\FOid -% \penalty -\@M - \newpage - \ifodd\c@page\BlankPage\fi - \let\FOid\tempID - \fi - \fi - \fi - \par - \Quadding - \ifFOBlockGrab - \FOBoxedBlock{\linewidth}% - \else - \FOBorderTop - \ifdim\FOpaddingbefore>\z@ - \vskip\FOpaddingbefore - \fi - \FOvspacebefore - \parindent\FOtextindent - \advance\leftskip by \FOpaddingstart - \advance\leftskip by \FOmarginleft - \advance\rightskip by \FOpaddingend - \advance\rightskip by \FOmarginright - \fi -% \par - \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi - \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi - \ifx\FOwrapoption\att@nowrap\obeylines\fi - \FOlabel - \fi - \ifx\XML@parent\FOFootnoteBody\else\FOSetFont{normal}\fi + \let\@x\relax + \ifnum\FOTableNesting>0 + \ifx\FOtextalign\att@centered + \centering + \fi + \let\@x\relax + \FOSetFont{normalblock}% + \vrule height \f@baselineskip depth \z@ width \z@ + \else + \ifnum\FOinList>0 + \FOlabel + \ifFOListInnerPar\par\FOvspacebefore\fi + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \else + \ifx\FObreakbefore\att@page + \let\tempID\FOid + \penalty -\@M + \let\FOid\tempID + \else + \ifx\FObreakbefore\att@oddpage + \let\tempID\FOid + \penalty -\@M + \ifodd\c@page\else\BlankPage\newpage\fi + \let\FOid\tempID + \fi + \fi + \par + \FOlabel + \Quadding + \ifFOBlockGrab + \FOBoxedBlock{\linewidth}% + \else + \FOBorderTop + \ifdim\FOpaddingbefore>\z@ + \vskip\FOpaddingbefore \fi + \FOvspacebefore + \parindent\FOtextindent + \advance\leftskip by \FOpaddingstart + \advance\leftskip by \FOmarginleft + \advance\rightskip by \FOpaddingend + \advance\rightskip by \FOmarginright + \fi +% \par + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \fi + \FOSetFont{normal}% + \fi +\@x } \def\FOEndOutputBlock{% @@ -1724,8 +1325,7 @@ \ifx\XML@parent\FOListItemLabel \else \ifnum\FOinList>0 - \ifInInsertion\start@strut\fi - \ifFOListInnerPar\unskip\par\fi + \ifFOListInnerPar\par\fi \else \ifnum\FOTableNesting>0 \else @@ -1735,7 +1335,6 @@ \fi } - \def\FOEndBlockTwo{% \par \ifFOBlockGrab @@ -1747,27 +1346,22 @@ \FOBorderBottom \fi \ifx\FObreakafter\att@page - \clearpage -% \penalty -\@M + \penalty -\@M \else \ifx\FObreakafter\att@oddpage - \ifodd\c@page\cleardoublepage\else\clearpage\fi - \else - \ifx\FObreakafter\att@evenpage - \ifodd\c@page\clearpage\else\cleardoublepage\fi - \fi + \cleardoublepage \fi \fi \@tempswafalse \ifx\FOkeepwithnext\att@always\@tempswatrue\fi \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi - \if@tempswa\addpenalty{9993}\fi + \if@tempswa\nobreak\fi \FOvspaceafter -% \if@tempswa\@afterheading\fi + \if@tempswa\@afterheading\fi } -% \FOStartGrab is never called, so it seems + \def\FOStartGrab#1{% \@tempdima#1 \XFOstartindent\FOstartindent @@ -1805,7 +1399,6 @@ \vskip\FOpaddingbefore \parindent\FOtextindent\leftskip\z@\rightskip\z@ } -% \FOEndGrab is never called, so it seems \def\FOEndGrab#1{% \vspace*{\FOpaddingafter}% \end{minipage}% @@ -1818,7 +1411,6 @@ \advance\@tempdima by \FOborderbeforewidth \advance\@tempdima by \FOborderafterwidth \ifx\FOborderstyle\att@solid - \interpretwidth \ifx\FObackgroundcolor\att@transparent \fboxrule\FOborderwidth \fboxsep\FOpadding @@ -1910,88 +1502,17 @@ \expandafter\let\csname p@footnote\endcsname\relax \@footnotetext{\FOlabel#2}} -\def\start@strut{% - \vrule height \ht\strutbox depth \dp\strutbox width \z@\relax -} - \def\FOplainfootmark#1{#1} - -\newtoks\sav@everypar -\newbox\sav@labels - -%\showboxbreadth10 -%\showboxdepth10 -\gdef \@makecol {% - \ifvoid\footins - \setbox\@outputbox \box\@cclv - \else -% \showbox\footins - \setbox\@outputbox \vbox {% - \boxmaxdepth \@maxdepth - \@tempdima\dp\@cclv - \unvbox \@cclv - \vskip \skip\footins - \color@begingroup - \normalcolor - \footnoterule - \unvbox \footins - \color@endgroup - }% - \fi - \xdef\@freelist{\@freelist\@midlist}% - \global \let \@midlist \@empty - \@combinefloats - \ifvbox\@kludgeins - \@makespecialcolbox - \else - \setbox\@outputbox \vbox to\@colht {% - \@texttop - \dimen@ \dp\@outputbox - \unvbox \@outputbox - \vskip -\dimen@ - \@textbottom - }% - \fi - \global \maxdepth \@maxdepth +\long\def\FOplainfoottext#1{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \color@begingroup + #1\unskip\ifhmode\nobreak\fi\vskip\lineskip + \color@endgroup}% } - -\long\def\FOplainfoottext#1{% - \insert\footins{\relax - \reset@font\footnotesize - \FORestoreFontSize - \size@update - \interlinepenalty\interfootnotelinepenalty - \splittopskip0pt\relax - \splitmaxdepth \dp\strutbox \floatingpenalty \@MM - \hsize\columnwidth\@parboxrestore - \color@begingroup\InInsertiontrue - \xdef\Sav@FOListBlocks{\the\FOListBlocks}\FOListBlocks0\relax - \global\let\sav@if@inlabel\if@inlabel - \global\let\sav@if@nobreak\if@nobreak - \global\let\sav@if@newlist\if@newlist - \global\setbox\sav@labels\box\@labels - \expandafter\global\expandafter\sav@everypar\expandafter{\the\everypar}\global\everypar{}\relax - \FOinList0\relax - \FOListBodyfalse - #1\ifhmode\nobreak\fi - \global\FOListBlocks\Sav@FOListBlocks\relax - \global\let\if@inlabel\sav@if@inlabel - \global\let\if@nobreak\sav@if@nobreak - \global\let\if@newlist\sav@if@newlist - \global\setbox\@labels\box\sav@labels - \expandafter\global\expandafter\everypar\expandafter{\the\sav@everypar}\relax - %\vskip\lineskip - \color@endgroup}% -} -\let\FOfoottext\FOplainfoottext - -\def\FOboxedfoottext#1{ - \edef\boxedfootnotetext{\the\BoxedFootnotes\noexpand\FOplainfoottext}% - \global\BoxedFootnotes=\expandafter{\boxedfootnotetext{#1}}% -} - -\def\FOnofoottext#1{} - \ColSpecs={}% \NCols0 \RowCount0 @@ -2038,15 +1559,6 @@ %} \edef\LastLanguage{\newL}} -\def\FoTeXSetSpacingStyle{% - \ifx\FoTeXSpacingStyle\att@french - \frenchspacing - \typeout{INFO: Using french-spacing in document}% - \else - \typeout{INFO: Using normal, i.e. nonfrench-spacing in document}% - %\nonfrenchspacing - \fi -} \def\FOSetHyphenation{% \ifx\FOhyphenate\att@true \LoadLanguage{\FOlanguage}% @@ -2061,8 +1573,8 @@ \csname Weight@\FOfontweight\endcsname}% \ifx\LaTeXshape\@empty\def\LaTeXshape{m}\fi \edef\fFamName{\FOfontfamily}% -\DEBUG{#1: \FOfontweight, \FOfontstyle, - \FOfontsize, \FOtextalign, \LaTeXshape}% +%\typeout{#1 At \the\inputlineno, \FOfontweight, \FOfontstyle, +% \FOfontsize, \FOtextalign, \LaTeXshape}% \edef\f@series{\LaTeXshape}% \edef\f@shape{\csname Posture@\FOfontstyle\endcsname}% \ifx\FOfontvariant\att@smallcaps @@ -2120,69 +1632,43 @@ \set@fontsize\baselinestretch{\FOfontsizefinal}{\FOlineheight}% \fi } -\def\FOSaveFontSize{% - \computeFOfontsize - \ifx\FOlineheight\att@normal - \@tempdima\FOfontsizefinal - \multiply\@tempdima by 12 - \divide\@tempdima by 10 - \xdef\FORestoreFontSize{\noexpand\set@fontsize\noexpand\baselinestretch{\FOfontsizefinal}{\the\@tempdima}}% - \else - \xdef\FORestoreFontSize{\noexpand\set@fontsize\noexpand\baselinestretch{\FOfontsizefinal}{\FOlineheight}}% - \fi -} - \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}} -%\def\@textsubscript#1{% -% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} \def\@textsubscript#1{% - {\m@th\ensuremath{_{\mbox{#1}}}}} -\def\@textsuperscript#1{% - {\m@th\ensuremath{^{\mbox{#1}}}}} + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} \def\reserved@e{} - \def\FOSetPage{% - \global\bottommargin\Marginbottom -% \headsep\Margintop - \global\headsep\z@ - \global\topmargin\MasterTopMargin - \global\advance\topmargin by \SpecialOffset - \global\textheight\paperheight - \global\textwidth\paperwidth -% \advance\textheight by -\FirstHeadExtent -% \advance\textheight by -\FirstTailExtent - \global\advance\textheight by -\MasterTopMargin -% \advance\textheight by -\Margintop - \global\advance\textheight by -\MasterBottomMargin -% \advance\textheight by -\Marginbottom - \global\advance\textwidth by -\MasterLeftMargin - \global\advance\textwidth by -\MasterRightMargin + \bottommargin\Marginbottom + \headsep\Margintop + \topmargin\MasterTopMargin + \advance\topmargin by \SpecialOffset + \textheight\paperheight + \textwidth\paperwidth + \advance\textheight by -\FirstHeadExtent + \advance\textheight by -\FirstTailExtent + \advance\textheight by -\MasterTopMargin + \advance\textheight by -\Margintop + \advance\textheight by -\MasterBottomMargin + \advance\textheight by -\Marginbottom + \advance\textwidth by -\MasterLeftMargin + \advance\textwidth by -\MasterRightMargin \FOpdfsetpagesize{\paperwidth}{\paperheight} - \global\@colht\textheight - \global\@colroom\textheight - \global\vsize\textheight - \global\columnwidth\textwidth - \global\hsize\columnwidth - \global\linewidth\hsize - \gdef\headheight{12pt}% -% if we are in the middle of a list, we have to redo some of the list assignments - \FOResetPageParts + \@colht\textheight + \@colroom\textheight + \vsize\textheight + \linewidth\textwidth + \columnwidth\textwidth + \hsize\columnwidth \linewidth\hsize + \def\headheight{12pt}% \DEBUG{Page size is \the\textwidth/\the\textheight, on paper \the\paperwidth/\the\paperheight,^^J with paper margins \the\MasterRightMargin/\the\MasterLeftMargin, and region margins \the\topmargin/\the\MasterBottomMargin;^^J footskip is \the\footskip, headsep is \the\headsep^^J evensidemargin \the\evensidemargin, oddsidemargin \the\oddsidemargin}% + \global\@specialpagetrue } - -\def\FOResetPageParts{ - \expandafter\ifx\csname This@LineWidth\endcsname\relax\else - \global\linewidth\This@LineWidth\relax - \fi -} - % don't ask \def\supppdf{supp-pdf} \let\FOinputIfFileExists\InputIfFileExists @@ -2234,5 +1720,5 @@ \g@addto@macro\Gin@extensions{,.gif} \@namedef{Gin@rule@.eps}#1{{pdf}{.pdf}{`epstopdf #1}} \@namedef{Gin@rule@.gif}#1{{png}{.png}{`giftopng #1}} -\errorstopmode + \endinput diff --git a/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt b/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt index 8bdbe94be2c..4ddb49bd1eb 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt +++ b/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt @@ -1,8 +1,8 @@ -% $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt#1 $, $Date: 2004/02/09 $ +% $Id: //depot/Master/texmf/tex/xmltex/passivetex/fotex.xmt#90 $, $Date: 2002/06/25 $ % -% PassiveTeX version 1.25 +% PassiveTeX version 1.17 % -% Copyright 2003 Sebastian Rahtz/Oxford University +% Copyright 2002 Sebastian Rahtz/Oxford University % % % Permission is hereby granted, free of charge, to any person obtaining @@ -19,34 +19,6 @@ % Includes fixes from Tomas Bures % Yura Zotov % Anton V. Boyarshinov -% Dirk Roorda - - -% MODIFICATIONS IN XMLTEX (Dirk) -% allow an explicit inheritance of attributes - -\gdef\XML@attrib@x#1#2{ - \gdef\XML@tempb##1#1##2##3##4\relax\relax{ - \global\let\inheritexplicit\relax - {\set@display@protect - \expandafter\ifx\csname#2\endcsname\inherit - \global\let\inheritexplicit\noexpand - \fi}% - \ifx\inheritexplicit\relax - \def##2{#2}% - \fi - ##1##4\relax\relax}} - -% test whether an attribute was explicitly set on an element - -\gdef\explicitattribute#1{ - { \expandafter\def\csname#1-test\endcsname{\global\def\isexplicit{1}} - \global\let\isexplicit\relax - \def\XML@doattribute##1##2##3{\csname##2-test\endcsname} - \the\XML@attribute@toks - } -} - \DeclareNamespace{fotex}{http://www.tug.org/fotex} \DeclareNamespace{fo}{http://www.w3.org/1999/XSL/Format} \def\string@autoauto{autoauto} @@ -56,33 +28,31 @@ \XMLstring\file@urlprefix<>url( \XMLstring\file@prefix<>file:// \XMLstring\file@shortprefix<>file: -\XMLstring\prop@width<>proportional-column-width(1) +\XMLstringX\prop@width<>proportional-column-width(1) \XMLstringX\@staticafter<>xsl-after \XMLstringX\@staticbefore<>xsl-before \XMLstringX\@staticstart<>xsl-start +\XMLstring\att@labelend<>label-end() +\XMLstring\att@bodystart<>body-start() \XMLstringX\att@NaN<>NaN -\XMLstringX\att@after<>after \XMLstringX\att@all<>all \XMLstringX\att@always<>always \XMLstringX\att@any<>any \XMLstringX\att@auto<>auto -\XMLstringX\att@autoeven<>auto-even \XMLstringX\att@autoodd<>auto-odd +\XMLstringX\att@autoeven<>auto-even +\XMLstringX\att@endonodd<>end-on-odd +\XMLstringX\att@endoneven<>end-on-even \XMLstringX\att@baseline<>baseline -\XMLstringX\att@before<>before -\XMLstringX\att@black<>black \XMLstringX\att@blank<>blank +\XMLstringX\att@black<>black \XMLstringX\att@bottom<>bottom \XMLstringX\att@centered<>center -\XMLstringX\att@endoneven<>end-on-even -\XMLstringX\att@endonodd<>end-on-odd -\XMLstringX\att@even<>even -\XMLstringX\att@evenpage<>even-page \XMLstringX\att@false<>false -\XMLstringX\att@first<>first \XMLstringX\att@first@starting@within@page<>first-starting-within-page -\XMLstringX\att@french<>french -\XMLstringX\att@last@starting@within@page<>last-starting-within-page +\XMLstringX\att@first<>first +\XMLstringX\att@even<>even +\XMLstringX\att@odd<>odd \XMLstringX\att@lr@tb<>lr-tb \XMLstringX\att@maximum<>maximum \XMLstringX\att@maximumuniform<>maximum-uniform @@ -92,7 +62,6 @@ \XMLstringX\att@none<>none \XMLstringX\att@normal<>normal \XMLstringX\att@nowrap<>no-wrap -\XMLstringX\att@odd<>odd \XMLstringX\att@oddpage<>odd-page \XMLstringX\att@page<>page \XMLstringX\att@page@sequence<>page-sequence @@ -101,28 +70,25 @@ \XMLstringX\att@relative<>relative \XMLstringX\att@repeat<>repeat \XMLstringX\att@replace<>replace -\XMLstringX\att@scaletofit<>scale-to-fit \XMLstringX\att@scroll<>scroll +\XMLstringX\att@scaletofit<>scale-to-fit \XMLstringX\att@show<>show \XMLstringX\att@smallcaps<>small-caps \XMLstringX\att@solid<>solid \XMLstringX\att@static<>static \XMLstringX\att@sub<>sub \XMLstringX\att@super<>super -\XMLstringX\att@thick<>thick -\XMLstringX\att@thin<>thin -\XMLstringX\att@tiny<>true \XMLstringX\att@top<>top \XMLstringX\att@transparent<>transparent \XMLstringX\att@true<>true +\XMLstringX\att@tiny<>true +\XMLstringX\att@thin<>thin +\XMLstringX\att@thick<>thick \XMLstringX\att@uniform<>uniform \XMLstringX\att@use@font@metrics<>use-font-metrics \XMLstringX\att@visible<>visible \XMLstringX\att@xsl@any<>xsl-any -\XMLstringX\att@xsl@footnote@separator<>xsl-footnote-separator \XMLstringX\att@yes<>yes -\XMLstring\att@bodystart<>body-start() -\XMLstring\att@labelend<>label-end() \XMLstringX\leader@pattern@space<>space \XMLstringX\leader@pattern@rule<>rule \XMLstringX\leader@pattern@dots<>dots @@ -383,17 +349,15 @@ % | | inherit \XMLnamespaceattributeX{fo}{last-line-end-indent}{\FOlastlineendindent}{\inherit} %none | reference-area | page | inherit - \XMLnamespaceattribute{fo}{leader-length.maximum}{\FOleaderlengthmaximum}{\textwidth} -% leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100percent - \XMLnamespaceattributeX{fo}{leader-alignment}{\FOleaderalignment}{\inherit} - \XMLnamespaceattributeX{fo}{leader-length}{\FOleaderlength}{\inherit} +\XMLnamespaceattributeX{fo}{leader-alignment}{\FOleaderalignment}{\inherit} +% | inherit +\XMLnamespaceattributeX{fo}{leader-length}{\FOleaderlength}{\inherit} %space | rule | dots | use-content | inherit - \XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} +\XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} %use-font-metrics | | inherit - \XMLnamespaceattributeX{fo}{leader-pattern-width}{\FOleaderpatternwidth}{\inherit} +\XMLnamespaceattributeX{fo}{leader-pattern-width}{\FOleaderpatternwidth}{\inherit} % | | auto | inherit - \XMLnamespaceattribute{fo}{leader-length.optimum}{\FOleaderlengthoptimum}{0pt} - \XMLnamespaceattributeX{fo}{leader-length.minimum}{\FOleaderlengthminimum}{\z@}\XMLnamespaceattributeX{fo}{left}{\FOleft}{auto} +\XMLnamespaceattributeX{fo}{left}{\FOleft}{auto} %normal | | | inherit \XMLnamespaceattributeX{fo}{letter-spacing}{\FOletterspacing}{\inherit} %auto | alphabetic | traditional @@ -638,7 +602,6 @@ % with namespaces. \XMLnamespaceattributeX{fo}{fotex:placement}{\FOkplacement}{} \XMLname{fo:inline-container}{\FOInlineContainer} -\XMLname{fo:footnote-body}{\FOFootnoteBody} \XMLname{fo:list-item-label}{\FOListItemLabel} \XMLname{fo:list-item-body}{\FOListItemBody} \XMLname{fo:table-cell}{\FOTableCell} @@ -661,7 +624,7 @@ \gdef\FOborderseparation{\z@} \gdef\FOborderspacing{\z@} \gdef\FOcaptionside{before} - \gdef\FOcolor{black} + \gdef\FOcolor{} \gdef\FOcountry{none} \gdef\FOdirection{ltr} \gdef\FOdisplayalign{auto} @@ -688,7 +651,7 @@ \gdef\FOlanguage{none} \gdef\FOlastlineendindent{\z@} \gdef\FOleaderalignment{none} - \gdef\FOleaderlength{} + \gdef\FOleaderlength{\z@} \gdef\FOleaderpattern{space} \gdef\FOleaderpatternwidth{} \gdef\FOletterspacing{normal} @@ -739,13 +702,12 @@ \gdef\FOkplacement{} \XMLelement{fo:root} - {\XMLnamespaceattributeX{fo}{fotex:spacing-style}{\FoTeXSpacingStyle}{normal}} + {} {\documentclass{article} \usepackage{fotex} \begin{document} \pagestyle{empty} \FOSetHyphenation - \FoTeXSetSpacingStyle %\ignorewhitespace } {\end{document}} @@ -797,60 +759,53 @@ \XMLelement{fo:block} {\SpaceAttributes} {% - \ifx\FOspan\att@all - \ifnum\NColumns>1\relax - \interendmulticols - \fi - \fi - \ifnum\FOwidows>1\relax\widowpenalty10000\relax\else\widowpenalty0\relax\fi - \ifnum\FOorphans>1\relax\clubpenalty10000\relax\else\clubpenalty0\relax\fi \FOBlockGrabfalse \FOexpandattributes \FOSetHyphenation - \ifFOinOutput + %\edef\SavedNColumns{\NColumns} + \ifx\XML@parent\FOListItemLabel + \def\w@t{\FOListBlock}% + \def\@whattodonext{\FOEndBlock}% + \else + \ifFOinOutput \ifx\FObackgroundcolor\att@transparent \ifx\FOborderstyle\att@solid - \FOBlockGrabtrue + \FOBlockGrabtrue \fi \else - \FOBlockGrabtrue + \FOBlockGrabtrue \fi \def\w@t{\FOOutputBlock}% \def\@whattodonext{\FOEndOutputBlock}% - \DEBUG{Start of Output Block, \expandafter\meaning\w@t, \expandafter\meaning\@whattodonext}% - \else - \ifx\XML@parent\FOListItemLabel - \def\w@t{\FOListBlock}% - \def\@whattodonext{\FOEndBlock}% - \else + \else % we care if a block is inside a table cell - \ifnum\FOinTable>1\relax - \FOinTable1\relax - \def\w@t{\FOBoxedBlock{\CurrentCellWidth}}% - \def\@whattodonext{\FOEndBoxedBlock} - \else + \ifnum\FOinTable>\z@ + \def\w@t{\FOBoxedBlock{\CurrentCellWidth}}% + \def\@whattodonext{\FOEndBoxedBlock} + \else % we care if a block is a second or subsequent child of a list body - \ifx\XML@parent\FOListItemBody - \global\advance\FOListBlocks by 1\relax% - \ifnum\FOListBlocks<2\relax\else\FOListInnerPartrue\fi - \else + \ifx\XML@parent\FOListItemBody + \global\advance\FOListBlocks by 1% + \ifnum\FOListBlocks=1\relax\else\FOListInnerPartrue\fi + \else % but also if its nested within a list body block - \ifFOListBody - \FOListInnerPartrue - \fi - \fi - \ifx\FObackgroundcolor\att@transparent - \ifx\FOborderstyle\att@solid - \FOBlockGrabtrue - \fi - \else - \FOBlockGrabtrue - \fi - \def\@whattodonext{\FOEndBlock} - \def\w@t{\FONormalBlock}% + \ifFOListBody + \FOListInnerPartrue + \fi \fi - \fi + \ifx\FObackgroundcolor\att@transparent + \ifx\FOborderstyle\att@solid + \FOBlockGrabtrue + \fi + \else + \FOBlockGrabtrue + \fi + \def\@whattodonext{\FOEndBlock} + \def\w@t{\FONormalBlock}% + \fi + \fi \fi +%\typeout{Block \the\inputlineno, \meaning\w@t, \meaning\@whattodonext}% \w@t \ifx\FOkeeptogether\att@always\samepage\fi \ifx\FOkeeptogetherColumn\att@always\samepage\fi @@ -861,11 +816,6 @@ \ifx\FOkeeptogetherColumn\att@always\samepage\fi \ifx\FOkeeptogetherPage\att@always\samepage\fi \@whattodonext - \ifx\FOspan\att@all - \ifnum\NColumns>1\relax - \interbeginmulticols{\NColumns}% - \fi - \fi } \XMLelement{fo:character} @@ -880,9 +830,9 @@ \XMLelement{fo:external-graphic} { %auto | | | inherit -\XMLattributeX{content-height}{\FOcontentheight}{auto} +\XMLattribute{content-height}{\FOcontentheight}{auto} %auto | | | inherit -\XMLattributeX{content-width}{\FOcontentwidth}{auto} +\XMLattribute{content-width}{\FOcontentwidth}{auto} } { {\utfeight@protect@chars\expandafter\FOfiletest\FOsrc\@empty\@empty\@empty\@empty\@empty\@empty\@empty\@}% @@ -902,12 +852,12 @@ \fi \fi \ifx\FOcontentwidth\att@scaletofit - \setkeys{Gin}{width=\hsize}% + \setkeys{Gin}{width=\linewidth}% \else \ifx\FOcontentwidth\att@auto\else\FOSetGWidth\fi \fi \ifx\FOcontentheight\att@scaletofit - \setkeys{Gin}{height=\vsize}% + \setkeys{Gin}{height=\textheight}% \else \ifx\FOcontentheight\att@auto\else\FOSetGHeight\fi \fi @@ -940,66 +890,131 @@ \XMLelement{fo:flow} {} - {\global\SimplePMRefs1\relax - \FOSetHyphenation - \ifnum\PrevNColumns>1\relax - \else - \clearpage - \fi + {\FOSetHyphenation + \clearpage \DEBUG{New page, \the\c@page, \PageNumber}% \ifx\PageNumber\att@auto \else - \ifx\PageNumber\att@autoeven - \ifodd\c@page - \BlankPage - \fi - \else - \ifx\PageNumber\att@autoodd - \ifodd\c@page - \else - \BlankPage - \fi - \else - \setcounter{page}{\PageNumber}% - \fi - \fi - \fi + \ifx\PageNumber\att@autoeven + \ifodd\c@page\hbox{}\newpage\fi + \else + \ifx\PageNumber\att@autoodd + \ifodd\c@page\else\hbox{}\newpage\fi + \else + \setcounter{page}{\PageNumber}% + \fi + \fi + \fi \ifx\@empty\pendingID\else \@bsphack \protected@write\@mainaux{}% - {\string\newlabel{\pendingID}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{}{}}}% + {\string\newlabel{\pendingID}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{\pendingID}{}}}% \@esphack \hyper@@anchor{\pendingID}{\relax}% \global\let\pendingID\@empty \fi - \DEBUG{^^JStart page sequence, using layout \CurrentPageMaster, at page \the\c@page}% + \DEBUG{^^JStart page sequence, using layout \CurrentPageMaster, at page \the\c@page} - \setaccordingtomaster - \xdef\PrevNColumns{\NColumns}% - \ForcePageSetuptrue - \ifnum\NColumns>1\relax - \nobeginmulticols{\NColumns}% - \fi + \@ifundefined{Atomic:\CurrentPageMaster} + { + \@ifundefined{First:\CurrentPageMaster} + { + \ifx\FOinitialpagenumber\att@auto + \ifodd\c@page + \DEBUG{Master \CurrentPageMaster: no first page, use odd page} + \edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} + \else + \DEBUG{Master \CurrentPageMaster: no first page, use even page} + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} + \fi + \else + \ifx\FOinitialpagenumber\att@autoeven + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} + \else + \ifx\FOinitialpagenumber\att@autoodd + \edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} + \else + \ifodd\FOinitialpagenumber + \edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} + \else + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} + \fi + \fi + \fi + \fi + } + { + \edef\PFirst{\csname First:\CurrentPageMaster\endcsname} + } + \@ifundefined{Blank:\CurrentPageMaster} + {\edef\PBlank{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PBlank{\csname Blank:\CurrentPageMaster\endcsname}} + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PEven{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PEven{\csname Even:\CurrentPageMaster\endcsname}} + \edef\POdd{\csname Odd:\CurrentPageMaster\endcsname} + } + { + \let\PFirst\CurrentPageMaster + \let\PBlank\CurrentPageMaster + \let\POdd\CurrentPageMaster + \let\PEven\CurrentPageMaster + } + \DEBUG{ first page master is [\PFirst]} + \DEBUG{ odd page master is [\POdd]} + \DEBUG{ even page master is [\PEven]} + \DEBUG{ blank page master is [\PBlank]} + \expandafter\Pass\csname\POdd:xsl-region-body\endcsname\\ + \csname Atomic:\POdd\endcsname + \oddsidemargin\MasterLeftMargin + \evensidemargin\MasterLeftMargin + \advance\evensidemargin by \SpecialOffset + \advance\oddsidemargin by \SpecialOffset + \@ifundefined{Atomic:\PEven}{\DEBUG{no master for Atomic:\PEven}} + {\csname Atomic:\PEven\endcsname + \evensidemargin\MasterLeftMargin + \advance\evensidemargin by \SpecialOffset + } + \edef\EvenHeadExtent{\csname\PEven:before-extent\endcsname} + \edef\EvenHead{Static:\csname\PEven:before\endcsname} + \edef\EvenTailExtent{\csname\PEven:after-extent\endcsname} + \edef\EvenTail{Static:\csname\PEven:after\endcsname} + \edef\FirstHeadExtent{\csname\PFirst:before-extent\endcsname} + \edef\FirstHead{Static:\csname\PFirst:before\endcsname} + \edef\FirstTailExtent{\csname\PFirst:after-extent\endcsname} + \edef\FirstTail{Static:\csname\PFirst:after\endcsname} + \edef\OddHeadExtent{\csname\POdd:before-extent\endcsname} + \edef\OddHead{Static:\csname\POdd:before\endcsname} + \edef\OddTailExtent{\csname\POdd:after-extent\endcsname} + \edef\OddTail{Static:\csname\POdd:after\endcsname} + \edef\BlankHeadExtent{\csname\PBlank:before-extent\endcsname} + \edef\BlankHead{Static:\csname\PBlank:before\endcsname} + \edef\BlankTailExtent{\csname\PBlank:after-extent\endcsname} + \edef\BlankTail{Static:\csname\PBlank:after\endcsname} + \FOSetPage + \ifnum\NColumns>1\begin{multicols}{\NColumns}\fi % \ifnum\NColumns>1\MulticolPendingtrue % \begin{multicols}{\NColumns}\fi } { - \ForcePageSetupfalse - \ifnum\NColumns>1\relax - \noendmulticols - \else - \clearpage - \fi + \ifnum\NColumns>1\end{multicols}\fi + \clearpage \ifx\ForcePage\att@auto \else % remember that we'll do a \clearpage next time anyway. % so leave here on wrong sort of page \ifx\ForcePage\att@endoneven - \ifodd\c@page\else\BlankPage\fi + \ifodd\c@page\else\BlankPage\newpage\fi \else \ifx\ForcePage\att@endonodd - \ifodd\c@page\BlankPage\fi + \ifodd\c@page\BlankPage\newpage\fi \fi \fi \fi @@ -1014,7 +1029,7 @@ \XMLelement{fo:footnote} {} {\xmlgrab} - {\FOSaveFontSize\xmltextwochildren\FOplainfootmark\FOfoottext#1} + {\xmltextwochildren\FOplainfootmark\FOplainfoottext#1} \XMLelement{fo:page-number-citation} {\XMLattributeX{ref-id}{\FOrefid}{}} @@ -1022,15 +1037,14 @@ {\fopagecitation} \XMLelement{fotex:sort} - {\XMLattributeX{range-char}{\FOrangechar}{\textendash}} + {} {\let\fopagecitation\fosortpagecitation \global\sorttoks{}} {\global\sortcount-2\let\@elt\focompress@elt \let\fosep\@empty \let\foheld\relax \the\sorttoks - \ifx\foheld\relax\else\FOrangechar\fi\foheld - } + \foheld} \XMLelement{fo:wrapper} {} @@ -1042,47 +1056,28 @@ { \leavevmode \ifx\FOleaderpattern\leader@pattern@rule - \ifx\FOrulestyle\rule@style@dashed - \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu-\mkern1.5mu$}\hfil}% - \else - \ifx\FOrulestyle\rule@style@dotted - \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil}% - \else - \ifdim\FOrulethickness>\z@ - \def\w@t{\leaders\hrule height \FOrulethickness\hfill}% - \else - \def\w@t{\hfill}% - \fi - \fi - \fi -\else - \ifx\FOleaderpattern\leader@pattern@dots - \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}% - \else % space - \def\w@t{\hfill}% - \fi -\fi -\ifx\@empty\FOleaderlength - \PercentToDimen{\FOleaderlengthoptimum}% - \edef\leaderopt{\the\@tempdima}% - \PercentToDimen{\FOleaderlengthminimum}% - \edef\leadermin{\the\@tempdima}% - \PercentToDimen{\FOleaderlengthmaximum}% - \edef\leadermax{\the\@tempdima}% - \@tempdima\leaderopt\relax - \advance\@tempdima-\leadermin\relax - \@tempdimb\leadermax\relax - \advance\@tempdimb-\leaderopt\relax - \LeaderLength\leaderopt plus \@tempdimb minus \@tempdima\relax -\else - \PercentToDimen{\FOleaderlength}% - \LeaderLength\@tempdima\relax -\fi -\ifdim\LeaderLength=\z@ - \w@t + \ifx\FOrulestyle\rule@style@dashed + \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu-\mkern1.5mu$}\hfil}% + \else + \ifx\FOrulestyle\rule@style@dotted + \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil}% + \else + \ifdim\FOrulethickness>\z@ + \def\w@t{\leaders\hrule height \FOrulethickness\hfill}% + \else + \def\w@t{\hfill}% + \fi + \fi + \fi \else - \hbox to \LeaderLength{\w@t}% + \ifx\FOleaderpattern\leader@pattern@dots + \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}% + \else % space + \def\w@t{\hfill}% + \fi \fi +\PercentToDimen{\FOleaderlength}% +\ifdim\@tempdima=\z@\w@t\else\hbox to \@tempdima{\w@t}\fi } {} @@ -1129,29 +1124,27 @@ \XMLelement{fo:list-block} {\SpaceAttributes} - {\ifx\FOstartindent\att@bodystart + { + \ifx\FOstartindent\att@bodystart \let\FOstartindent\z@ \fi \ifx\FOendindent\att@labelend \let\FOendindent\z@ \fi - %\FOSetFont{normal}% + \FOSetFont{normal}% \advance\FOinList by 1\relax - %\ifnum\FOinList>1\relax\leavevmode\fi - \edef\This@LineWidth{\the\linewidth}% + \ifnum\FOinList>1\relax\leavevmode\fi \begin{list}{}{% \itemindent=\FOstartindent - \PercentToDimen{\FOprovisionaldistancebetweenstarts}% - \leftmargin=\@tempdima\relax + \leftmargin=\FOprovisionaldistancebetweenstarts \advance\leftmargin by \FOmarginleft \rightmargin=\FOmarginright - \labelwidth=\@tempdima\relax + \labelwidth=\FOprovisionaldistancebetweenstarts \advance\labelwidth by -\FOprovisionallabelseparation \expandafter\csname List\FOtextalign\endcsname \labelsep\FOprovisionallabelseparation \itemsep\z@ \parsep\z@ - \partopsep\z@ \topsep\z@ \parskip\z@ \ifx\@empty\FOspacebefore @@ -1163,13 +1156,11 @@ \else \topsep\FOspacebefore \fi - }% - \edef\This@LineWidth{\the\linewidth}% - } - {\end{list}% - \global\linewidth\This@LineWidth\relax - \advance\FOinList by -1\relax -% \par + } + } + {\end{list} + \advance\FOinList by -1 + \par } \XMLelement{fo:list-item-body} @@ -1177,9 +1168,8 @@ {\ifx\FOstartindent\att@bodystart \let\FOstartindent\z@ \fi - \edef\This@FOListBlocks{\the\FOListBlocks}% - \FOListBodytrue\global\FOListBlocks0} - {\global\FOListBlocks\This@FOListBlocks\relax} + \FOListBodytrue\FOListBlocks0} + {} \XMLelement{fo:list-item-label} {} @@ -1194,7 +1184,8 @@ \XMLelement{fo:list-item} {\SpaceAttributes} - {\FOSetHyphenation + { + \FOSetHyphenation \ifx\@empty\FOspacebefore \@tempdima\FOspacebeforeoptimum \advance\@tempdima by -\FOspacebeforeminimum @@ -1202,7 +1193,7 @@ \advance\@tempdimb by \FOspacebeforemaximum \vskip\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima \else - \ifdim\FOspacebefore=0pt\relax\else\vskip\FOspacebefore\fi + \vskip\FOspacebefore \fi \FOlabel} {} @@ -1325,7 +1316,6 @@ \end{sidewaystable} \fi \fi - \NoTableFinish } \XMLelement{fo:table-body} @@ -1333,7 +1323,6 @@ { \FOFirstCelltrue \FOinTable1 - \saveinterlineskip \expandafter\NoTableStart{\TableHeader}% } { @@ -1357,14 +1346,11 @@ {\xmlgrab} {\FOlabel \FOexpandattributes - \FOinTable2 \NoTableCell{#1}} \XMLelement{fo:table-column} - { - \XMLattributeX{text-align}{\FOtextalign}{\inherit} - } + {} { \@tempcnta0 \loop\ifnum\FOnumbercolumnsrepeated>\@tempcnta @@ -1387,20 +1373,14 @@ \XMLelement{fo:table} {} { - \FOexpandattributes \global\ColSpecs={}\NCols0 \TableWidth\linewidth \advance\TableWidth by -\FOmarginleft \advance\TableWidth by -\FOmarginright \gdef\TableHeader{} \NoTableSetup - \vbox\bgroup\FOBorderTop -% \vskip2\lineskip - - } - {\FOBorderBottom\egroup - \NoTableFinish } + {} \XMLelement{fo:inline} {} @@ -1412,7 +1392,9 @@ \fi \FOlabel \ifx\FOborderstyle\att@solid - \interpretwidth + \ifx\FOborderwidth\att@thin\def\FOborderwidth{0.4pt}\fi + \ifx\FOborderwidth\att@medium\def\FOborderwidth{0.8pt}\fi + \ifx\FOborderwidth\att@thick\def\FOborderwidth{1.2pt}\fi \FOboxedsequence{#1}% \else \FO@inlinesequence{#1}% @@ -1457,13 +1439,13 @@ {\xmlgrab} {\begingroup \utfeight@protect@chars -\ifx\FOretrieveposition\att@first@starting@within@page - \xdef\FOthismark{\firstmark}% +\ifx\FOretrieveposition\FirstOnPage + \xdef\FOthismark{\topmark}% \else - \ifx\FOretrieveposition\att@last@starting@within@page + \ifx\FOretrieveposition\LastOnPage \xdef\FOthismark{\botmark}% \else - \xdef\FOthismark{\firstmark}% + \xdef\FOthismark{\topmark}% \fi \fi \xdef\FOthisretrieveclassname{\FOretrieveclassname} @@ -1518,23 +1500,21 @@ \XMLelement{fo:page-sequence-master} {} - {\global\SimplePMRefs0\relax + { \DEBUG{Page sequence master: \FOmastername} \let\Granpa\FOmastername } - {\global\SimplePMRefs0\relax} + {} \XMLelement{fo:single-page-master-reference} {} - {\global\advance\SimplePMRefs1\relax - \DEBUG{ (single page \the\SimplePMRefs\space in \Granpa: use master \FOmasterreference)} + {\DEBUG{ (single page in \Granpa: use master \FOmasterreference)} \begingroup \utfeight@protect@chars - \expandafter\xdef\csname Lead:\the\SimplePMRefs:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} \endgroup } {} @@ -1544,10 +1524,10 @@ {\DEBUG{ (multiple pages in \Granpa: use master \FOmasterreference)} \begingroup \utfeight@protect@chars -% \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} - \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} \endgroup } {} @@ -1623,18 +1603,18 @@ \expandafter\xdef\csname\FOMaster:after-extent\endcsname{\FOextent} } { -% \ifdim\InnerTopMargin>\FOmargintop\def\FOmargintop{\InnerTopMargin}\fi -% \ifdim\InnerBottomMargin>\FOmarginbottom\def\FOmarginbottom{\InnerBottomMargin}\fi -% \ifdim\InnerRightMargin>\FOmarginright\def\FOmarginright{\InnerRightMargin}\fi -% \ifdim\InnerLeftMargin>\FOmarginleft\def\FOmarginleft{\InnerLeftMargin}\fi + \ifdim\InnerTopMargin>\FOmargintop\def\FOmargintop{\InnerTopMargin}\fi + \ifdim\InnerBottomMargin>\FOmarginbottom\def\FOmarginbottom{\InnerBottomMargin}\fi + \ifdim\InnerRightMargin>\FOmarginright\def\FOmarginright{\InnerRightMargin}\fi + \ifdim\InnerLeftMargin>\FOmarginleft\def\FOmarginleft{\InnerLeftMargin}\fi \DEBUG{Define page master \FOmargin, \FOMaster, \FOmarginright/\FOmarginleft} \begingroup \utfeight@protect@chars \expandafter\xdef\csname Atomic:\FOMaster\endcsname{ - \MasterTopMargin\FOmargintop\advance\MasterTopMargin\InnerTopMargin\relax - \MasterBottomMargin\FOmarginbottom\advance\MasterBottomMargin\InnerBottomMargin\relax - \MasterRightMargin\FOmarginright\advance\MasterRightMargin\InnerRightMargin\relax - \MasterLeftMargin\FOmarginleft\advance\MasterLeftMargin\InnerLeftMargin\relax + \MasterTopMargin\FOmargintop + \MasterBottomMargin\FOmarginbottom + \MasterRightMargin\FOmarginright + \MasterLeftMargin\FOmarginleft \paperwidth\FOpagewidth \paperheight\FOpageheight } diff --git a/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty b/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty index 522f7a6296e..72fc5ade4c6 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty +++ b/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty @@ -1,10 +1,10 @@ -%% File: $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty#1 $ $Date: 2004/02/09 $ Copyright 1999 Sebastian Rahtz +%% File: $Id: //depot/Master/texmf/tex/xmltex/passivetex/mlnames.sty#20 $ $Date: 2002/06/25 $ Copyright 1999 Sebastian Rahtz %% %% This package may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. %% -\ProvidesPackage{mlnames}[2002/07/31, some XSL and Unicode support material, Sebastian Rahtz] +\ProvidesPackage{mlnames}[2001/01/10, some XSL and Unicode support material, Sebastian Rahtz] % \DeclareFontFamily{T1}{pzd}{} \DeclareFontShape{T1}{pzd}{m}{n}{<->pzdr}{} @@ -137,7 +137,7 @@ \def\Weight@medium{} \def\Weight@normal{} \def\Weight@semibold{sb} -\def\Weight@bold{b} +\def\Weight@bold{bx} \def\Weight@extrabold{eb} \def\Weight@ultrabold{ub} \def\Weight@false{} @@ -252,8 +252,6 @@ \def\L@SH{\selectlanguage{serbocroat}} \def\L@SI{\selectlanguage{slovene}} \def\L@SK{\selectlanguage{slovak}} -\expandafter\def\csname L@en_GB\endcsname{\selectlanguage{ukenglish}} -\expandafter\def\csname L@en_US\endcsname{\selectlanguage{english}} \def\L@US{\selectlanguage{english}} \def\L@none{\selectlanguage{english}} \def\L@br{\selectlanguage{portuguese}} @@ -353,16 +351,9 @@ \let\Q@justify\Q@justified \let\startQ@\startQ@justified \let\endQ@\endQ@justified - \def\Q@end{% raggedleft, I hope -% \let\newline\@centercr -% \leftskip\StartIndent plus 1fill% -% \parfillskip\z@skip -% \let\newline\@centercr - \leftskip\StartIndent plus 1fill % - \rightskip\EndIndent - \@rightskip\rightskip + \leftskip\StartIndent plus 1fil% \parfillskip\z@skip } \def\Q@centered{% @@ -374,9 +365,9 @@ } \def\Q@center{% \let\newline\@centercr - \rightskip-\StartIndent plus 1fill% + \rightskip-\StartIndent plus 1fil% \@rightskip\rightskip - \leftskip-\EndIndent plus 1fill% + \leftskip-\EndIndent plus 1fil% \parfillskip\z@skip } \let\Q@left\Q@start diff --git a/Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty b/Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty deleted file mode 100644 index be1105f0fab..00000000000 --- a/Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty +++ /dev/null @@ -1,1065 +0,0 @@ -%% -%% This is file `nomulticol.sty', -%% a tweak in package multicol.sty [2000/07/10 v1.5z multicolumn formatting (FMi)] -%% Tweaked by Dirk Roorda 2003/01/09 -%% -%% purpose: to have the \begin{multicols} \end{multicols} functionality without -%% putting the material inside a group -%% -%% reason: in PassiveTeX a fo:flow is embedded in a multicols environment. -%% But the fo:block span="all" must be able to interrupt this. -%% However, sayin \end{multicols} just before and \begin{multicols}{N} just after -%% does not work, because it makes the attributes, set between the start of the flow -%% and the beginning of the block, invisible. -%% That's why a grouping-transparent multicol setup is needed. -%% -%% method: -%% providing macros \nobeginmulticols \noendmulticols that do essentially the same -%% but do not create a group. -%% I just removed the crucial \begingroup and \endgroup from \mult@@cols and \endmulticols. -%% Instead of relying on the TeX group restore mechanism, I have added macros -%% \save@mult@settings and \restore@mult@settings to mimick the grouping as far -%% as the settings for the multicol package are concerned. - -%% -%% This is file `multicol.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% multicol.dtx (with options: `package,badness,check,marktrace,nobalance,colbreak') -%% -%% This is a generated file. -%% -%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 -%% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% -%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -%% -------------------------------------------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.2 -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -%% -%% This file may only be distributed together with a copy of the LaTeX -%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' -%% without such generated files. -%% -%% The list of all files belonging to the LaTeX `Tools Bundle' is -%% given in the file `manifest.txt'. -%% -%% Package `multicol' to use with LaTeX2e -%% Copyright 1989-2000 Frank Mittelbach -%% -%% In addition to the terms of LPPL any distributed version -%% (unchanged or modified) of multicol has to keep the statement -%% about the moral obligation for using multicol. In case of major -%% changes where this would not be appropriate the author of the -%% changed version should contact the copyright holder. -%% -%% -%% Moral obligation for using multicol: -%% ------------------------------------ -%% -%% Users of multicol who wish to include or use multicol or a modified -%% version in a proprietary and commercially market product are asked -%% under certain conditions (see below) for the payment of a license -%% fee. The size of this fee is to be determined, in each instance, -%% by the commercial user, depending on his/her judgment of the value of -%% multicol for his/her product. -%% -%% -%% The conditions for this are as follows: -%% -%% The producer of a proprietary and commercially market product -%% that involves typesetting using multicol is asked to determine -%% the value of a license fee for using multicol if -%% -%% - the product is a document and the producer has decided to -%% include multicol to typeset (parts of) the document or has -%% directed the author of the document to include multicol (for -%% example, by providing a class file to be used by the author) -%% -%% - the product is a LaTeX class or package that includes multicol -%% -%% -%% There is no moral obligation in case -%% -%% - the product is a document but producer has not directed -%% the author to include multicol (in that case the moral obligation -%% lies with the author of the document) -%% -%% - the product does not involve typesetting, e.g., consists, for -%% example, of distributing multicol and its documentation. -%% -%% - the product is not proprietary, i.e., is made available as free -%% software itself (which doesn't prohibit its commercial marketing) -%% -%% - multicol is used for non-commercial purposes -%% -%% -%% Determinating a license fee might result in a license fee of zero -%% (i.e., no payment) in case a producer has determined that the use -%% of multicol has no enhancing effect on the product. This is a -%% plausible scenario, i.e., in the above two cases the producer is -%% only asked to evaluate the value of multicol for the product -%% not for the payment of a license fee per se (which might or might -%% not follow from this evaluation). -%% -%% The license fee, if any, can be payed either to the LaTeX3 fund -%% (see ltx3info.txt in the base LaTeX distribution) or to the author of -%% the program who can be contacted at -%% -%% Frank.Mittelbach@latex-project.org -%% -\NeedsTeXFormat{LaTeX2e}[1997/12/01] -\ProvidesPackage{nomulticol} - [2003/01/09 v1.5z multicolumn formatting (FMi)] -%% \CheckSum{1451} -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -\DeclareOption{twocolumn} - {\PackageWarning{nomulticol}{May not work - with the twocolumn option}} -\newcount\c@tracingmulticols -\DeclareOption{errorshow} - {\c@tracingmulticols\z@} -\DeclareOption{infoshow} - {\c@tracingmulticols\@ne} -\DeclareOption{balancingshow} - {\c@tracingmulticols\tw@} -\DeclareOption{markshow} - {\c@tracingmulticols\thr@@} -\DeclareOption{debugshow} - {\c@tracingmulticols5\relax} -\ProcessOptions - -%% -%% Start Additions by Dirk Roorda -%% - -\def\show@mult@settings{% - \typeout{LINEWIDTH=SAVED=\sav@linewidth; CURRENT=\the\linewidth}% - \typeout{COLUMNWIDTH=SAVED=\sav@columnwidth; CURRENT=\the\columnwidth}% - \typeout{FULL@WIDTH=SAVED=\sav@full@width; CURRENT=\the\full@width}% - \typeout{HSIZE=SAVED=\sav@hsize; CURRENT=\the\hsize}% - \typeout{VSIZE=SAVED=\sav@vsize; CURRENT=\the\vsize}% - \typeout{BASELINESKIP=SAVED=\sav@baselineskip; CURRENT=\the\baselineskip}% - \typeout{EMERGENCYSTRETCH=SAVED=\sav@emergencystretch; CURRENT=\the\emergencystretch}% - \typeout{PRETOLERANCE=SAVED=\sav@pretolerance; CURRENT=\the\pretolerance}% - \typeout{TOLERANCE=SAVED=\sav@tolerance; CURRENT=\the\tolerance}% - \typeout{HBADNESS=SAVED=\sav@hbadness; CURRENT=\the\hbadness}% - \typeout{VBADNESS=SAVED=\sav@vbadness; CURRENT=\the\vbadness}% - \typeout{PARSHAPE=SAVED=\sav@parshape; CURRENT=\the\parshape}% - \typeout{@TOTALLEFTMARGIN=SAVED=\sav@totalleftmargin; CURRENT=\the\@totalleftmargin}% - \typeout{MULTICOL@LEFTMARGIN=SAVED=\sav@multicol@leftmargin; CURRENT=\the\multicol@leftmargin}% - \typeout{@COLROOM=SAVED=\sav@colroom; CURRENT=\the\@colroom}% - \typeout{DOUBLECOL@NUMBER=SAVED=\sav@doublecol@number; CURRENT=\the\doublecol@number}% - \typeout{@TEMPDIMA=SAVED=\sav@tempdima; CURRENT=\the\@tempdima}% - \typeout{FOOTINS=SAVED=\sav@count@footins; CURRENT=\the\count\footins}% - \typeout{FOOTINS=SAVED=\sav@skip@footins; CURRENT=\the\skip\footins}% -% - \typeout{COL@NUMBER=SAVED=\sav@col@number; CURRENT=\the\col@number}% - \typeout{PAGE@FREE=SAVED=\sav@page@free; CURRENT=\the\page@free}% - \typeout{@TEMPSKIPA=SAVED=\sav@tempskipa; CURRENT=\the\@tempskipa}% -} - -\def\explain@mult@settings{% - \typeout{linewidth=\meaning\linewidth}% - \typeout{columnwidth=\meaning\columnwidth}% - \typeout{full-width=\meaning\full@width}% - \typeout{hsize=\meaning\hsize}% - \typeout{vsize=\meaning\vsize}% - \typeout{baselineskip=\meaning\baselineskip}% - \typeout{emergencystretch=\meaning\emergencystretch}% - \typeout{pretolerance=\meaning\pretolerance}% - \typeout{tolerance=\meaning\tolerance}% - \typeout{hbadness=\meaning\hbadness}% - \typeout{vbadness=\meaning\vbadness}% - \typeout{parshape=\meaning\parshape}% - \typeout{-totalleftmargin=\meaning\@totalleftmargin}% - \typeout{multicol-leftmargin=\meaning\multicol@leftmargin}% - \typeout{-colroom=\meaning\@colroom}% - \typeout{doublecol-number=\meaning\doublecol@number}% - \typeout{-tempdima=\meaning\@tempdima}% - \typeout{-tempskipa=\meaning\@tempskipa}% - \typeout{page-free=\meaning\page@free}% - \typeout{col-number=\meaning\col@number}% -} - -\def\save@mult@settings{% - \xdef\sav@linewidth{\the\linewidth}% - \xdef\sav@columnwidth{\the\columnwidth}% - \xdef\sav@full@width{\the\full@width}% - \xdef\sav@hsize{\the\hsize}% - \xdef\sav@vsize{\the\vsize}% - \xdef\sav@baselineskip{\the\baselineskip}% - \xdef\sav@emergencystretch{\the\emergencystretch}% - \xdef\sav@pretolerance{\the\pretolerance}% - \xdef\sav@tolerance{\the\tolerance}% - \xdef\sav@hbadness{\the\hbadness}% - \xdef\sav@vbadness{\the\vbadness}% - \xdef\sav@parshape{\the\parshape}% - \xdef\sav@totalleftmargin{\the\@totalleftmargin}% - \xdef\sav@multicol@leftmargin{\the\multicol@leftmargin}% - \xdef\sav@colroom{\the\@colroom}% - \xdef\sav@doublecol@number{\the\doublecol@number}% - \xdef\sav@tempdima{\the\@tempdima}% - \xdef\sav@count@footins{\the\count\footins}% - \xdef\sav@skip@footins{\the\skip\footins}% - \global\let\sav@dblfloat\@dblfloat - \global\let\sav@end@dblfloat\end@dblfloat - \xdef\sav@output{\the\output}% - \global\let\sav@reserved@c\reserved@c -% - \xdef\sav@col@number{\the\col@number}% - \xdef\sav@page@free{\the\page@free}% - \xdef\sav@tempskipa{\the\@tempskipa}% - \global\let\sav@reserved@a\reserved@a - \global\let\sav@reserved@b\reserved@b - \global\let\sav@reserved@d\reserved@d - \global\let\sav@let@token\@let@token - \global\let\sav@footnotetext\@footnotetext - \global\let\sav@orig@footnotetext\orig@footnotetext -} - -\def\restore@mult@settings{% - \global\linewidth\sav@linewidth\relax - \global\columnwidth\sav@columnwidth\relax - \global\full@width\sav@full@width\relax - \global\hsize\sav@hsize\relax - \global\vsize\sav@vsize\relax - \global\baselineskip\sav@baselineskip\relax - \global\emergencystretch\sav@emergencystretch\relax - \global\pretolerance\sav@pretolerance\relax - \global\tolerance\sav@tolerance\relax - \global\hbadness\sav@hbadness\relax - \global\vbadness\sav@vbadness\relax - \global\parshape\sav@parshape\relax - \global\@totalleftmargin\sav@totalleftmargin\relax - \global\multicol@leftmargin\sav@multicol@leftmargin\relax - \global\@colroom\sav@colroom\relax - \global\doublecol@number\sav@doublecol@number\relax - \global\@tempdima\sav@tempdima\relax - \global\count\footins\sav@count@footins\relax - \global\skip\footins\sav@skip@footins\relax - \global\let\@dblfloat\sav@dblfloat - \global\let\end@dblfloat\sav@end@dblfloat - \global\expandafter\output\expandafter{\sav@output}% - \global\let\reserved@c\sav@reserved@c -% - \global\col@number\sav@col@number\relax - \global\page@free\sav@page@free\relax - \global\@tempskipa\sav@tempskipa\relax - \global\let\reserved@a\sav@reserved@a - \global\let\reserved@b\sav@reserved@b - \global\let\reserved@d\sav@reserved@d - \global\let\@let@token\sav@let@token - \global\let\@footnotetext\sav@footnotetext - \global\let\orig@footnotetext\sav@orig@footnotetext -} - -\def\nobeginmulticols#1{% -\typeout{^^JSTART #1 COLUMNS}% - \save@mult@settings - \global\col@number#1\relax - \ifnum\col@number<\tw@ - \PackageWarning{multicol}% - {Using `\number\col@number' - columns doesn't seem a good idea.^^J - I therefore use two columns instead}% - \global\col@number\tw@ \fi - \ifnum\col@number>10 - \PackageError{multicol}% - {Too many columns}% - {Current implementation doesn't - support more than 10 columns.% - \MessageBreak - I therefore use 10 columns instead}% - \global\col@number10 \fi - \global\let\orig@footnotetext\@footnotetext - \long\gdef\@footnotetext##1{\begingroup - \columnwidth\textwidth - \orig@footnotetext{##1}\endgroup}% - \@ifnextchar[\nomult@cols{\nomult@cols[]}} - -\def\nomult@cols[#1]{\@ifnextchar[% - {\nomult@@cols{#1}}% - {\nomult@@cols{#1}[\premulticols]}} - -\def\nomult@@cols#1[#2]{% - \par - \ifinner \global\@boxedmulticolstrue - \else - \ifnum \doublecol@number>\z@ - \global\@boxedmulticolstrue - \fi - \fi - \mult@info\z@ - {Starting environment with - \the\col@number\space columns% - \if@boxedmulticols\MessageBreak - (boxed mode)\fi - }% - \enough@room{#2}% - #1\par\addvspace\multicolsep -% \begingroup - \prepare@multicols - \if@boxedmulticols - \global\setbox\mult@box\vbox\bgroup - \fi - \ignorespaces} - -\def\noendmulticols{\par - \if@boxedmulticols - \egroup - %\balance@columns - \return@nonemptymark{first}% - \kept@firstmark - \return@nonemptymark{bot}% - \kept@botmark - \page@sofar - \global\let\kept@firstmark\l@kept@firstmark - \global\let\kept@botmark\l@kept@botmark - \mult@info\tw@ - {Restore kept marks to\MessageBreak - first: \meaning\kept@firstmark - \MessageBreak bot\space\space: - \meaning\kept@botmark }% - \else - \penalty\z@ - \global\output{\balance@columns@out}\eject - \ifvbox\partial@page - \unvbox\partial@page\fi - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \mult@info\tw@ - {Make kept marks empty}% - \fi -% \@checkend{multicols}% -% \endgroup - \global\c@unbalance\z@ - \if@boxedmulticols\else - \reinsert@footnotes - \ifdim \pagegoal=\maxdimen - \global\vsize\@colroom - \else - \enough@room\postmulticols - \fi - \fi - \addvspace\multicolsep - \mult@info\z@ - {Ending environment - \if@boxedmulticols - \space(boxed mode)\fi - }% -\typeout{^^JSTOP \the\col@number\space COLUMNS}% - \restore@mult@settings -} - -%% -%% End Additions by Dirk Roorda -%% - -%% -%% The following code is unmodified, except that many local -%% statements have been globalized -%% - -\newif\if@boxedmulticols -\global\@boxedmulticolsfalse - -\newbox\mult@box - -\def\enough@room#1{% - \if@boxedmulticols\else - \par - \bgroup\@nobreakfalse\addpenalty\z@\egroup - \global\page@free\pagegoal - \global\advance\page@free -\pagetotal - \global\@tempskipa#1\relax - \mult@info\z@ - {Current page:\MessageBreak - height=% - \the\pagegoal: used \the\pagetotal - \space -> free=\the\page@free - \MessageBreak - needed \the\@tempskipa - \space(for #1)}% - \ifdim\page@free<#1\newpage \fi - \fi} - -\newif\ifmult@just@prepared - -\def\prepare@multicols{% - \global\multicol@leftmargin\@totalleftmargin - \global\@totalleftmargin\z@ - \global\parshape\z@ - \global\doublecol@number\col@number - \global\multiply\doublecol@number\tw@ - \global\advance\doublecol@number\mult@rightbox - \if@boxedmulticols - \global\let\l@kept@firstmark\kept@firstmark - \global\let\l@kept@botmark\kept@botmark - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \else - \nointerlineskip {\global\topskip\z@\null}% - \global\output{% - \global\setbox\partial@page\vbox - {% - \ifvoid\partial@page\else - \PackageError{multicol}% - {Error saving partial page}% - {The part of the page before - the multicols environment was - nearly full with^^Jthe result - that starting the environment - will produce an overfull - page. Some^^Jtext may be lost! - Please increase \premulticols - either generally or for this% - ^^Jenvironment by specifying a - suitable value in the second - optional argument to^^Jthe - multicols environment.} - \unvbox\partial@page - \box\last@line - \fi - \unvbox\@cclv - \global\setbox\last@line\lastbox - }% - \prep@keptmarks - \global\let\kept@topmark\firstmark - }\eject - \global\advance\@colroom-\ht\partial@page - \set@mult@vsize\relax - \global\output{\multi@column@out}% - \init@mult@footins - \reinsert@footnotes - \fi - \global\vbadness\@Mi \global\hbadness5000 - \global\tolerance\multicoltolerance - \global\pretolerance\multicolpretolerance - \setemergencystretch\col@number\hsize - \set@floatcmds - \global\advance\baselineskip\multicolbaselineskip - \global\hsize\linewidth \global\advance\hsize\columnsep - \global\advance\hsize-\col@number\columnsep - \global\divide\hsize\col@number - \global\full@width\linewidth - \global\linewidth\hsize - \global\columnwidth\hsize - \global\mult@just@preparedtrue -%\typeout{SETTING JUSTPREPARED to TRUE}% -} - -\def\refreshmulticols{% -%\typeout{REFRESH?}% - \ifmult@just@prepared -%\typeout{NO, JUSTPREPARED!}% - \else -%\typeout{YES}% - \global\multicol@leftmargin\@totalleftmargin - \global\@totalleftmargin\z@ - \global\parshape\z@ - \global\doublecol@number\col@number - \global\multiply\doublecol@number\tw@ - \global\advance\doublecol@number\mult@rightbox - \if@boxedmulticols - \global\let\l@kept@firstmark\kept@firstmark - \global\let\l@kept@botmark\kept@botmark - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \else - \nointerlineskip {\global\topskip\z@\null}% - \global\advance\@colroom-\ht\partial@page - \set@mult@vsize\relax - \init@mult@footins - % \reinsert@footnotes - \fi - \global\vbadness\@Mi \global\hbadness5000 - \global\tolerance\multicoltolerance - \global\pretolerance\multicolpretolerance - \setemergencystretch\col@number\hsize - \set@floatcmds - % \global\advance\baselineskip\multicolbaselineskip - \global\hsize\linewidth \global\advance\hsize\columnsep - \global\advance\hsize-\col@number\columnsep - \global\divide\hsize\col@number - \global\full@width\linewidth - \global\linewidth\hsize - \global\columnwidth\hsize - \global\mult@just@preparedtrue -%\typeout{SETTING JUSTPREPARED to TRUE}% - \fi -} - -\def\init@mult@footins{% - \global\multiply\count\footins\col@number - \global\multiply\skip \footins\col@number -} - -\def\set@mult@vsize#1{% - \global\vsize\@colroom - \global\@tempdima\baselineskip - \global\advance\@tempdima-\topskip - \global\advance\vsize\@tempdima - \global\vsize\col@number\vsize - \global\advance\vsize-\@tempdima - #1\global\advance\vsize\c@collectmore\baselineskip} - -\newdimen\multicol@leftmargin -\newcount\c@unbalance -\newcount\c@collectmore -\newcount\doublecol@number -\newcount\multicoltolerance -\newcount\multicolpretolerance -\newdimen\full@width -\newdimen\page@free -\newdimen\premulticols -\newdimen\postmulticols -\newskip\multicolsep -\newskip\multicolbaselineskip -\newbox\partial@page -\newbox\last@line -\global\c@unbalance = 0 -\global\c@collectmore = 0 -\global\col@number = 1 -\global\multicoltolerance = 9999 -\global\multicolpretolerance = -1 -\global\premulticols = 50pt -\global\postmulticols= 20pt -\global\multicolsep = 12pt plus 4pt minus 3pt -\global\multicolbaselineskip=0pt - -\def\process@cols#1#2{\global\count@#1\relax - \loop - #2% - \global\advance\count@\tw@ - \ifnum\count@<\doublecol@number - \repeat} - -\def\page@sofar{% - \process@cols\mult@rightbox - {\ifvoid\count@ - \setbox\count@\hbox to\hsize{}% - \else - \wd\count@\hsize - \fi}% - \mult@info\z@ - {Column spec:\MessageBreak - (\the\multicol@leftmargin\space --> - \the\full@width\space = \the\hsize - \space x \the\col@number)% - }% -\ifvmode\else\errmessage{Multicol Error}\fi - \moveright\multicol@leftmargin - \hbox to\full@width{% - \process@cols\mult@gfirstbox{\box\count@ - \hss{\normalcolor\vrule\@width\columnseprule}\hss}% - \box\mult@rightbox - \rlap{\phantom p}% - }% -} - -\def\reinsert@footnotes{\ifvoid\footins\else - \insert\footins{}\fi} - -\def\multi@column@out{% - \ifnum\outputpenalty <-\@M - \speci@ls - \else - \global\mult@just@preparedfalse -%\typeout{SETTING JUSTPREPARED TO FALSE}% - \ifvoid\colbreak@box - \else - \mult@info\@ne{Re-adding forced - break(s) for splitting}% - \setbox\@cclv\vbox{% - \unvbox\colbreak@box - \penalty-\@Mv\unvbox\@cclv}% - \fi - \splittopskip\topskip - \splitmaxdepth\maxdepth - \global\dimen@\@colroom - \global\divide\skip\footins\col@number - \ifvoid\footins - \else - \leave@mult@footins - \fi - \process@cols\mult@gfirstbox{% - \setbox\count@\vsplit\@cclv to\dimen@ - \set@keptmarks - \ifshr@nking - \setbox\count@\vbox to\dimen@{\unvbox\count@\vfill}% - \fi - }% - \global\setbox\mult@rightbox\vsplit\@cclv to\dimen@ - \set@keptmarks - \ifshr@nking - \global\setbox\mult@rightbox\vbox to\dimen@{\unvbox\mult@rightbox\vfill}% - \fi - \ifvoid\@cclv - \else - \unvbox\@cclv - \penalty\outputpenalty - \ifvoid\footins - \else - \PackageWarning{multicol}% - {I moved some lines to - the next page.\MessageBreak - Footnotes on page - \thepage\space might be wrong}% - \fi - \ifnum \c@tracingmulticols>\thr@@ - \hrule\allowbreak - \fi - \fi - \ifx\@empty\kept@firstmark - \global\let\firstmark\kept@topmark - \global\let\botmark\kept@topmark - \else - \global\let\firstmark\kept@firstmark - \global\let\botmark\kept@botmark - \fi - \global\let\topmark\kept@topmark - \mult@info\tw@ - {Use kept top mark:\MessageBreak - \meaning\kept@topmark - \MessageBreak - Use kept first mark:\MessageBreak - \meaning\kept@firstmark - \MessageBreak - Use kept bot mark:\MessageBreak - \meaning\kept@botmark - \MessageBreak - Produce first mark:\MessageBreak - \meaning\firstmark - \MessageBreak - Produce bot mark:\MessageBreak - \meaning\botmark - \@gobbletwo}% - \setbox\@cclv\vbox{\unvbox\partial@page\page@sofar}% - \@makecol\@outputpage - \global\let\kept@topmark\botmark - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \mult@info\tw@ - {(Re)Init top mark:\MessageBreak - \meaning\kept@topmark - \@gobbletwo}% - \global\@colroom\@colht - \process@deferreds - \@whilesw\if@fcolmade\fi{\@outputpage - \global\@colroom\@colht - \process@deferreds}% - \mult@info\@ne - {Colroom:\MessageBreak - \the\@colht\space - after float space removed - = \the\@colroom \@gobble}% - \set@mult@vsize \global - \fi -} - -\def\leave@mult@footins{% - \global\advance\dimen@-\skip\footins - \global\advance\dimen@-\ht\footins -} - -\def\speci@ls{% - \ifnum\outputpenalty <-\@Mi - \ifnum \outputpenalty<-\@MM - \PackageError{multicol}{Document end - inside multicols environment}\@ehd - \@specialoutput - \else - \ifnum\outputpenalty = -\@Mv - \mult@info\@ne{Forced column - break seen}% - \global\advance\vsize-\pagetotal - \global\setbox\colbreak@box - \vbox{\ifvoid\colbreak@box - \else - \unvbox\colbreak@box - \penalty-\@Mv - \fi - \unvbox\@cclv} - \reinsert@footnotes - \else - \PackageWarning{multicol}% - {Floats and marginpars not - allowed inside `multicols' - environment! - \@gobble}% - \unvbox\@cclv\reinsert@footnotes - \xdef\@freelist{\@freelist\@currlist}% - \gdef\@currlist{}% - \fi - \fi - \else \@doclearpage \fi -} - -\def\process@deferreds{% - \@floatplacement - \@tryfcolumn\@deferlist - \if@fcolmade\else - \begingroup - \let\@tempb\@deferlist - \gdef\@deferlist{}% - \let\@elt\@scolelt - \@tempb \endgroup - \fi} - -\newif\ifshr@nking - -\def\raggedcolumns{% - \@bsphack\global\shr@nkingtrue\@esphack} - -\def\flushcolumns{% - \@bsphack\global\shr@nkingfalse\@esphack} - -\def\balance@columns@out{% - \global\setbox\mult@box\vbox{% - \ifvoid\colbreak@box\else - \unvbox\colbreak@box\break - \mult@info\@ne{Re-adding - forced break(s) in balancing}% - \fi - \unvbox\@cclv}% - \balance@columns - \global\vsize\@colroom - \global\advance\vsize\ht\partial@page - \unvbox\partial@page - \return@nonemptymark{first}\kept@firstmark - \return@nonemptymark{bot}\kept@botmark - \page@sofar - \penalty\z@ -} - -\def\balance@columns{% - \get@keptmarks\mult@box - \global\setbox\mult@box\vbox{% - \penalty-\@M - \unvbox\mult@box - \remove@discardable@items - }% - \global\@tempdima\topskip - \global\splittopskip\@tempdima - \@plus\multicolundershoot - \@minus\multicolovershoot - \splitmaxdepth\maxdepth - \setbox\@tempboxa\vsplit\mult@box to\z@ - \global\@tempdima\ht\mult@box - \global\advance\@tempdima\dp\mult@box - \global\divide\@tempdima\col@number - \global\count@\@tempdima - \global\divide\count@\baselineskip - \global\dimen@\count@\baselineskip - \global\advance\dimen@\topskip - \ifdim \dimen@ >\@tempdima - \global\advance\dimen@-\baselineskip - \fi - \global\advance\dimen@\c@unbalance\baselineskip - \mult@info\@ne - {Balance columns\on@line: - \ifnum\c@unbalance=\z@\else - (off balance=\number\c@unbalance)\fi - \@gobbletwo}% - \ifnum\dimen@<\topskip - \mult@info\@ne - {Start value - \the\dimen@ \space -> - \the\topskip \space (corrected)}% - \global\dimen@\topskip - \fi - \global\vbadness\@M - \global\vfuzz \col@number\baselineskip - \global\last@try-\p@ - \loop - {\process@cols\mult@grightbox - {\global\setbox\count@ - \box\voidb@x}}% - \global\setbox\mult@grightbox - \copy\mult@box - \global\too@badfalse - {\process@cols\mult@firstbox{% - \global\setbox\count@ - \vsplit\mult@grightbox to\dimen@ - \ifnum\c@tracingmulticols>\@ne - \@tempcnta\count@ - \advance\@tempcnta-\mult@grightbox - \divide\@tempcnta \tw@ - \message{^^JColumn - \number\@tempcnta\space - badness: \the\badness\space}% - \fi - \ifnum\badness>\c@columnbadness - \ifnum\c@tracingmulticols>\@ne - \message{too bad - (>\the\c@columnbadness)}% - \fi - \global\too@badtrue - \fi - }}% - \global\boxmaxdepth\maxdepth - \global\setbox\mult@grightbox - \vbox{\unvbox\mult@grightbox}% - \global\setbox\mult@nat@firstbox - \vbox{\unvcopy\mult@firstbox}% - \ifnum\c@tracingmulticols>\@ne - \message{^^JFirst column - = \the\dimen@\space - (\the\ht\mult@nat@firstbox)}\fi - \ifnum\c@tracingmulticols>\@ne - \message{<> last column = - \the\ht\mult@grightbox^^J}% - \fi - \ifdim\ht\mult@grightbox >\dimen@ - \global\too@badtrue - \ifnum\c@tracingmulticols>\@ne - \typeout{Rejected: last - column too large!}% - \fi - \else - \setbox\@tempboxa - \copy\mult@grightbox - \setbox\z@\vsplit\@tempboxa to\maxdimen - \ifvoid\@tempboxa - \global\setbox\mult@grightbox - \vbox to\dimen@ - {\unvbox\mult@grightbox}% - \ifnum\c@tracingmulticols>\@ne - \message{Final badness: - \the\badness}% - \fi - \ifnum\badness>\c@finalcolumnbadness - \global\setbox\mult@grightbox - \vbox to\dimen@ - {\unvbox\mult@grightbox\vfill}% - \ifnum\c@tracingmulticols>\@ne - \message{ setting natural - (> \the\c@finalcolumnbadness)}% - \fi - \fi - \else - \global\too@badtrue - \ifnum\c@tracingmulticols>\@ne - \typeout{Rejected: unprocessed - forced break(s) in last column!}% - \fi - \fi - \fi - \ifdim\ht\mult@nat@firstbox<\dimen@ - \ifdim\ht\mult@nat@firstbox>\last@try - \global\too@badtrue - \ifnum\c@tracingmulticols>\@ne - \typeout{Retry: using natural - height of first column!}% - \fi - \global\dimen@\ht\mult@nat@firstbox - \global\last@try\dimen@ - \global\advance\dimen@-\p@ - \fi - \fi - \iftoo@bad - \global\advance\dimen@\p@ - \repeat - \if@boxedmulticols\else - \ifdim\dimen@>\@colroom - \global\dimen@\@colroom - \fi - \fi - \process@cols\mult@rightbox - {\@tempcnta\count@ - \advance\@tempcnta\@ne - \setbox\count@\vbox to\dimen@ - {% - \vskip \z@ - \@plus-\multicolundershoot - \@minus-\multicolovershoot - \unvbox\@tempcnta - \ifshr@nking\vfill\fi}}% -} - -\newbox\mult@rightbox -\newbox\mult@grightbox -\newbox\mult@gfirstbox -\newbox\mult@firstbox -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa - -\global\let\@tempa\relax - -\@ifundefined{emergencystretch} - {\newdimen\emergencystretch}{} - -\def\setemergencystretch#1#2{% - \global\emergencystretch 4pt - \global\multiply\emergencystretch#1} - -\def\set@floatcmds{% - \global\let\@dblfloat\@dbflt - \gdef\end@dblfloat{\par - \vskip\z@ - \egroup - \color@endbox - \@largefloatcheck - \outer@nobreak - \ifnum\@floatpenalty<\z@ - \@cons\@deferlist\@currbox - \fi - \ifnum\@floatpenalty=-\@Mii - \@Esphack - \fi}} - -\def\kept@topmark{{}{}} - -\global\let\kept@firstmark\@empty -\global\let\kept@botmark\@empty - -\def\return@nonemptymark#1#2{% - \ifx#2\@empty - \else - \mult@info\tw@ - {Returned #1 mark:\MessageBreak - \meaning#2}% - \toks@\expandafter{#2}% - \mark{\the\toks@}% - \nobreak - \fi} - -\def\get@keptmarks#1{% - \begingroup - \vbadness\@M - \setbox#1\copy#1% - \setbox#1\vsplit#1to\maxdimen - \set@keptmarks - \endgroup -} - -\def\set@keptmarks{% - \ifx\kept@firstmark\@empty - \expandafter\gdef\expandafter - \kept@firstmark - \expandafter{\splitfirstmark}% - \ifx\kept@firstmark\@empty\else - \mult@info\tw@ - {Set kept first mark:\MessageBreak - \meaning\kept@firstmark% - \@gobbletwo}% - \fi - \fi - \expandafter\gdef\expandafter\@tempa - \expandafter{\splitbotmark}% - \ifx\@tempa\@empty\else - \global\let\kept@botmark\@tempa - \mult@info\tw@ - {Set kept bot mark:\MessageBreak - \meaning\kept@botmark% - \@gobbletwo}% - \fi}% - -\def\prep@keptmarks{% - \if@boxedmulticols \else - \get@keptmarks\partial@page - \fi} - -\def\remove@discardable@items{% - \unskip\unpenalty\unkern - \unskip\unpenalty\unkern - \unskip\unpenalty\unkern - \unskip\unpenalty\unkern -} - -\newif\iftoo@bad -\newcount\c@columnbadness -\global\c@columnbadness=10000 - -\newcount\c@finalcolumnbadness -\global\c@finalcolumnbadness=9999 - -\newdimen\last@try -\newdimen\multicolovershoot -\global\multicolovershoot=2pt - -\newdimen\multicolundershoot -\global\multicolundershoot=2pt - -\newbox\mult@nat@firstbox - -\def\mult@info#1#2{% - \ifnum\c@tracingmulticols>#1% - \GenericWarning - {(multicol)\@spaces\@spaces}% - {Package multicol: #2}% - \fi -} - -\@namedef{multicols*}{% - \ifinner - \PackageWarning{multicol}% - {multicols* inside a box does - not make sense.\MessageBreak - Going to balance anyway}% - \else - \global\let\balance@columns@out - \multi@column@out - \fi - \begin{multicols} -} -\@namedef{endmulticols*}{\vfill - \end{multicols}} - -\mathchardef\@Mv=10005 - -\def\columnbreak{% - \ifnum\col@number<\tw@ - \PackageError{multicol}% - {\noexpand\columnbreak outside multicols}% - {This command can only be used within - a multicols or multicols* environment.}% - \else - \ifvmode - \penalty -\@Mv\relax - \else - \@bsphack - \vadjust{\penalty -\@Mv\relax}% - \@esphack - \fi - \fi} - -\newbox\colbreak@box - -\global\let\interbeginmulticols\nobeginmulticols -\global\let\interendmulticols\noendmulticols -\endinput -%% -%% End of file `multicol.sty'. diff --git a/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty b/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty index d3ce3e5547d..713c292a66b 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty +++ b/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty @@ -13,7 +13,7 @@ \DefineCharacter{172}{AC}{\ensuremath{\lnot }} \DefineCharacter{173}{AD}{\ensuremath{\-}} \DefineCharacter{174}{AE}{\ifmmode \circledR \else \textregistered \fi}% -\DefineCharacter{175}{AF}{\ifmmode\mbox{\textasciimacron}\else\textasciimacron\fi} +\DefineCharacter{175}{AF}{\textasciimacron } \DefineCharacter{176}{B0}{\ifmmode \mbox{\textdegree}\else \textdegree \fi}% \DefineCharacter{177}{B1}{\ensuremath{\pm }} \DefineCharacter{178}{B2}{\ensuremath{{^2}}} @@ -591,8 +591,6 @@ \DefineCharacter{1249}{4E1}{\cyrchar\cyrabhdze } \DefineCharacter{1256}{4E8}{\cyrchar\CYROTLD } \DefineCharacter{1257}{4E9}{\cyrchar\cyrotld } -\DefineCharacter{8192}{2000}{\,\fbox{\vrule height1.5ex depth0pt width0pt \hspace{0.5em}}\,} -\DefineCharacter{8193}{2001}{\,\fbox{\vrule height1.5ex depth0pt width0pt \hspace{1em}}\,} \DefineCharacter{8194}{2002}{\hspace{0.6em}} \DefineCharacter{8195}{2003}{\hspace{1em}} \DefineCharacter{8196}{2004}{\hspace{0.33em}} diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 0ca53d96782..c9e8c68887e 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -1185,7 +1185,7 @@ $standardocp='\.ocp'; # packages which have xmltex files %specialxmt= ( - 'passivetex', '\.xmt|fotex.sty', + # 'passivetex', '\.xmt|fotex.sty', ); $standardxmt='\.xmt'; diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index d9fd7fa6029..dbdfc0f3424 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -135,9 +135,9 @@ my @WorkingTLP = qw( ntgclass ntheorem-vn numline numname numprint oberdiek ocr-latex octavo ofs ogham oldstyle onlyamsmath opcit ordinalpt - pagenote paper papercdcase papertex parallel paresse parrun patch - pauldoc pbox pdf-forms-tutorial-de pdf-forms-tutorial-en pdf-trans - pdfcprot pdfcrop + pagenote paper papercdcase papertex parallel paresse parrun passivetex + patch pauldoc pbox pdf-forms-tutorial-de pdf-forms-tutorial-en + pdf-trans pdfcprot pdfcrop pdfpages pdfscreen pdfsync pdftex-def perception perltex permute petiteannonce pgf pgf-soroban pgfopts pgfplots phaistos philex philosophersimprint -- cgit v1.2.3