From 5dc602d16c5be2fd035b254ca23484a90aebd6dc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Jan 2006 00:45:48 +0000 Subject: doc 5 git-svn-id: svn://tug.org/texlive/trunk@81 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/xmltex/base/englishutf16.xml | Bin 0 -> 194 bytes Master/texmf-dist/doc/xmltex/base/russianutf8.xml | 7 + 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 + 13 files changed, 5882 insertions(+) create mode 100644 Master/texmf-dist/doc/xmltex/base/englishutf16.xml create mode 100644 Master/texmf-dist/doc/xmltex/base/russianutf8.xml create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/ChangeLog create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/README.passivetex create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/index.html create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/latextei.tex create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/latextei.xml create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/properties.xml create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/test.xml create mode 100644 Master/texmf-dist/doc/xmltex/passivetex/xsa.xml (limited to 'Master/texmf-dist/doc/xmltex') diff --git a/Master/texmf-dist/doc/xmltex/base/englishutf16.xml b/Master/texmf-dist/doc/xmltex/base/englishutf16.xml new file mode 100644 index 00000000000..c51d565faf7 Binary files /dev/null and b/Master/texmf-dist/doc/xmltex/base/englishutf16.xml differ diff --git a/Master/texmf-dist/doc/xmltex/base/russianutf8.xml b/Master/texmf-dist/doc/xmltex/base/russianutf8.xml new file mode 100644 index 00000000000..735c9151641 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/base/russianutf8.xml @@ -0,0 +1,7 @@ +<документ атт="русский" > + <раздел> + <голова>Тест + Здравствуй Мир! + + + diff --git a/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog b/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog new file mode 100644 index 00000000000..c95d5048a58 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog @@ -0,0 +1,24 @@ +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 new file mode 100644 index 00000000000..a6491765fbe --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 @@ -0,0 +1,150 @@ +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 new file mode 100644 index 00000000000..23061d7e5c1 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex @@ -0,0 +1,33 @@ +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 new file mode 100644 index 00000000000..367a991547d --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/index.html @@ -0,0 +1,2771 @@ + + + + + + + + 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 new file mode 100644 index 00000000000..bfc33c1f6bb --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml @@ -0,0 +1,647 @@ + + + + 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 new file mode 100644 index 00000000000..40e379d8aa4 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex @@ -0,0 +1,4 @@ +\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 new file mode 100644 index 00000000000..af9fbb686c4 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml @@ -0,0 +1,972 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +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 new file mode 100644 index 00000000000..87ddc55816f --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml @@ -0,0 +1,388 @@ + + +]> + + + + + 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 new file mode 100644 index 00000000000..85cd904b3c0 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/properties.xml @@ -0,0 +1,592 @@ + +

+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 new file mode 100644 index 00000000000..321a22835d4 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/test.xml @@ -0,0 +1,280 @@ + + + + + + + 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 new file mode 100644 index 00000000000..df46cbc7896 --- /dev/null +++ b/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml @@ -0,0 +1,14 @@ + + + Sebastian Rahtz + sebastian.rahtz@oucs.ox.ac.uk + + + Passive TeX + 1.3, 10th December 2000 + 20001210 + http://users.ox.ac.uk/~rahtz/passivetex/ + + + + -- cgit v1.2.3