diff options
18 files changed, 600 insertions, 8085 deletions
diff --git a/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog b/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog deleted file mode 100644 index c95d5048a58..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/ChangeLog +++ /dev/null @@ -1,24 +0,0 @@ -2001-06-19 Sebastian Rahtz <sebastian.rahtz@computing-services.oxford.ac.uk> - - * passivetex.xml: releasing current version with broken tables - -2000-09-24 Sebastian Rahtz <sebastian.rahtz@oucs.ox.ac.uk> - - * fotex.xmt: preserve value of "extent" attribute on - page-master-name basis, and use in \@outputpage - -2000-07-27 Sebastian Rahtz <sebastian.rahtz@oucs.ox.ac.uk> - - * added break-after to FOEndBlock - * added FOlabel to fo:inline and fo:list-item - -2000-03-21 Sebastian Rahtz <sebastian.rahtz@computing-services.oxford.ac.uk> - - * unicode.sty: changed mmasym to "if loaded", instead of "if exists" - -2000-01-13 Sebastian Rahtz <sebastian.rahtz@oucs.ox.ac.uk> - - * mlnames.sty (subsection{Languages}): add - \languageshorthands{none} to all \selectlanguage lines - - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 b/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 deleted file mode 100644 index a6491765fbe..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/Changes-2003-01 +++ /dev/null @@ -1,150 +0,0 @@ -1. Facilitating <fo:block span="all"> -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<counter>. 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 <fo:table-cell><fo:block><fo:block>. -The count \FOinTable records whether we are inside a table. But I think that -it should also record wheter we are immediately below a <fo:table-cell> or -deeper. But I have not found out what to do in the latter case ... - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex b/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex deleted file mode 100644 index 23061d7e5c1..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/README.passivetex +++ /dev/null @@ -1,33 +0,0 @@ -PassiveTeX - -Sebastian Rahtz, February 10th 2000 - -The files in this directory provide an implementation of XSL -formatting objects. If an XSLT processor is used to write out XSL -objects in serialized XML format, the result can be formatted using -xmltex. In addition, an extended xmltex control file for TEI -documents is provided. - -This package consists of the following files: - -The core xmltex `style' files for XSL FO XML: - - fotex.xmt - fotex.sty - -A test file, containing TEI + MathML markup: - - latextei.xml (original) - latextei-fo.xml (transformed to XSL FO) - -Support for direct formatting of TEI XML with xmltex - - tei.xmt - latextei.tex (wrapper for xmltex of sample file) - -Some support files, shared with Jadetex: - - unicode.sty - ucharacters.sty - mlnames.sty - dummyels.sty diff --git a/Master/texmf-dist/doc/xmltex/passivetex/index.html b/Master/texmf-dist/doc/xmltex/passivetex/index.html deleted file mode 100644 index 367a991547d..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/index.html +++ /dev/null @@ -1,2771 +0,0 @@ - -<!DOCTYPE html - PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<html> - <!--THIS FILE IS GENERATED FROM AN XML MASTER. - DO NOT EDIT--> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - - <title>PassiveTeX</title> - <link rel="stylesheet" type="text/css" href="http://www.oucs.ox.ac.uk/stylesheets/tei-oucs.css"> - </head> - <body><a name="TOP"></a><table class="header" width="100%"> - <tr> - <td rowspan="3"><a target="_top" href="http://www.ox.ac.uk/"><img border="0" width="78" height="94" src="http://www.oucs.ox.ac.uk/icons/ncrest.gif" alt="Oxford University"></a></td> - <td align="left"> - <h2 class="institution">Oxford University Computing Services</h2> - </td> - </tr> - <tr> - <td align="left"> - <h1 class="maintitle">PassiveTeX</h1> - </td> - </tr> - </table> - <hr> - - - - - - - <h2>Contents</h2> - <ul class="toc"> - <li class="toc">1. <a class="toc" href="#index-div-c16ab3b3b1">Summary</a></li> - <li class="toc">2. <a class="toc" href="#index-div-c16ab3b3b3">How does it work?</a></li> - <li class="toc">3. <a class="toc" href="#index-div-c16ab3b3b5">Installation</a></li> - <ul class="toc"> - <li class="toc">3.1. <a class="toc" href="#index-div-c16ab3b3b5c11">LaTeX package dependencies</a></li> - </ul> - <li class="toc">4. <a class="toc" href="#index-div-c16ab3b3b7">Extensions</a></li> - <li class="toc">5. <a class="toc" href="#index-div-c16ab3b3b9">Notes on conformance to the XSL draft specification of November 2000</a></li> - <ul class="toc"> - <li class="toc">5.1. <a class="toc" href="#index-div-c16ab3b3b9b9">Properties needed for basic conformance</a></li> - <li class="toc">5.2. <a class="toc" href="#index-div-c16ab3b3b9c11">Properties needed for full conformance</a></li> - <li class="toc">5.3. <a class="toc" href="#index-div-c16ab3b3b9c13">Properties needed for extended conformance</a></li> - </ul> - <li class="toc">6. <a class="toc" href="#index-div-c16ab3b3c11">Sample files</a></li> - <li class="toc">7. <a class="toc" href="#index-div-c16ab3b3c13">Concerns and problems</a></li> - <li class="toc">8. <a class="toc" href="#index-div-c16ab3b3c15">Things for LaTeX users to remember</a></li> - <li class="toc">9. <a class="toc" href="#index-div-c16ab3b3c17">Future directions</a></li> - </ul> - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3b1"></a>1. Summary - </h2> - - - <ul> - <li><a name="c16ab3b3b1b3b1"></a> - 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. - - </li> - <li><a name="c16ab3b3b1b3b3"></a> - PassiveTeX provides a rapid development environment for experimenting - with XSL FO, using a reliable pre-existing formatter - - </li> - <li><a name="c16ab3b3b1b3b5"></a> - Running PassiveTeX with the pdfTeX variant of TeX generates high-quality - PDF files in a single operation. - - </li> - <li><a name="c16ab3b3b1b3b7"></a> - PassiveTeX shows how TeX can remain the formatter of choice for XML, while - hiding the details of its operation from the user. - - </li> - </ul> - - <p><a name="c16ab3b3b1b5"></a> - Available from <tt><a href="http://users.ox.ac.uk/~rahtz/passivetex/" target="_top">http://users.ox.ac.uk/~rahtz/passivetex/</a></tt>. - The current version is 1.4, 2000/12/11. - - </p> - - </div> - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3b3"></a>2. How does it work? - </h2> - - <p><a name="c16ab3b3b3b2"></a> - PassiveTeX relies heavily on work by David Carlisle - (his namespace-aware XML parser written in - TeX, <tt>xmltex</tt>), and was developed from my - <a href="http://www.tug.org/applications/jadetex/" target="_top">JadeTeX</a> - macros for processing DSSSL via Jade. - - </p> - - <p><a name="c16ab3b3b3b4"></a> - Taking the XML version of the TEI Lite guidelines - (<a href="test/teiu5.xml" target="_top">teiu5.xml</a>, with DTD - <a href="test/teixlite.dtd" target="_top">teixlite.dtd</a>), we apply an XSL stylesheet - (see my page of <a href="http://users.ox.ac.uk/~rahtz/tei" target="_top">TEI style sheets</a>), - and run it through James Clark's XT XSL processor: - <pre> - java com.jclark.xsl.sax.Driver teiu5.xml tei.xsl teiu5.fo -</pre> - (assuming you have <tt>xt.jar</tt>, <tt>xp.jar</tt> and <tt>sax.jar</tt> - on your CLASSPATH ). This creates the new XML file - <a href="test/teiu5.fo" target="_top">teiu5.fo</a>. We now run XMLTeX on this - <pre> - pdfxmltex teiu5.fo -</pre> - which creates <a href="test/teiu5.pdf" target="_top">teiu5.pdf</a>. Voila! - Actually, we need to do - <pre> - pdfxmltex teiu5.fo -</pre> - 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 <a href="http://users.ox.ac.uk/~rahtz/tei/teiu5.html" target="_top">teiu5.html</a> - on my TEI page. - </p> - - </div> - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3b5"></a>3. Installation - </h2> - - - <p><a name="c16ab3b3b5b3"></a> - The PassiveTeX macros should be downloaded (as a ZIP file, - <tt><a href="passivetex.zip" target="_top">passivetex.zip</a></tt>), unpacked, and installed in a TeX system (eg in - <tt>texmf/tex/latex/passivetex</tt>) 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 <tt>mktexlsr</tt> when you have the files in place, - to update the file lookup table. - - </p> - - <p><a name="c16ab3b3b5b5"></a> - What about that <tt>pdfxmltex</tt> command we saw in the last section? - You don't have it on your system? You need to download - <a href="ftp://ftp.tex.ac.uk/tex-archive/macros/xmltex/base.zip" target="_top">xmltex</a> - (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) <tt>teiu5.fo</tt> in one of two ways: - - <ol> - <li><a name="c16ab3b3b5b5b7b1"></a>Build an <tt>xmltex</tt> format file for pdfTeX with - <pre> -pdftex -ini "&pdflatex" pdfxmltex.ini -</pre> - and process your file with - <pre> -pdflatex "&pdfxmltex" teiu5.fo -</pre> - Or, - </li> - <li><a name="c16ab3b3b5b5b7b3"></a> - Make a wrapper file called (eg) <tt>teiu5.tex</tt> looking like this: - <pre> -\def\xmlfile{teiu5.fo} -\input xmltex -</pre> - and run pdfTeX on it as normal with - <pre> -pdflatex teiu5.tex -</pre> - </li> - </ol> - Do not worry, <tt>xmltex</tt> knows how to find the PassiveTeX macros as - it needs them. You will likely need to increase TeX memory - values (in the file <tt>texmf.cnf</tt> if you use a Web2c-based TeX); - I use: - <pre> -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 -</pre> - </p> - - <p><a name="c16ab3b3b5b7"></a> - For reference, the PassiveTeX package consists of the following files: - - <ul> - <li><a name="c16ab3b3b5b7b1b1"></a>The core xmltex `style' files for XSL FO XML: - <pre> - fotex.xmt - fotex.sty -</pre> - </li> - <li><a name="c16ab3b3b5b7b1b3"></a> - Support for direct formatting of TEI XML with xmltex - <pre> - tei.xmt - teixml.sty -</pre> - </li> - <li><a name="c16ab3b3b5b7b1b5"></a> - Some support files, shared with JadeTeX: - <pre> - unicode.sty - ucharacters.sty - mlnames.sty - dummyels.sty -</pre> - </li> - </ul> - - </p> - - <p><a name="c16ab3b3b5b9"></a> - 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 - <tt>texmf.cnf</tt> file, increase the size of <tt>buf_size</tt> (mine is - 200000), and remake any format files. - - </p> - - <div class="teidiv"> - <h3><a name="index-div-c16ab3b3b5c11"></a>3.1. LaTeX package dependencies - </h3> - - <p><a name="c16ab3b3b5c11b2"></a>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 <tt><a href="http://www.tug.org/texlive/" target="_top">http://www.tug.org/texlive/</a></tt>). - - </p> - - <p><a name="c16ab3b3b5c11b4"></a> Here is a - list of the packages loaded in a typical run of - PassiveTeX, with their version numbers where known: - - <div align="center"> - <table rules="all" border="1"> - - <tr> - <td> amsbsy.sty </td> - <td> 1999/11/29 v1.2d</td> - </tr> - - <tr> - <td>amsfonts.sty </td> - <td> 1997/09/17 v2.2e</td> - </tr> - - <tr> - <td> amsgen.sty </td> - <td> 1999/11/30 v2.0</td> - </tr> - - <tr> - <td> amsmath.sty </td> - <td> 2000/03/29 v2.08 AMS math features</td> - </tr> - - <tr> - <td> amsopn.sty </td> - <td> 1999/12/14 v2.01 operator names</td> - </tr> - - <tr> - <td> amssymb.sty </td> - <td> 1996/11/03 v2.2b</td> - </tr> - - <tr> - <td> amstext.sty </td> - <td> 1999/11/15 v2.0</td> - </tr> - - <tr> - <td> array.sty </td> - <td> 1998/05/13 v2.3m Tabular extension package (FMi)</td> - </tr> - - <tr> - <td> article.cls </td> - <td> 1999/09/10 v1.4a Standard LaTeX document class</td> - </tr> - - <tr> - <td> bm.sty </td> - <td> 1999/07/05 v1.0g Bold Symbol Support (DPC/FMi)</td> - </tr> - - <tr> - <td> color.sty </td> - <td> 1999/02/16 v1.0i Standard LaTeX Color (DPC)</td> - </tr> - - <tr> - <td> fontenc.sty </td> - <td> (version not available)</td> - </tr> - - <tr> - <td>graphics.sty </td> - <td> 1999/02/16 v1.0l Standard LaTeX Graphics (DPC,SPQR)</td> - </tr> - - <tr> - <td>graphicx.sty </td> - <td> 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)</td> - </tr> - - <tr> - <td> hpdftex.def </td> - <td> 2000/05/08 v6.70f Hyperref driver for pdfTeX</td> - </tr> - - <tr> - <td>hyperref.sty </td> - <td> 2000/05/08 v6.70f Hypertext links for LaTeX</td> - </tr> - - <tr> - <td> ifthen.sty </td> - <td> 1999/09/10 v1.1b Standard LaTeX ifthen package (DPC)</td> - </tr> - - <tr> - <td> keyval.sty </td> - <td> 1999/03/16 v1.13 key=value parser (DPC)</td> - </tr> - - <tr> - <td>longtable.sty </td> - <td> 1998/05/13 v4.09 Multi-page Table package (DPC)</td> - </tr> - - <tr> - <td>multicol.sty </td> - <td> 1999/10/21 v1.5w multicolumn formatting (FMi)</td> - </tr> - - <tr> - <td> nameref.sty </td> - <td> 2000/05/08 v2.18 Cross-referencing by name of section</td> - </tr> - - <tr> - <td> ot1phv.fd </td> - <td> 2000/01/12 PSNFSS-v8.1 scalable font definitions for OT1/phv.</td> - </tr> - - <tr> - <td> pd1enc.def </td> - <td> 2000/05/08 v6.70f Hyperref: PDFDocEncoding definition (HO)</td> - </tr> - - <tr> - <td> pifont.sty </td> - <td> 2000/01/12 PSNFSS-v8.1 Pi font support (SPQR) </td> - </tr> - - <tr> - <td>rotating.sty </td> - <td> 1997/09/26, v2.13 Rotation package</td> - </tr> - - <tr> - <td> size10.clo </td> - <td> 1999/09/10 v1.4a Standard LaTeX file (size option)</td> - </tr> - - <tr> - <td>stmaryrd.sty </td> - <td> 1994/03/03 St Mary's Road symbol package</td> - </tr> - - <tr> - <td> t1enc.def </td> - <td> 1999/12/08 v1.9x Standard LaTeX file</td> - </tr> - - <tr> - <td> t1phv.fd </td> - <td> 2000/01/12 PSNFSS-v8.1 scalable font definitions for T1/phv.</td> - </tr> - - <tr> - <td> t1ptm.fd </td> - <td> 2000/01/12 PSNFSS-v8.1 font definitions for T1/ptm.</td> - </tr> - - <tr> - <td> t2acmr.fd </td> - <td> 1999/01/07 v1.0 Computer Modern Cyrillic font definitions</td> - </tr> - - <tr> - <td> t2aenc.def </td> - <td> 1999/11/29 v1.0c Cyrillic encoding definition file</td> - </tr> - - <tr> - <td> t3enc.def </td> - <td> (version not available)</td> - </tr> - - <tr> - <td>textcomp.sty </td> - <td> 1999/12/08 v1.9x Standard LaTeX package</td> - </tr> - - <tr> - <td> times.sty </td> - <td> 2000/01/12 PSNFSS-v8.1 Times font as default roman (SPQR) </td> - </tr> - - <tr> - <td> tipa.sty </td> - <td> 1996/06/10 TIPA version 1.0</td> - </tr> - - <tr> - <td> trig.sty </td> - <td> 1999/03/16 v1.09 sin cos tan (DPC)</td> - </tr> - - <tr> - <td> ts1cmr.fd </td> - <td> 1999/05/25 v2.5h Standard LaTeX font definitions</td> - </tr> - - <tr> - <td> ts1enc.def </td> - <td> 1998/06/12 v3.0d (jk/car/fm) Standard LaTeX file</td> - </tr> - - <tr> - <td> ts1ptm.fd </td> - <td> 2000/01/12 PSNFSS-v8.1 font definitions for TS1/ptm.</td> - </tr> - - <tr> - <td> ulem.sty </td> - <td> 1997/04/21</td> - </tr> - - <tr> - <td> umsa.fd </td> - <td> 1995/01/05 v2.2e AMS font definitions</td> - </tr> - - <tr> - <td> umsb.fd </td> - <td> 1995/01/05 v2.2e AMS font definitions</td> - </tr> - - <tr> - <td> upsy.fd </td> - <td> 2000/01/12 PSNFSS-v8.1 font definitions for U/psy.</td> - </tr> - - <tr> - <td> upzd.fd </td> - <td> 2000/01/12 PSNFSS-v8.1 font definitions for U/pzd.</td> - </tr> - - <tr> - <td> url.sty </td> - <td> 1999/03/28 ver 1.5x Verb mode for urls, etc.</td> - </tr> - - <tr> - <td> Ustmry.fd </td> - <td> (version not available)</td> - </tr> - - <tr> - <td> uwasy.fd </td> - <td> 1999/05/13 v1.0iWasy-2 symbol font definitions</td> - </tr> - - <tr> - <td> wasysym.sty </td> - <td> 1999/05/13 v1.0i Wasy-2 symbol support package</td> - </tr> - - </table> - </div> - - </p> - - </div> - - </div> - - - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3b7"></a>4. Extensions - </h2> - - - <p><a name="c16ab3b3b7b3"></a> - PassiveTeX interprets MathML natively (elements must use the MathML namespace). - I also support a <tt>bookmark</tt> element in the - <tt>fotex</tt> namespace, used to make PDF bookmarks. Usage is like this: - <pre> -<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> -</pre> - </p> - - </div> - - - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3b9"></a>5. Notes on conformance to the XSL draft specification of November 2000 - </h2> - - - - <p><a name="c16ab3b3b9b5"></a> - The following general limitations apply to most of the PassiveTeX - implementation of XSL FO: - - <ol> - <li><a name="c16ab3b3b9b5b1b1"></a>The `px' unit is not recognised - </li> - <li><a name="c16ab3b3b9b5b1b3"></a>Absolute dimensions always work, but proportional ones - are often not recognized - </li> - <li><a name="c16ab3b3b9b5b1b5"></a>The functions allowed in attribute values are usually not - recognized - </li> - <li><a name="c16ab3b3b9b5b1b7"></a>There is no error checking at all, and all properies are - recognized; do not assume that they do anything... - </li> - </ol> - - </p> - - <p><a name="c16ab3b3b9b7"></a> - Most of the formatting objects are implemented more or less; the - following are not implemented at all: - - <ol> - <li><a name="c16ab3b3b9b7b1b1"></a><tt>fo:bidi-override</tt></li> - <li><a name="c16ab3b3b9b7b1b3"></a><tt>fo:color-profile</tt></li> - <li><a name="c16ab3b3b9b7b1b5"></a><tt>fo:declarations</tt></li> - <li><a name="c16ab3b3b9b7b1b7"></a><tt>fo:initial-property-set</tt></li> - <li><a name="c16ab3b3b9b7b1b9"></a><tt>fo:instream-foreign-object</tt></li> - <li><a name="c16ab3b3b9b7b1c11"></a><tt>fo:multi-case</tt></li> - <li><a name="c16ab3b3b9b7b1c13"></a><tt>fo:multi-properties</tt></li> - <li><a name="c16ab3b3b9b7b1c15"></a><tt>fo:multi-property-set</tt></li> - <li><a name="c16ab3b3b9b7b1c17"></a><tt>fo:multi-switch</tt></li> - <li><a name="c16ab3b3b9b7b1c19"></a><tt>fo:multi-toggle</tt></li> - <li><a name="c16ab3b3b9b7b1c21"></a><tt>fo:region-end</tt></li> - <li><a name="c16ab3b3b9b7b1c23"></a><tt>fo:region-start</tt></li> - <li><a name="c16ab3b3b9b7b1c25"></a><tt>fo:table-footer</tt></li> - </ol> - - </p> - - <div class="teidiv"> - <h3><a name="index-div-c16ab3b3b9b9"></a>5.1. Properties needed for basic conformance - </h3> - - <p><a name="c16ab3b3b9b9b2"></a> - - <div align="center"> - <table rules="all" border="1"> - - <tr> - <td>alignment-adjust</td> - <td>auto | percentage | length | inherit</td> - <td>Basic</td> - - <td>2. should be possible </td> - </tr> - - - <tr> - <td>azimuth</td> - <td>angle | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side - ] || behind ] | leftwards | rightwards | inherit - </td> - <td>Basic</td> - - <td>4. N/A </td> - </tr> - - - <tr> - <td>background-color</td> - <td>color | transparent | inherit</td> - <td>Basic</td> - <td>3. does not really map in TeX </td> - </tr> - - - <tr> - <td>baseline-identifier</td> - <td>baseline | before-edge | text-before-edge | middle | after-edge - | text-after-edge | ideographic | alphabetic | hanging | mathematical - | inherit - </td> - <td>Basic</td> - - <td>3. not at all sure where to start </td> - </tr> - - - <tr> - <td>baseline-shift</td> - <td>baseline | sub | super | percentage | length | inherit</td> - <td>Basic</td> - - <td>1. basically works </td> - </tr> - - - <tr> - <td>block-progression-dimension</td> - <td>auto | length | percentage | length-range | inherit</td> - <td>Basic</td> - - <td>3. do not really understand it </td> - </tr> - - - <tr> - <td>border-after-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-after-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-after-width</td> - <td>border-width | length-conditional | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-before-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-before-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-before-width</td> - <td>border-width | length-conditional | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-bottom-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-bottom-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>1. used in places </td> - </tr> - - - <tr> - <td>border-bottom-width</td> - <td>border-width | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-end-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-end-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-end-width</td> - <td>border-width | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-left-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-left-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-left-width</td> - <td>border-width | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-right-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-right-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-right-width</td> - <td>border-width | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-start-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-start-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-start-width</td> - <td>border-width | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-top-color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>border-top-style</td> - <td>border-style | inherit</td> - <td>Basic</td> - <td>1. used in places </td> - </tr> - - - <tr> - <td>border-top-width</td> - <td>border-width | inherit</td> - <td>Basic</td> - <td>2. works for blocks (non-breaking) </td> - </tr> - - - <tr> - <td>break-after</td> - <td>auto | column | page | even-page | odd-page | inherit</td> - <td>Basic</td> - <td>0. should be working </td> - </tr> - - - <tr> - <td>break-before</td> - <td>auto | column | page | even-page | odd-page | inherit</td> - <td>Basic</td> - <td>0. should be working </td> - </tr> - - - <tr> - <td>character</td> - <td>character</td> - <td>Basic</td> - <td>0. should be working </td> - </tr> - - - <tr> - <td>clip</td> - <td>shape | auto | inherit</td> - <td>Basic</td> - <td>2. theoretically possible </td> - </tr> - - - <tr> - <td>color</td> - <td>color | inherit</td> - <td>Basic</td> - <td>1. more or less complete </td> - </tr> - - - <tr> - <td>column-number</td> - <td>number</td> - <td>Basic</td> - <td>0. OK </td> - </tr> - - - <tr> - <td>column-width</td> - <td>length</td> - <td>Basic</td> - <td>0. OK </td> - </tr> - - - <tr> - <td>content-type</td> - <td>string | auto</td> - <td>Basic</td> - <td>4. N/A, I think </td> - </tr> - - - <tr> - <td>cue-after</td> - <td>uri | none | inherit </td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>cue-before</td> - <td>uri | none | inherit </td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>direction</td> - <td>ltr | rtl | inherit</td> - <td>Basic</td> - <td>3. waiting for extended TeX </td> - </tr> - - - <tr> - <td>display-align</td> - <td>auto | before | center | after | inherit</td> - <td>Basic</td> - - <td>0. working </td> - </tr> - - - <tr> - <td>dominant-baseline</td> - <td>auto | autosense-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical - | inherit - </td> - <td>Basic</td> - - <td>3. dont know where to begin </td> - </tr> - - - <tr> - <td>elevation</td> - <td>angle | below | level | above | higher | lower | inherit</td> - <td>Basic</td> - - <td>4. N/A </td> - </tr> - - - <tr> - <td>end-indent</td> - <td>length | inherit</td> - <td>Basic</td> - <td>0. working </td> - </tr> - - - <tr> - <td>flow-name</td> - <td>name</td> - <td>Basic</td> - <td>0. working </td> - </tr> - - - <tr> - <td>font-family</td> - <td>[[ family-name | generic-family ],]* [family-name | generic-family] | inherit</td> - <td>Basic</td> - - <td>1. more or less OK </td> - </tr> - - - <tr> - <td>font-size</td> - <td>absolute-size | relative-size | length | percentage | inherit</td> - <td>Basic</td> - - <td>1. more or less all implemented </td> - </tr> - - - <tr> - <td>font-style</td> - <td>normal | italic | oblique | backslant | inherit</td> - <td>Basic</td> - <td>1. no oblique or backslant </td> - </tr> - - - <tr> - <td>font-variant</td> - <td>normal | small-caps | inherit</td> - <td>Basic</td> - <td>0. done </td> - </tr> - - - <tr> - <td>font-weight</td> - <td>normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit</td> - <td>Basic</td> - - <td>1. normal and bold only at present, others to follow</td> - </tr> - - - <tr> - <td>format</td> - <td>string</td> - <td>Basic</td> - <td>3. dont want to think about it </td> - </tr> - - - <tr> - <td>grouping-separator</td> - <td>character</td> - <td>Basic</td> - <td>3. dont want to think about it </td> - </tr> - - - <tr> - <td>grouping-size</td> - <td>number</td> - <td>Basic</td> - <td>3. dont want to think about it </td> - </tr> - - - <tr> - <td>height</td> - <td>length | percentage | auto | inherit</td> - <td>Basic</td> - <td>2. should be OK, waiting for a need </td> - </tr> - - - <tr> - <td>id</td> - <td> id</td> - <td>Basic</td> - <td>0. used </td> - </tr> - - - <tr> - <td>initial-page-number</td> - <td>auto | auto-odd | auto-even | number | inherit</td> - <td>Basic</td> - <td>0. done </td> - </tr> - - - <tr> - <td>inline-progression-dimension</td> - <td>auto | length | percentage | length-range | inherit</td> - <td>Basic</td> - - <td>3. have not considered at all </td> - </tr> - - - <tr> - <td>keep-with-next</td> - <td>keep | inherit</td> - <td>Basic</td> - <td>1. done in theory, not working 100%</td> - </tr> - - - <tr> - <td>keep-with-previous</td> - <td>keep | inherit</td> - <td>Basic</td> - <td>1. done in theory, not working 100% </td> - </tr> - - - <tr> - <td>leader-length</td> - <td>length-range | inherit</td> - <td>Basic</td> - <td>2. waiting to do soon </td> - </tr> - - - <tr> - <td>leader-pattern</td> - <td>space | rule | dots | use-content | inherit</td> - <td>Basic</td> - <td>2. waiting to do soon </td> - </tr> - - - <tr> - <td>letter-value</td> - <td>auto | alphabetic | traditional</td> - <td>Basic</td> - <td>3. dont want to think about it </td> - </tr> - - - <tr> - <td>line-height</td> - <td>normal | length | number | percentage | space | inherit</td> - <td>Basic</td> - - <td>1. largely done </td> - </tr> - - - <tr> - <td>line-stacking-strategy</td> - <td>line-height | font-height | max-height | inherit</td> - <td>Basic</td> - <td>3. untouched </td> - </tr> - - - <tr> - <td>margin-bottom</td> - <td>margin-width | inherit</td> - <td>Basic</td> - <td>1. done in places </td> - </tr> - - - <tr> - <td>margin-left</td> - <td>margin-width | inherit</td> - <td>Basic</td> - <td>1. done in places </td> - </tr> - - - <tr> - <td>margin-right</td> - <td>margin-width | inherit</td> - <td>Basic</td> - <td>1. done in places </td> - </tr> - - - <tr> - <td>margin-top</td> - <td>margin-width | inherit</td> - <td>Basic</td> - <td>1. done in places </td> - </tr> - - - <tr> - <td>master-name</td> - <td>name</td> - <td>Basic</td> - <td>0. ok </td> - </tr> - - - <tr> - <td>max-height</td> - <td>length | percentage | none | inherit </td> - <td>Basic</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>max-width</td> - <td>length | percentage | none | inherit</td> - <td>Basic</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>min-height</td> - <td>length | percentage | inherit </td> - <td>Basic</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>min-width</td> - <td>length | percentage | inherit</td> - <td>Basic</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>number-columns-repeated</td> - <td>number</td> - <td>Basic</td> - - <td>2. doable in theory </td> - </tr> - - - <tr> - <td>number-columns-spanned</td> - <td>number</td> - <td>Basic</td> - <td>2. doable in theory </td> - </tr> - - - <tr> - <td>number-rows-spanned</td> - <td>number</td> - <td>Basic</td> - <td>2. doable in theory </td> - </tr> - - - <tr> - <td>orphans</td> - <td>integer | inherit</td> - <td>Basic</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>overflow</td> - <td>visible | hidden | scroll | auto | inherit</td> - <td>Basic</td> - <td>2. theoretically </td> - </tr> - - - <tr> - <td>padding-after</td> - <td>padding-width | length-conditional | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-before</td> - <td>padding-width | length-conditional | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-bottom</td> - <td>padding-width | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-end</td> - <td>padding-width | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-left</td> - <td>padding-width | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-right</td> - <td>padding-width | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-start</td> - <td>padding-width | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>padding-top</td> - <td>padding-width | inherit</td> - <td>Basic</td> - <td>1. implemented crudely </td> - </tr> - - - <tr> - <td>page-break-after</td> - <td>auto | always | avoid | left | right | inherit</td> - <td>Basic</td> - <td>1. Mostly implemented </td> - </tr> - - - <tr> - <td>page-break-before</td> - <td>auto | always | avoid | left | right | inherit</td> - <td>Basic</td> - <td>1. Mostly implemented </td> - </tr> - - - <tr> - <td>page-height</td> - <td>auto | indefinite | length | inherit</td> - <td>Basic</td> - <td>1. not all possibilities</td> - </tr> - - - <tr> - <td>page-width</td> - <td>auto | indefinite | length | inherit</td> - <td>Basic</td> - <td>1. not all possibilities</td> - </tr> - - - <tr> - <td>pause-after</td> - <td>time | percentage | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>pause-before</td> - <td>time | percentage | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>pitch</td> - <td>frequency | x-low | low | medium | high | x-high | inherit</td> - <td>Basic</td> - - <td>4. N/A </td> - </tr> - - - <tr> - <td>pitch-range</td> - <td>number | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>play-during</td> - <td>uri mix? repeat? | auto | none | inherit </td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>precedence</td> - <td>true | false | inherit</td> - <td>Basic</td> - <td>3. do not know where to start </td> - </tr> - - - <tr> - <td>provisional-distance-between-starts</td> - <td>length | inherit</td> - <td>Basic</td> - <td>1. does something, probably wrong </td> - </tr> - - - <tr> - <td>provisional-label-separation</td> - <td>length | inherit</td> - <td>Basic</td> - <td>1. does something, probably wrong </td> - </tr> - - - <tr> - <td>ref-id</td> - <td>idref | inherit</td> - <td>Basic</td> - <td>0. used in pagenumber </td> - </tr> - - - <tr> - <td>reference-orientation</td> - <td> 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit</td> - <td>Basic</td> - <td>2. doable for most objects </td> - </tr> - - - <tr> - <td>region-name</td> - <td>xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator - | xsl-footnote-separator | name - </td> - <td>Basic</td> - - <td>0. done </td> - </tr> - - - <tr> - <td>relative-align</td> - <td>before | baseline | inherit</td> - <td>Basic</td> - - <td>3. have not got to grips with this </td> - </tr> - - - <tr> - <td>richness</td> - <td>number | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>role</td> - <td>string | none | inherit</td> - <td>Basic</td> - <td>4. N/A what should I do with it?</td> - </tr> - - - <tr> - <td>rule-style</td> - <td>none | dotted | dashed | solid | double | groove | ridge | inherit</td> - <td>Basic</td> - - <td>1. done as far as possible </td> - </tr> - - - <tr> - <td>rule-thickness</td> - <td>length</td> - <td>Basic</td> - <td>0. done </td> - </tr> - - - <tr> - <td>source-document</td> - <td>uri+ | none | inherit</td> - <td>Basic</td> - <td>4. N/A not sure what to do with it</td> - </tr> - - - <tr> - <td>space-after</td> - <td>space | inherit</td> - <td>Basic</td> - <td>1. working more or less </td> - </tr> - - - <tr> - <td>space-before</td> - <td>space | inherit</td> - <td>Basic</td> - <td>1. working more or less </td> - </tr> - - - <tr> - <td>space-end</td> - <td>space | inherit</td> - <td>Basic</td> - <td>1. working more or less </td> - </tr> - - - <tr> - <td>space-start</td> - <td>space | inherit</td> - <td>Basic</td> - <td>1. working more or less </td> - </tr> - - - <tr> - <td>speak</td> - <td>normal | none | spell-out | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>speak-header</td> - <td>once | always | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>speak-numeral</td> - <td>digits | continuous | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>speak-punctuation</td> - <td>code | none | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>speech-rate</td> - <td>number | x-slow | slow | medium | fast | x-fast | faster | slower | inherit</td> - <td>Basic</td> - - <td>4. N/A </td> - </tr> - - - <tr> - <td>src</td> - <td> uri | inherit</td> - <td>Basic</td> - <td>0. implemented </td> - </tr> - - - <tr> - <td>start-indent</td> - <td>length | inherit</td> - <td>Basic</td> - <td>0. done </td> - </tr> - - - <tr> - <td>stress</td> - <td>number | inherit</td> - <td>Basic</td> - <td>4. N/A </td> - </tr> - - - <tr> - <td>text-align</td> - <td>start | center | end | justify | inside | outside | left | right | string | inherit</td> - <td>Basic</td> - - <td>0. done </td> - </tr> - - - <tr> - <td>text-indent</td> - <td>length | percentage | inherit</td> - <td>Basic</td> - <td>0. done </td> - </tr> - - - <tr> - <td>visibility</td> - <td>visible | hidden | collapse | inherit</td> - <td>Basic</td> - <td>2. I think can do this </td> - </tr> - - - <tr> - <td>voice-family</td> - <td>[[specific-voice | generic-voice ],]* [specific-voice | generic-voice ] | inherit</td> - <td>Basic</td> - - <td>4. N/A </td> - </tr> - - - <tr> - <td>volume</td> - <td>number | percentage | silent | x-soft | soft | medium | loud | x-loud | inherit</td> - <td>Basic</td> - - <td>4. N/A </td> - </tr> - - - <tr> - <td>widows</td> - <td>integer | inherit</td> - <td>Basic</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>width</td> - <td>length | percentage | auto | inherit</td> - <td>Basic</td> - <td>2. should be OK, waiting for a need </td> - </tr> - - - <tr> - <td>wrap-option</td> - <td>no-wrap | wrap | inherit</td> - <td>Basic</td> - <td>0. should be working </td> - </tr> - - - <tr> - <td>writing-mode</td> - <td>lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit</td> - <td>Basic</td> - <td>3. will need an extended TeX </td> - </tr> - - - <tr> - <td>z-index</td> - <td>auto | integer | inherit</td> - <td>Basic</td> - <td>3. dont know where to start </td> - </tr> - - </table> - </div> - - </p> - - </div> - - - - <div class="teidiv"> - <h3><a name="index-div-c16ab3b3b9c11"></a>5.2. Properties needed for full conformance - </h3> - - <p><a name="c16ab3b3b9c11b2"></a> - - <div align="center"> - <table rules="all" border="1"> - - <tr> - <td>absolute-position</td> - <td>auto | absolute | fixed | inherit</td> - <td>Complete</td> - <td>2. should be doable </td> - </tr> - - - <tr> - <td>background</td> - <td>[background-color || background-image - || background-repeat || background-attachment || background-position - | ]]inherit - </td> - <td>Complete</td> - - <td>1. implemented but very fragile </td> - </tr> - - - <tr> - <td>background-position</td> - <td>[ [percentage | length ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>border</td> - <td>[ border-width || border-style || color ] | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>border-bottom</td> - <td>[ border-top-width || border-style || color ] | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>border-color</td> - <td>color{1,4} | transparent | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>border-left</td> - <td>[ border-top-width || border-style || color ] | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>border-right</td> - <td>[ border-top-width || border-style || color ] | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>border-spacing</td> - <td>length length? | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>border-style</td> - <td>border-style{1,4} | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>border-top</td> - <td>[ border-top-width || border-style || color ] | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>border-width</td> - <td>border-width{1,4} | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>caption-side</td> - <td>before | after | start | end | top | bottom | left | right | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>cue</td> - <td>cue-before || cue-after | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>font</td> - <td>[ [ font-style || font-variant || font-weight ]? font-size [ / line-height]? font-family - ] | caption | icon | menu | message-box | small-caption | status-bar - | inherit - </td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>margin</td> - <td>margin-width{1,4} | inherit </td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>padding</td> - <td>padding-width{1,4} | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>page-break-inside</td> - <td>avoid | auto | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>pause</td> - <td>[time | percentage]{1,2} | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>position</td> - <td>static | relative | absolute | fixed | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>size</td> - <td>length{1,2} | auto | landscape | portrait | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>vertical-align</td> - <td>baseline | middle | sub | super | text-top | text-bottom | percentage | length | top | bottom | inherit</td> - <td>Complete</td> - - <td> </td> - </tr> - - - <tr> - <td>white-space</td> - <td>normal | pre | nowrap | inherit</td> - <td>Complete</td> - <td> </td> - </tr> - - - <tr> - <td>xml:lang</td> - <td>country-language | inherit</td> - <td>Complete</td> - <td>2. not done yet, but will be </td> - </tr> - - </table> - </div> - - </p> - - </div> - - - <div class="teidiv"> - <h3><a name="index-div-c16ab3b3b9c13"></a>5.3. Properties needed for extended conformance - </h3> - - <p><a name="c16ab3b3b9c13b2"></a> - - <div align="center"> - <table rules="all" border="1"> - - <tr> - <td>table-layout</td> - <td>auto | fixed | inherit</td> - <td>Extended.Fallback: fixed</td> - <td> </td> - </tr> - - - <tr> - <td>background-attachment</td> - <td>scroll | fixed | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>2. I can see where I might start </td> - </tr> - - - <tr> - <td>background-image</td> - <td>uri | none | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>2. I can see where I might start </td> - </tr> - - - <tr> - <td>background-position-horizontal</td> - <td>percentage | length | left | center | right | inherit</td> - <td>Extended.Fallback: Initial value</td> - - <td>2. I can see where I might start </td> - </tr> - - - <tr> - <td>background-position-vertical</td> - <td>percentage | length | top | center | bottom | inherit</td> - <td>Extended.Fallback: Initial value</td> - - <td>2. I can see where I might start </td> - </tr> - - - <tr> - <td>border-collapse</td> - <td>collapse | separate | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>border-separation</td> - <td>length-bp-ip-direction | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>column-count</td> - <td>number | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>0. implemented </td> - </tr> - - - <tr> - <td>content-height</td> - <td>auto | length | percentage | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>1. done for graphics </td> - </tr> - - - <tr> - <td>content-width</td> - <td>auto | length | percentage | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>1. done for graphics </td> - </tr> - - - <tr> - <td>country</td> - <td>none | country | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>2. waiting to find a use for it </td> - </tr> - - - <tr> - <td>empty-cells</td> - <td>show | hide | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>ends-row</td> - <td>yes | no</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>font-height-override-after</td> - <td>use-font-metrics | length | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>3. need extended TeX </td> - </tr> - - - <tr> - <td>font-height-override-before</td> - <td>use-font-metrics | length | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>3. need extended TeX </td> - </tr> - - - <tr> - <td>font-size-adjust</td> - <td>number | none | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>2. doable, I think </td> - </tr> - - - <tr> - <td>font-stretch</td> - <td>normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | - expanded | extra-expanded | ultra-expanded |inherit - </td> - <td>Extended.Fallback: Initial value</td> - - <td>0. should be OK </td> - </tr> - - - <tr> - <td>glyph-orientation-horizontal</td> - <td>angle | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>3. need extended TeX </td> - </tr> - - - <tr> - <td>glyph-orientation-vertical</td> - <td>auto | angle | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>3. need extended TeX </td> - </tr> - - - <tr> - <td>hyphenate</td> - <td>false | true | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>0. done </td> - </tr> - - - <tr> - <td>keep-together</td> - <td>keep | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>language</td> - <td>none | language | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>0. done, if underlying TeX system OK </td> - </tr> - - - <tr> - <td>last-line-end-indent</td> - <td>length | percentage | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>leader-alignment</td> - <td>none | reference-area | page | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>leader-pattern-width</td> - <td>use-font-metrics | length | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>letter-spacing</td> - <td>normal | length | space | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>2. doable in limited circumstances </td> - </tr> - - - <tr> - <td>line-height-shift-adjustment</td> - <td>consider-shifts | disregard-shifts | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>linefeed-treatment</td> - <td>ignore | preserve | treat-as-space | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>2. doable, if tiresome </td> - </tr> - - - <tr> - <td>relative-position</td> - <td>auto | static | relative | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>scaling</td> - <td>uniform | non-uniform | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>0. ok </td> - </tr> - - - <tr> - <td>scaling-method</td> - <td>auto | integer-pixels | resample-any-method | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>4. N/A, I think </td> - </tr> - - - <tr> - <td>score-spaces</td> - <td>true | false | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>3. dont think I can do this </td> - </tr> - - - <tr> - <td>space-treatment</td> - <td>ignore | preserve | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>0. seems to work </td> - </tr> - - - <tr> - <td>span</td> - <td>none | all | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>3. proving hard </td> - </tr> - - - <tr> - <td>starts-row</td> - <td>yes | - no - </td> - <td>Extended.Fallback: Initial value</td> - - <td>0. works</td> - </tr> - - - <tr> - <td>suppress-at-line-break</td> - <td>auto | suppress | retain | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>table-omit-footer-at-break</td> - <td>yes | no</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>table-omit-header-at-break</td> - <td>yes | no</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>text-align-last</td> - <td>relative | start | center | end | justify | inside | outside | left | right | string | inherit</td> - <td>Extended.Fallback: Initial value</td> - - <td>1. works, usually </td> - </tr> - - - <tr> - <td>text-decoration</td> - <td>none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink - ] ] - - | inherit - </td> - <td>Extended.Fallback: Initial value</td> - - <td>1. done for some possibilities, not all </td> - </tr> - - - <tr> - <td>text-shadow</td> - <td>none | [color || length length length? ,]* [color || length length length?] | inherit</td> - <td>Extended.Fallback: Initial value</td> - - <td> </td> - </tr> - - - <tr> - <td>text-transform</td> - <td>capitalize | uppercase | lowercase | none | </td> - <td>Extended.Fallback: Initial value</td> - <td>2. doable </td> - </tr> - - - <tr> - <td>treat-as-word-space</td> - <td>auto | yes | no | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>white-space-collapse</td> - <td>false | true | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td>0. Done </td> - </tr> - - - <tr> - <td>word-spacing</td> - <td>normal | length | space | inherit</td> - <td>Extended.Fallback: Initial value</td> - <td> </td> - </tr> - - - <tr> - <td>bottom</td> - <td>length | percentage | auto | inherit</td> - <td>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</td> - <td>2. doable, I think </td> - </tr> - - - <tr> - <td>left</td> - <td>length | percentage | auto | inherit</td> - <td>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</td> - <td>2. doable, I think </td> - </tr> - - - <tr> - <td>right</td> - <td>length | percentage | auto | inherit</td> - <td>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</td> - <td>2. doable, I think </td> - </tr> - - - <tr> - <td>top</td> - <td>length | percentage | auto | inherit</td> - <td>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</td> - <td>2. doable, I think </td> - </tr> - - - <tr> - <td>column-gap</td> - <td>length | percentage | inherit</td> - <td>Extended.Fallback: N/A due to fallback for column-count</td> - <td>1. implemented (not for all value types) </td> - </tr> - - - <tr> - <td>hyphenation-character</td> - <td>character | inherit</td> - <td>Extended.Fallback: N/A due to fallback for hyphenate</td> - <td>3. need to think about how to do this </td> - </tr> - - - <tr> - <td>hyphenation-keep</td> - <td>auto | column | page | inherit</td> - <td>Extended.Fallback: N/A due to fallback for hyphenate</td> - <td>3. not sure how to do this </td> - </tr> - - - <tr> - <td>hyphenation-ladder-count</td> - <td>no-limit | number | inherit</td> - <td>Extended.Fallback: N/A due to fallback for hyphenate</td> - <td>3. I dont see how to do this </td> - </tr> - - - <tr> - <td>hyphenation-push-character-count</td> - <td>number | inherit</td> - <td>Extended.Fallback: N/A due to fallback for hyphenate</td> - <td>2. I think this maps in TeX </td> - </tr> - - - <tr> - <td>hyphenation-remain-character-count</td> - <td>number | inherit</td> - <td>Extended.Fallback: N/A due to fallback for hyphenate</td> - <td>2. I think this maps in TeX </td> - </tr> - - - <tr> - <td>color-profile-name</td> - <td>name | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:color-profile</td> - <td>3. would need a lot of thought </td> - </tr> - - - <tr> - <td>rendering-intent</td> - <td>auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:color-profile</td> - <td>3. not sure how to do this </td> - </tr> - - - <tr> - <td>clear</td> - <td>start | end | left | right | both | none | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:float</td> - <td> </td> - </tr> - - - <tr> - <td>float</td> - <td>before | start | end | left | right | none | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:float</td> - <td> </td> - </tr> - - - <tr> - <td>marker-class-name</td> - <td>name</td> - <td>Extended.Fallback: N/A use fallback for fo:marker</td> - <td> </td> - </tr> - - - <tr> - <td>active-state</td> - <td>link | visited | active | hover | focus</td> - <td>Extended.Fallback: N/A use fallback for fo:multi-properties</td> - <td> </td> - </tr> - - - <tr> - <td>auto-restore</td> - <td>yes | no</td> - <td>Extended.Fallback: N/A use fallback for fo:multi-switch</td> - <td> </td> - </tr> - - - <tr> - <td>case-name</td> - <td>name</td> - <td>Extended.Fallback: N/A use fallback for fo:multi-switch</td> - <td> </td> - </tr> - - - <tr> - <td>case-title</td> - <td>string</td> - <td>Extended.Fallback: N/A use fallback for fo:multi-switch</td> - <td> </td> - </tr> - - - <tr> - <td>starting-state</td> - <td>show | hide</td> - <td>Extended.Fallback: N/A use fallback for fo:multi-switch</td> - <td> </td> - </tr> - - - <tr> - <td>switch-to</td> - <td>xsl-preceding | xsl-following | xsl-any | name[ name]*</td> - <td>Extended.Fallback: N/A use fallback for fo:multi-switch</td> - <td> </td> - </tr> - - - <tr> - <td>extent</td> - <td>length | percentage | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:region-before, fo:region-after, fo:region-start, and fo:region-end</td> - <td> </td> - </tr> - - - <tr> - <td>blank-or-not-blank</td> - <td>blank | not-blank | any | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives</td> - <td>3. dont want to think about it </td> - </tr> - - - <tr> - <td>odd-or-even</td> - <td>odd | even | any | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives</td> - <td> </td> - </tr> - - - <tr> - <td>page-position</td> - <td>first | last | rest | any | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives</td> - <td> </td> - </tr> - - - <tr> - <td>maximum-repeats</td> - <td>number | no-limit | inherit</td> - <td>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-reference and fo:repeatable-page-master-alternatives</td> - <td> </td> - </tr> - - - <tr> - <td>retrieve-boundary</td> - <td>page | page-sequence | document</td> - <td>Extended.Fallback: N/A use fallback for fo:retrieve-marker</td> - <td> </td> - </tr> - - - <tr> - <td>retrieve-class-name</td> - <td>name</td> - <td>Extended.Fallback: - N/A use fallback for fo:retrieve-marker - </td> - <td>1. works usually </td> - </tr> - - - <tr> - <td>retrieve-position</td> - <td>first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page</td> - <td>Extended.Fallback: N/A use fallback for fo:retrieve-marker</td> - - <td> </td> - </tr> - - - <tr> - <td>destination-placement-offset</td> - <td>length</td> - <td>Extended.Fallback: N/A use fallback for fo:simple-link</td> - <td> </td> - </tr> - - - <tr> - <td>external-destination</td> - <td>uri-reference</td> - <td>Extended.Fallback: - N/A use fallback for fo:simple-link - </td> - <td>0. works ok </td> - </tr> - - - <tr> - <td>indicate-destination</td> - <td>yes | - no - </td> - <td>Extended.Fallback: N/A use fallback for - fo:simple-link - </td> - <td>1. should work </td> - </tr> - - - <tr> - <td>internal-destination</td> - <td>null string | - idref - </td> - <td>Extended.Fallback: N/A use fallback for - fo:simple-link - </td> - <td>0. works </td> - </tr> - - - <tr> - <td>show-destination</td> - <td>replace | new</td> - <td>Extended.Fallback: N/A use fallback for fo:simple-link</td> - <td> </td> - </tr> - - - <tr> - <td>force-page-count</td> - <td>auto | even | odd | end-on-even | end-on-odd | no-force | inherit</td> - <td>Extended.Fallback: no-force</td> - - <td> </td> - </tr> - - - <tr> - <td>background-repeat</td> - <td>repeat | repeat-x | repeat-y | no-repeat | inherit</td> - <td>Extended.Fallback: no-repeat</td> - <td> </td> - </tr> - - - <tr> - <td>script</td> - <td>none | auto | script | inherit</td> - <td>Extended.Fallback: none</td> - <td>4. dont know what to do with it </td> - </tr> - - - <tr> - <td>unicode-bidi</td> - <td>normal | embed | bidi-override | inherit</td> - <td>Extended.Fallback: See prose</td> - <td> </td> - - </tr> - - </table> - </div> - - </p> - - </div> - - - </div> - - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3c11"></a>6. Sample files - </h2> - - - <p><a name="c16ab3b3c11b3"></a> - - <ul> - <li><a name="c16ab3b3c11b3b1b1"></a> The TEI Lite description (<a href="test/teiu5.xml" target="_top">teiu5.xml</a>) converted PDF as <a href="test/teiu5.pdf" target="_top">teiu5.pdf</a></li> - <li><a name="c16ab3b3c11b3b1b3"></a> A TEI test file (<a href="test/exercise.xml" target="_top">exercise.xml</a>) - converted to PDF as <a href="test/exercise.pdf" target="_top">exercise.pdf</a></li> - <li><a name="c16ab3b3c11b3b1b5"></a> A physics paper (<a href="test/latextei.xml" target="_top">latextei.xml</a>) containing a fair - amount of MathML markup, originally - translated from LaTeX into XML. - It is used extensively as an example in the - <a href="http://cseng.awl.com/bookpage.taf?ISBN=0-201-43311-7&ptype=0&catid=&navmin=&ctype=author&catpage=&seriesid=" target="_top">LaTeX Web Companion</a>. - Here we see it - converted to <a href="test/latextei.pdf" target="_top">latextei.pdf</a> using - <a href="test/latextei.xsl" target="_top">test/latextei.xsl</a></li> - <li><a name="c16ab3b3c11b3b1b7"></a> James Tauber prepared a simple XSL spec (<a href="test/darkness.xsl" target="_top">darkness.xsl</a>) for Joseph Conrad's - <a href="test/darkness.xml" target="_top"><em>Heart of - Darkness</em></a>, which I ran to PDF as <a href="test/darkness.pdf" target="_top">darkness.pdf</a></li> - </ul> - - </p> - - </div> - - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3c13"></a>7. Concerns and problems - </h2> - - - <p><a name="c16ab3b3c13b3"></a> - Some points to bear in mind - - <ol> - <li><a name="c16ab3b3c13b3b1b1"></a> Obviously, the XSL FO spec is still a draft. - And this system is not conforming - precisely to the current draft. - </li> - <li><a name="c16ab3b3c13b3b1b3"></a> This is an experiment system to check whether the - idea works. Expect something more polished eventually. - </li> - <li><a name="c16ab3b3c13b3b1b5"></a> You need a modern TeX setup (like - <a href="http://www.tug.org/teTeX/" target="_top">teTeX</a> or - <a href="http://www.tug.org/texlive/" target="_top">TeX Live</a>) - to get to grips with it. - </li> - <li><a name="c16ab3b3c13b3b1b7"></a> Quite a few flow objects and characteristics are not dealt with yet. - I will add support for more things as needed or requested. - </li> - <li><a name="c16ab3b3c13b3b1b9"></a> I do not have any objective check that what I think XSL FOs are - supposed to do is actually right :-} - </li> - <li><a name="c16ab3b3c13b3b1c11"></a> I have only worked so far with the TEI Lite (XML version) and - Docbook DTDs, and probably misinterpreted half of what they say. - </li> - </ol> - - </p> - - </div> - - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3c15"></a>8. Things for LaTeX users to remember - </h2> - - - <p><a name="c16ab3b3c15b3"></a> - - <ul> - <li><a name="c16ab3b3c15b3b1b1"></a> 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 <tt>fotex:</tt> namespace are supported - (eg to get Acrobat bookmarks) - - </li> - <li><a name="c16ab3b3c15b3b1b3"></a> XSL FO's underlying character set is Unicode; by default, - entities are mapped to their Unicode position; - - </li> - <li><a name="c16ab3b3c15b3b1b5"></a> All vertical and horizontal space is explicit in the - specification - - </li> - <li><a name="c16ab3b3c15b3b1b7"></a> Page and line breaking is left to TeX: the rest is up to you. - - </li> - </ul> - - </p> - - </div> - - - <div class="teidiv"> - <h2><a name="index-div-c16ab3b3c17"></a>9. Future directions - </h2> - - - <p><a name="c16ab3b3c17b3"></a> - - <ul> - <li><a name="c16ab3b3c17b3b1b1"></a>Complete the MathML handling - </li> - <li><a name="c16ab3b3c17b3b1b3"></a>Handle more variety in property values (eg colors, fonts) - </li> - <li><a name="c16ab3b3c17b3b1b5"></a>Deal with more complex tables - </li> - <li><a name="c16ab3b3c17b3b1b7"></a>Support SVG. How? - - <ul> - <li><a name="c16ab3b3c17b3b1b7b1b1"></a>By direct intepretation and mapping to raw PDF - </li> - <li><a name="c16ab3b3c17b3b1b7b1b3"></a>By translation to MetaPost, and spawning a MetaPost process - </li> - <li><a name="c16ab3b3c17b3b1b7b1b5"></a>By pre-processing to existing TeX graphics languages - </li> - </ul> - In any case, SVG fragments need to be recognized directly to perform in-line - graphical functions (setting text at an angle?) - - </li> - <li><a name="c16ab3b3c17b3b1b9"></a>Use Unicode-based TeX variant (Omega) to handle non-Latin material - more naturally - </li> - </ul> - - </p> - - <p><a name="c16ab3b3c17b5"></a> - I will be very glad to discuss details with anyone. Contact me (Sebastian Rahtz) as - <a href="mailto:sebastian.rahtz@oucs.ox.ac.uk" target="_top">sebastian.rahtz@oucs.ox.ac.uk</a> - - </p> - - </div> - - <hr> - <div class="footer"><a target="_top" class="plain" href="http://www.ox.ac.uk/">Oxford University</a> - | <a target="_top" class="plain" href="http://www.oucs.ox.ac.uk/">OUCS</a> - | <a target="_top" class="plain" href="http://wwwsearch.ox.ac.uk/cgi-bin/oxunit?oucs">Search</a> - | <a target="_top" class="plain" href="mailto:feedback@oucs.ox.ac.uk">Feedback</a></div> - <hr> - <address>Date: November 2000 - (revised 2000/12/11) - Author: . - <br><a href="/documentation/copyright.html">©</a> Oxford - University Computing Services. - <!--Generated - using an XSLT version 1 stylesheet - based on http://www.oucs.ox.ac.uk/stylesheets/teihtml.xsl - processed using: - `SAXON 5.5.1 from Michael Kay of ICL' - ---> - </address> - </body> -</html>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml b/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml deleted file mode 100644 index bfc33c1f6bb..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/latextei-fo.xml +++ /dev/null @@ -1,647 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<fo:root xmlns:fo="http://www.w3.org/XSL/Format/1.0" xmlns:fop="http://www.jtauber.com/fop" xmlns:fotex="http://www.tug.org/fotex"><fo:layout-master-set><fo:simple-page-master page-master-name="left" margin-top="75pt" margin-bottom="100pt" margin-left="80pt" margin-right="150pt"><fo:region-body margin-bottom="24pt" margin-top="24pt"/><fo:region-after extent="25pt"/><fo:region-before extent="25pt"/></fo:simple-page-master><fo:simple-page-master page-master-name="right" margin-top="75pt" margin-bottom="100pt" margin-left="80pt" margin-right="150pt"><fo:region-body margin-bottom="24pt" margin-top="24pt"/><fo:region-after extent="25pt"/><fo:region-before extent="25pt"/></fo:simple-page-master><fo:simple-page-master page-master-name="first" margin-top="75pt" margin-bottom="100pt" margin-left="80pt" margin-right="150pt"><fo:region-body margin-bottom="24pt" margin-top="24pt"/><fo:region-after extent="25pt"/><fo:region-before extent="25pt"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence><fo:static-content flow-name="xsl-after"/><fo:static-content flow-name="xsl-before"/><fo:sequence-specification><fo:sequence-specifier-single page-master="right"/></fo:sequence-specification><fo:flow> - <fo:block font-size="18pt" space-after="8pt" text-align-last="centered"> - Simulation of Energy Loss Straggling - </fo:block> - <fo:block space-after="6pt" font-size="14pt" text-align-last="centered"><fo:inline-sequence font-style="italic">Maria Physicist</fo:inline-sequence></fo:block> - <fo:block space-after="6pt" font-size="16pt" text-align-last="centered">January 17, 1999</fo:block> - </fo:flow></fo:page-sequence><fo:page-sequence initial-page-number="1"><fo:sequence-specification><fo:sequence-specifier-alternating page-master-first="first" page-master-odd="right" page-master-even="left"/></fo:sequence-specification><fo:static-content flow-name="xsl-after" fop:master="right"><fo:block font-size="10pt"><fo:inline-rule rule-thickness="0pt"/><fo:page-number/></fo:block></fo:static-content><fo:static-content flow-name="xsl-after" fop:master="left"><fo:block font-size="10pt"><fo:page-number/><fo:inline-rule rule-thickness="0pt"/></fo:block></fo:static-content><fo:static-content flow-name="xsl-before" fop:master="right"><fo:block text-align-last="centered" font-size="10pt"><!--Running Head: title-->Simulation of Energy Loss Straggling</fo:block></fo:static-content><fo:static-content flow-name="xsl-before" fop:master="left"><fo:block text-align-last="centered" font-size="10pt"><!--Running Head: author-->Maria Physicist</fo:block></fo:static-content><fo:static-content flow-name="xsl-before" fop:master="first"/><fo:static-content flow-name="xsl-after" fop:master="first"><fo:block font-size="10pt"><fo:inline-rule rule-thickness="0pt"/><fo:page-number/><fo:inline-rule rule-thickness="0pt"/></fo:block></fo:static-content><fo:flow font-family="Times Roman" font-size="10pt"> <fo:block keep-with-next="true" id="intro" text-align="start" font-size="18pt" text-indent="-3em" font-weight="bold" space-after="6pt" space-before.optimum="12pt">1. Introduction<fotex:bookmark fotex-bookmark-level="0" fotex-bookmark-label="intro">1. Introduction</fotex:bookmark></fo:block> <fo:block font-size="10pt" text-align="justified">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 <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath>, which is -proportional to the ratio of mean energy loss to the maximum allowed -energy transfer in a single collision with an atomic electron - <fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"> <mi>κ</mi><mo>=</mo> -<mfrac> - <mrow><mi>ξ</mi></mrow> - <mrow> - <msub><mi>E</mi><mi>max</mi></msub> - </mrow> -</mfrac> -</mrow> -</fotex:displaymath> -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>max</mi></msub></fotex:inlinemath> is the -maximum transferable energy in a single collision with an atomic electron. -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"> - <msub><mi>E</mi><mi>max</mi></msub><mo>=</mo> <mfrac><mrow><mn>2</mn><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>+</mo><mn>2</mn><mi>γ</mi><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><mo>/</mo><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub><mo>+</mo><msup><mfenced open="(" close=")"><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><mo>/</mo><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub> </mfenced><mrow><mn>2</mn></mrow></msup></mrow></mfrac><mo>,</mo> -</mrow></fotex:displaymath> where -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">γ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mrow><mi>x</mi></mrow></msub></fotex:inlinemath>, -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi></fotex:inlinemath> is energy and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mrow><mi>x</mi></mrow></msub></fotex:inlinemath> the mass of the -incident particle, <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>γ</mi><mrow><mn>2</mn></mrow></msup></fotex:inlinemath> -and <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mrow><mi>e</mi></mrow></msub></fotex:inlinemath> is the -electron mass. <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi></fotex:inlinemath> -comes from the Rutherford scattering crosss section and is defined as: - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>2</mn><mi>π</mi><msup><mi>z</mi><mrow><mn>2</mn></mrow></msup><msup><mi>e</mi><mrow><mn>4</mn></mrow></msup><msub><mi>N</mi><mrow><mi>A</mi><mi>v</mi></mrow></msub><mi>Z</mi><mi>ρ</mi><mi>δ</mi><mi>x</mi></mrow><mrow><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mi>A</mi></mrow></mfrac> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">5</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">3</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">4</mn> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><msup><mi>z</mi><mrow><mn>2</mn></mrow></msup></mrow><mrow><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>Z</mi></mrow><mrow><mi>A</mi></mrow></mfrac><mi xmlns="http://www.w3.org/1998/Math/MathML">ρ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi><mspace width="12pt" xmlns="http://www.w3.org/1998/Math/MathML"/><mi xmlns="http://www.w3.org/1998/Math/MathML">keV </mi><mo xmlns="http://www.w3.org/1998/Math/MathML">,</mo> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -where -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt"><fo:inline-included-container><fo:table id="N610"><fo:table-body><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">z</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>charge of the incident particle </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>N</mi><mrow><mi>A</mi><mi>v</mi></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>Avogadro's number </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">Z</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>atomic number of the material</fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">A</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>atomic weight of the material </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ρ</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>density </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>thickness of the material </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence> </fo:inline-sequence></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:inline-included-container> -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt"><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath> -measures the contribution of the collisions with energy transfer close to -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>max</mi></msub></fotex:inlinemath>. For a given absorber, -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath> tends towards large -values if <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath> is large -and/or if <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">β</mi></fotex:inlinemath> is small. -Likewise, <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath> tends -towards zero if <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath> is -small and/or if <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">β</mi></fotex:inlinemath> -approaches 1. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The value of <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath> -distinguishes two regimes which occur in the description of ionisation fluctuations -: -</fo:block><fo:list-block font-size="10pt" margin-right="10pt" space-before.optimum="10pt" space-after.optimum="10pt" margin-left="15pt"><fo:list-item><fo:list-item-label><fo:block margin-right="2.5pt" text-align="centered">•</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> -<fo:block font-size="10pt" text-align="justified">A -large -number -of -collisions -involving -the -loss -of -all -or -most -of -the -incident -particle -energy -during -the -traversal -of -an -absorber. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">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 -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">></mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath> -(i.e. -when -the -mean -energy -loss -in -the -absorber -is -greater -than -the -maximum -energy -transfer -in -a -single -collision). -</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item><fo:list-item-label><fo:block margin-right="2.5pt" text-align="centered">•</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> -<fo:block font-size="10pt" text-align="justified">Particles -traversing -thin -counters -and -incident -electrons -under -any -conditions. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The -relevant -inequalities -and -distributions -are -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mo xmlns="http://www.w3.org/1998/Math/MathML"><</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML"><</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath>, -Vavilov -distribution, -and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML"><</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></fotex:inlinemath>, -Landau -distribution.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">An additional regime is defined by the contribution of the collisions -with low energy transfer which can be estimated with the relation -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>0</mn></mrow></msub></fotex:inlinemath>, -where <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>0</mn></mrow></msub></fotex:inlinemath> -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 -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>0</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">≫</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></fotex:inlinemath>. In <fo:inline-sequence font-family="Computer-Modern-Typewriter">GEANT</fo:inline-sequence> (see -URL <fo:inline-sequence font-family="Computer-Modern-Typewriter" color="green"><fo:simple-link external-destination="http://wwwinfo.cern.ch/asdoc/geant/geantall.html">http://wwwinfo.cern.ch/asdoc/geant/geantall.html</fo:simple-link></fo:inline-sequence>), the limit of Landau theory has -been set at <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>0</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">5</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath>. -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 <fo:inline-sequence color="green"><fo:simple-link internal-destination="fg:phys332-1">1</fo:simple-link></fo:inline-sequence> shows the behaviour -of <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>0</mn></mrow></msub></fotex:inlinemath> as -a function of the layer thickness for an electron of 100 keV and 1 GeV of kinetic -energy in Argon, Silicon and Uranium. -</fo:block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt"><fo:float id="fg:phys332-1"><fo:block text-align-last="centered"><fo:display-graphic href="phys332-1"/></fo:block><fo:block text-align-last="centered">Figure 1. The variable <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>0</mn></mrow></msub></fotex:inlinemath> -can be used to measure the validity range of the Landau -theory. It depends on the type and energy of the particle, -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">Z</mi></fotex:inlinemath>, -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">A</mi></fotex:inlinemath> -and the ionisation potential of the material and the layer thickness. </fo:block></fo:float></fo:block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">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. -</fo:block> - -<fo:block keep-with-next="true" id="sec:phys332-1" text-align="start" font-size="18pt" text-indent="-3em" font-weight="bold" space-after="6pt" space-before.optimum="12pt">2. Landau theory<fotex:bookmark fotex-bookmark-level="0" fotex-bookmark-label="sec:phys332-1">2. Landau theory</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">For a particle of mass <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mrow><mi>x</mi></mrow></msub></fotex:inlinemath> traversing -a thickness of material <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath>, -the Landau probability distribution may be written in terms of the universal Landau -function <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">φ</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>λ</mi><mo>)</mo></mrow></fotex:inlinemath> -as<fo:inline-sequence color="green"><fo:simple-link internal-destination="bib-LAND"> [1]</fo:simple-link></fo:inline-sequence>: - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>ε</mi><mo>,</mo><mi>δ</mi><mi>x</mi><mo>)</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mi>ξ</mi></mrow></mfrac><mi xmlns="http://www.w3.org/1998/Math/MathML">φ</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>λ</mi><mo>)</mo></mrow> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -where - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">φ</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>λ</mi><mo>)</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mn>2</mn><mi>π</mi><mi>i</mi></mrow></mfrac><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∫</mo> - <mrow><mi>c</mi><mo>+</mo><mi>i</mi><mi>∞</mi></mrow><mrow><mi>c</mi><mo>-</mo><mi>i</mi><mi>∞</mi></mrow></msubsup><mo xmlns="http://www.w3.org/1998/Math/MathML">exp</mo><mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mo>ln</mo><mi>u</mi><mo>+</mo><mi>λ</mi><mi>u</mi></mfenced><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">u</mi><mspace width="2cm" xmlns="http://www.w3.org/1998/Math/MathML"/><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">λ</mi> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>ε</mi><mo>-</mo><munderover accent="true"><mo>̄</mo><mi>ε</mi><mrow/></munderover></mrow><mrow><mi>ξ</mi></mrow></mfrac> <mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">γ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">′</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">ln</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>ξ</mi></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow></mfrac> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">γ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">′</mi> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">4</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">7</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">8</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">4</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">γ</mi> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">γ</mi> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">5</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">7</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">7</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">5</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mtext xmlns="http://www.w3.org/1998/Math/MathML">(Eulers constant)</mtext> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><munderover accent="true" xmlns="http://www.w3.org/1998/Math/MathML"><mo>̄</mo><mi>ε</mi><mrow/></munderover> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mtext xmlns="http://www.w3.org/1998/Math/MathML">average energy loss</mtext> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ε</mi> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mtext xmlns="http://www.w3.org/1998/Math/MathML">actual energy loss</mtext> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -</fo:block> -<fo:block keep-with-next="true" id="N1783" text-align="start" font-size="14pt" text-indent="-3em" font-weight="bold" space-after="3pt" space-before.optimum="9pt">2.1. Restrictions<fotex:bookmark fotex-bookmark-level="1" fotex-bookmark-label="N1783">2.1. Restrictions</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">The Landau formalism makes two restrictive assumptions : -</fo:block><fo:list-block font-size="10pt" margin-right="10pt" space-before.optimum="10pt" space-after.optimum="10pt" margin-left="15pt"><fo:list-item><fo:list-item-label><fo:block margin-right="2.5pt" text-align="centered">•</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> -<fo:block font-size="10pt" text-align="justified">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 -<fo:inline-sequence color="green"><fo:simple-link internal-destination="vavref">3 (Vavilov theory)</fo:simple-link></fo:inline-sequence>). -</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item><fo:list-item-label><fo:block margin-right="2.5pt" text-align="centered">•</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> -<fo:block font-size="10pt" text-align="justified">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<fo:inline-sequence color="green"><fo:simple-link internal-destination="bib-TALM"> [4]</fo:simple-link></fo:inline-sequence> -is -necessary -to -accurately -simulate -data -distributions. -In -<fo:inline-sequence font-family="Computer-Modern-Typewriter">GEANT</fo:inline-sequence>, -a -parameterised -model -by -L. -Urbán -is -used -(see -section -<fo:inline-sequence color="green"><fo:simple-link internal-destination="urban">5 (Urbán model)</fo:simple-link></fo:inline-sequence>).</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">In addition, the average value of the Landau distribution is infinite. -Summing the Landau fluctuation obtained to the average energy from the -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath> -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. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">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 <fo:inline-sequence font-family="Computer-Modern-Typewriter">GLANDO</fo:inline-sequence> routine is: -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>δ</mi><mi>d</mi><mi>E</mi><mo>/</mo><mi>d</mi><mi>x</mi><mo>=</mo><mi>ε</mi><mo>-</mo><munderover accent="true"><mo>̄</mo><mi>ε</mi><mrow/></munderover><mo>=</mo><mi>ξ</mi><mrow><mo>(</mo><mi>λ</mi><mo>-</mo><mi>γ</mi><mi>′</mi><mo>+</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>+</mo><mo>ln</mo> <mfrac><mrow><mi>ξ</mi></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow></mfrac> <mo>)</mo></mrow> -</mrow></fotex:displaymath> -In order for this to have average 0, we must impose that: -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"> - <munderover accent="true"><mo>̄</mo><mi>λ</mi><mrow/></munderover><mo>=</mo><mo>-</mo><mi>γ</mi><mi>′</mi><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>-</mo><mo>ln</mo> <mfrac><mrow><mi>ξ</mi></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow></mfrac> -</mrow></fotex:displaymath> -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">This is realised introducing a <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><munderover accent="true"><mo>̄</mo><mi>λ</mi><mrow/></munderover><mo>)</mo></mrow></fotex:inlinemath> -such that if only values of <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">λ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub></fotex:inlinemath> -are accepted, the average value of the distribution is -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><munderover accent="true" xmlns="http://www.w3.org/1998/Math/MathML"><mo>̄</mo><mi>λ</mi><mrow/></munderover></fotex:inlinemath>. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">A parametric fit to the universal Landau distribution has been performed, with following result: -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"> - <msub><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub><mo>=</mo><mn>0</mn><mo>.</mo><mn>6</mn><mn>0</mn><mn>7</mn><mn>1</mn><mn>5</mn><mo>+</mo><mn>1</mn><mo>.</mo><mn>1</mn><mn>9</mn><mn>3</mn><mn>4</mn><munderover accent="true"><mo>̄</mo><mi>λ</mi><mrow/></munderover><mo>+</mo><mrow><mo>(</mo><mn>0</mn><mo>.</mo><mn>6</mn><mn>7</mn><mn>7</mn><mn>9</mn><mn>4</mn><mo>+</mo><mn>0</mn><mo>.</mo><mn>0</mn><mn>5</mn><mn>2</mn><mn>3</mn><mn>8</mn><mn>2</mn><munderover accent="true"><mi>λ</mi><mrow/><mo>̄</mo></munderover><mo>)</mo></mrow><mo>exp</mo><mrow><mo>(</mo><mn>0</mn><mo>.</mo><mn>9</mn><mn>4</mn><mn>7</mn><mn>5</mn><mn>3</mn><mo>+</mo><mn>0</mn><mo>.</mo><mn>7</mn><mn>4</mn><mn>4</mn><mn>4</mn><mn>2</mn><munderover accent="true"><mi>λ</mi><mrow/><mo>̄</mo></munderover><mo>)</mo></mrow> -</mrow></fotex:displaymath> only values -smaller than <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub></fotex:inlinemath> -are accepted, otherwise the distribution is resampled. -</fo:block> - - -<fo:block keep-with-next="true" id="vavref" text-align="start" font-size="18pt" text-indent="-3em" font-weight="bold" space-after="6pt" space-before.optimum="12pt">3. Vavilov theory<fotex:bookmark fotex-bookmark-level="0" fotex-bookmark-label="vavref">3. Vavilov theory</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">Vavilov<fo:inline-sequence color="green"><fo:simple-link internal-destination="bib-VAVI"> [5]</fo:simple-link></fo:inline-sequence> derived a more accurate straggling distribution by introducing the kinematic -limit on the maximum transferable energy in a single collision, rather than using -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>max</mi></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">∞</mi></fotex:inlinemath>. Now -we can write<fo:inline-sequence color="green"><fo:simple-link internal-destination="bib-SCH1"> [2]</fo:simple-link></fo:inline-sequence>: - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi> <mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><mi>ε</mi><mo>,</mo><mi>δ</mi><mi>s</mi></mfenced> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mi>ξ</mi></mrow></mfrac><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>φ</mi><mrow><mi>v</mi></mrow></msub> <mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub><mo>,</mo><mi>κ</mi><mo>,</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mfenced> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -where - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>φ</mi><mrow><mi>v</mi></mrow></msub> <mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub><mo>,</mo><mi>κ</mi><mo>,</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mfenced> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mn>2</mn><mi>π</mi><mi>i</mi></mrow></mfrac><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∫</mo> - <mrow><mi>c</mi><mo>+</mo><mi>i</mi><mi>∞</mi></mrow><mrow><mi>c</mi><mo>-</mo><mi>i</mi><mi>∞</mi></mrow></msubsup><mi xmlns="http://www.w3.org/1998/Math/MathML">φ</mi><mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi></mfenced><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mrow><mi>λ</mi><mi>s</mi></mrow></msup><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">s</mi><mspace width="2cm" xmlns="http://www.w3.org/1998/Math/MathML"/><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">φ</mi><mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi></mfenced> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mo xmlns="http://www.w3.org/1998/Math/MathML">exp</mo><mfenced open="[" close="]" xmlns="http://www.w3.org/1998/Math/MathML"><mi>κ</mi><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mi>γ</mi><mo>)</mo></mrow></mfenced><mo xmlns="http://www.w3.org/1998/Math/MathML">exp</mo><mfenced open="[" close="]" xmlns="http://www.w3.org/1998/Math/MathML"><mi>ψ</mi> <mfenced open="(" close=")"><mi>s</mi></mfenced></mfenced><mo xmlns="http://www.w3.org/1998/Math/MathML">,</mo> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">ψ</mi> <mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><mi>s</mi></mfenced> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mi xmlns="http://www.w3.org/1998/Math/MathML">s</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">ln</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>s</mi><mo>+</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mi>κ</mi><mo>)</mo></mrow><mfenced open="[" close="]" xmlns="http://www.w3.org/1998/Math/MathML"><mo>ln</mo><mrow><mo>(</mo><mi>s</mi><mo>/</mo><mi>κ</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>E</mi><mrow> -<mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>s</mi><mo>/</mo><mi>κ</mi><mo>)</mo></mrow></mfenced><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mrow><mo>-</mo><mi>s</mi><mo>/</mo><mi>κ</mi></mrow></msup><mo xmlns="http://www.w3.org/1998/Math/MathML">,</mo> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -and - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>1</mn></mrow></msub><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>z</mi><mo>)</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msubsup xmlns="http://www.w3.org/1998/Math/MathML"> <mo>∫</mo> - <mrow><mi>∞</mi></mrow><mrow><mi>z</mi></mrow></msubsup><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>t</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mrow><mo>-</mo><mi>t</mi></mrow></msup><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">t</mi><mspace width="1cm" xmlns="http://www.w3.org/1998/Math/MathML"/><mtext xmlns="http://www.w3.org/1998/Math/MathML">(the exponential integral)</mtext> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>v</mi></mrow></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mfenced open="[" close="]" xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mrow><mi>ε</mi><mo>-</mo><munderover accent="true"><mo>̄</mo><mi>ε</mi><mrow/></munderover></mrow><mrow><mi>ξ</mi></mrow></mfrac> <mo>-</mo><mi>γ</mi><mi>′</mi><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mfenced> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The Vavilov parameters are simply related to the Landau parameter by -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>L</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>v</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mo xmlns="http://www.w3.org/1998/Math/MathML">ln</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath>. It can be shown that -as <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">→</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath>, the distribution of -the variable <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>L</mi></mrow></msub></fotex:inlinemath> approaches -that of Landau. For <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">.</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></fotex:inlinemath> -the two distributions are already practically identical. Contrary to what many textbooks -report, the Vavilov distribution <fo:inline-sequence font-style="italic">does not</fo:inline-sequence> approximate the Landau distribution for small -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi></fotex:inlinemath>, but rather the -distribution of <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>L</mi></mrow></msub></fotex:inlinemath> -defined above tends to the distribution of the true -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">λ</mi></fotex:inlinemath> from -the Landau density function. Thus the routine <fo:inline-sequence font-family="Computer-Modern-Typewriter">GVAVIV</fo:inline-sequence> samples the variable -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>L</mi></mrow></msub></fotex:inlinemath> rather -than <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi><mrow><mi>v</mi></mrow></msub></fotex:inlinemath>. -For <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath> -the Vavilov distribution tends to a Gaussian distribution (see next section). -</fo:block> - -<fo:block keep-with-next="true" id="N3325" text-align="start" font-size="18pt" text-indent="-3em" font-weight="bold" space-after="6pt" space-before.optimum="12pt">4. Gaussian Theory<fotex:bookmark fotex-bookmark-level="0" fotex-bookmark-label="N3325">4. Gaussian Theory</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">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<fo:inline-sequence color="green"><fo:simple-link internal-destination="bib-SELT"> [3]</fo:simple-link></fo:inline-sequence> -that for <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">κ</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath> -the Vavilov distribution can be replaced by a Gaussian of the form: - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>ε</mi><mo>,</mo><mi>δ</mi><mi>s</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">≈</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mi>ξ</mi><msqrt><mfrac><mrow><mn>2</mn><mi>π</mi></mrow><mrow><mi>κ</mi></mrow></mfrac> <mfenced open="(" close=")"><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn></mfenced></msqrt></mrow></mfrac><mo xmlns="http://www.w3.org/1998/Math/MathML">exp</mo><mfenced open="[" close="]" xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mrow><msup><mrow><mo>(</mo><mi>ε</mi><mo>-</mo><munderover accent="true"><mo>̄</mo><mi>ε</mi><mrow/></munderover><mo>)</mo></mrow><mrow><mn>2</mn></mrow></msup></mrow><mrow><mn>2</mn></mrow></mfrac> <mfrac><mrow><mi>κ</mi></mrow><mrow><msup><mi>ξ</mi><mrow><mn>2</mn></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn><mo>)</mo></mrow></mrow></mfrac></mfenced> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -thus implying - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">mean</mi> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <munderover accent="true" xmlns="http://www.w3.org/1998/Math/MathML"><mo>̄</mo><mi>ε</mi><mrow/></munderover> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mn>2</mn></mrow></msup> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><msup><mi>ξ</mi><mrow><mn>2</mn></mrow></msup></mrow><mrow><mi>κ</mi></mrow></mfrac> <mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">ξ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi> -max</mi></mrow></msub><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn><mo>)</mo></mrow> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> -</fotex:subeqn></fotex:eqnarray> -</fo:block> - -<fo:block keep-with-next="true" id="urban" text-align="start" font-size="18pt" text-indent="-3em" font-weight="bold" space-after="6pt" space-before.optimum="12pt">5. Urbán model<fotex:bookmark fotex-bookmark-level="0" fotex-bookmark-label="urban">5. Urbán model</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">The method for computing restricted energy losses with -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi></fotex:inlinemath>-ray -production above given threshold energy in <fo:inline-sequence font-family="Computer-Modern-Typewriter">GEANT</fo:inline-sequence> 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 <fo:inline-sequence color="green"><fo:simple-link internal-destination="fg:phys332-2">2</fo:simple-link></fo:inline-sequence>. -</fo:block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt"><fo:float id="fg:phys332-2"><fo:block text-align-last="centered"><fo:display-graphic href="phys332-2"/></fo:block><fo:block text-align-last="centered">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.</fo:block></fo:float></fo:block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">It is assumed that the atoms have only two energy levels with binding energy -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>1</mn></mrow></msub></fotex:inlinemath> and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msub></fotex:inlinemath>. -The particle--atom interaction will then be an excitation with energy loss -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>1</mn></mrow></msub></fotex:inlinemath> or -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msub></fotex:inlinemath>, or -an ionisation with an energy loss distributed according to a function -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">∼</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msup></fotex:inlinemath>: -<fotex:equation xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow><mi>I</mi></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow></mfrac> -<mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><msup><mi>E</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> -</fotex:equation></fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The -macroscopic cross-section for excitations (<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">i</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mo xmlns="http://www.w3.org/1998/Math/MathML">,</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn></fotex:inlinemath>) -is <fotex:equation id="eq:sigex" xmlns:m="http://www.w3.org/1998/Math/MathML"> - <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>Σ</mi><mrow><mi>i</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><msub><mi>f</mi><mrow><mi>i</mi></mrow></msub></mrow><mrow><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub></mrow></mfrac> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo>ln</mo><mrow><mo>(</mo><mn>2</mn><mi>m</mi><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mrow><mrow><mo>ln</mo><mrow><mo>(</mo><mn>2</mn><mi>m</mi><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mi>I</mi><mo>)</mo></mrow><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> <mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mn>1</mn><mo>-</mo><mi>r</mi><mo>)</mo></mrow> </fotex:equation>and -the macroscopic cross-section for ionisation is -<fotex:equation id="eq:sigion" xmlns:m="http://www.w3.org/1998/Math/MathML"> - <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>Σ</mi><mrow><mn>3</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow><mrow><mi>I</mi><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>ln</mo><mrow><mo>(</mo><mfrac><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi></mrow><mrow><mi>I</mi></mrow></mfrac> <mo>)</mo></mrow></mrow></mfrac><mi xmlns="http://www.w3.org/1998/Math/MathML">r</mi> </fotex:equation> -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>max</mi></msub></fotex:inlinemath> -is the <fo:inline-sequence font-family="Computer-Modern-Typewriter">GEANT</fo:inline-sequence> cut for <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">δ</mi></fotex:inlinemath>-production, -or the maximum energy transfer minus mean ionisation energy, if it is smaller than -this cut-off value. The following notation is used: -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt"><fo:inline-included-container><fo:table id="N4332"><fo:table-body><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">r</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">,</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>parameters of the model</fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>atomic energy levels </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">I</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>mean ionisation energy </fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>oscillator strengths </fo:inline-sequence></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:inline-included-container> -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The model has the parameters <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath>, -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath>, -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi></fotex:inlinemath> and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">r</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mn>0</mn><mo>≤</mo><mi>r</mi><mo>≤</mo><mn>1</mn><mo>)</mo></mrow></fotex:inlinemath>. The oscillator -strengths <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath> and the -atomic level energies <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath> -should satisfy the constraints - <fotex:eqnarray><fotex:subeqn id="eq:fisum" xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mn>1</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mn>2</mn></mrow></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn id="eq:flnsum" xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mn>1</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">ln</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mn>2</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">ln</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mo xmlns="http://www.w3.org/1998/Math/MathML">ln</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">I</mi> -</fotex:subeqn></fotex:eqnarray> -The parameter <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi></fotex:inlinemath> -can be defined with the help of the mean energy loss -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath> in the following way: The -numbers of collisions (<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath>, -i = 1,2 for the excitation and 3 for the ionisation) follow the Poisson distribution with a mean -number <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><msub><mi>n</mi><mrow><mi>i</mi></mrow></msub><mo>>;</mo></mrow></fotex:inlinemath>. In a step -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath> the mean number -of collisions is <fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><msub><mi>n</mi><mrow><mi>i</mi></mrow></msub><mo>>;</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>Σ</mi><mrow><mi>i</mi></mrow></msub><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi> -</fotex:displaymath>The -mean energy loss <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi></fotex:inlinemath> -in a step is the sum of the excitation and ionisation contributions -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>d</mi><mi>E</mi></mrow><mrow><mi>d</mi><mi>x</mi></mrow></mfrac> <mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfenced open="[" close="]" xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>Σ</mi><mrow><mn>1</mn></mrow></msub><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>Σ</mi><mrow><mn>2</mn></mrow></msub><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub><mo>+</mo><msub><mi>Σ</mi><mrow><mn>3</mn></mrow></msub><msubsup><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi></mrow></msubsup><mi>E</mi><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi>d</mi><mi>E</mi></mfenced><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi> -</fotex:displaymath>From -this, using the equations (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:sigex">2</fo:simple-link></fo:inline-sequence>), (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:sigion">3</fo:simple-link></fo:inline-sequence>), (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:fisum">1</fo:simple-link></fo:inline-sequence>) and (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:flnsum">1</fo:simple-link></fo:inline-sequence>), one can define the parameter -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi></fotex:inlinemath> -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">C</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>d</mi><mi>E</mi></mrow><mrow><mi>d</mi><mi>x</mi></mrow></mfrac> -</fotex:displaymath> -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The following values have been chosen in <fo:inline-sequence font-family="Computer-Modern-Typewriter">GEANT</fo:inline-sequence> for the other parameters: -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"> - <mtable equalrows="false" equalcolumns="false"><mtr><mtd><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub><mo>=</mo><mfenced open="{"><mtable equalrows="false" equalcolumns="false"><mtr><mtd><mn>0</mn> </mtd><mtd><mi>if</mi><mi>Z</mi><mo>≤</mo><mn>2</mn></mtd> -</mtr><mtr><mtd><mn>2</mn><mo>/</mo><mi>Z</mi></mtd><mtd><mi>if</mi><mi>Z</mi><mo>></mo><mn>2</mn></mtd> -</mtr><mtr><mtd> </mtd></mtr></mtable> </mfenced></mtd><mtd><mo>⇒</mo></mtd><mtd><msub><mi>f</mi><mrow><mn>1</mn></mrow></msub><mo>=</mo><mn>1</mn><mo>-</mo><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub> </mtd> - </mtr><mtr><mtd><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub><mo>=</mo><mn>1</mn><mn>0</mn><msup><mi>Z</mi><mrow><mn>2</mn></mrow></msup><mi>eV </mi> </mtd><mtd><mo>⇒</mo></mtd><mtd><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo>=</mo><msup><mfenced open="(" close=")"> <mfrac><mrow><mi>I</mi></mrow><mrow><msubsup><mi>E</mi><mrow><mn>2</mn></mrow><mrow><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub></mrow></msubsup></mrow></mfrac> </mfenced><mrow> <mfrac><mrow><mn>1</mn></mrow><mrow><msub><mi>f</mi><mrow><mn>1</mn></mrow></msub></mrow></mfrac> </mrow></msup></mtd> - </mtr><mtr><mtd><mi>r</mi><mo>=</mo><mn>0</mn><mo>.</mo><mn>4</mn> </mtd><mtd> </mtd><mtd> </mtd> - </mtr><mtr><mtd> </mtd></mtr></mtable> -</mrow></fotex:displaymath> With these values -the atomic level <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msub></fotex:inlinemath> -corresponds approximately the K-shell energy of the atoms and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">Z</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mn>2</mn></mrow></msub></fotex:inlinemath> the number of -K-shell electrons. <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">r</mi></fotex:inlinemath> -is the only variable which can be tuned freely. It determines the relative contribution -of ionisation and excitation to the energy loss. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">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 -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>e</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>1</mn></mrow></msub><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>2</mn></mrow></msub><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msub> -</fotex:displaymath>where -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>1</mn></mrow></msub></fotex:inlinemath> and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>2</mn></mrow></msub></fotex:inlinemath> -are sampled from Poisson distribution as discussed above. The -loss due to the ionisation can be generated from the distribution -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow></fotex:inlinemath> by -the inverse transformation method: - <fotex:eqnarray><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">u</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">F</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msubsup xmlns="http://www.w3.org/1998/Math/MathML"> <mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>E</mi></mrow></msubsup><mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">x</mi> <mtext xmlns="http://www.w3.org/1998/Math/MathML"/> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>F</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>u</mi><mo>)</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>I</mi></mrow><mrow><mn>1</mn><mo>-</mo><mi>u</mi> <mfrac><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi></mrow></mfrac> </mrow></mfrac> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> -</fotex:subeqn></fotex:eqnarray> -where <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">u</mi></fotex:inlinemath> is a uniform random -number between <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">F</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>I</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath> and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">F</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></fotex:inlinemath>. The contribution from the -ionisations will be <fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>i</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∑</mo> - <mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></mrow></msubsup> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>I</mi></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>u</mi><mrow><mi>j</mi></mrow></msub> <mfrac><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi></mrow></mfrac> </mrow></mfrac> -</fotex:displaymath>where -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub></fotex:inlinemath> is the -number of ionisation (sampled from Poisson distribution). The energy loss in a step will -then be <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>e</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>i</mi></mrow></msub></fotex:inlinemath>. -</fo:block> -<fo:block keep-with-next="true" id="N5956" text-align="start" font-size="14pt" text-indent="-3em" font-weight="bold" space-after="3pt" space-before.optimum="9pt">5.1. Fast simulation for <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">6</mn></fotex:inlinemath><fotex:bookmark fotex-bookmark-level="1" fotex-bookmark-label="N5956">5.1. Fast simulation for n3≥16</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">If the number of ionisation <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub></fotex:inlinemath> -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 -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>[</mo><mi>I</mi><mo>,</mo><mi>α</mi><mi>I</mi><mo>]</mo></mrow></fotex:inlinemath> the interval A, -and the latter <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>[</mo><mi>α</mi><mi>I</mi><mo>,</mo><msub><mi>E</mi><mi>max</mi></msub><mo>]</mo></mrow></fotex:inlinemath> the -interval B. <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">α</mi></fotex:inlinemath> lies -between 1 and <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mi>max</mi></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">/</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">I</mi></fotex:inlinemath>. -A collision with a loss in the interval A happens with the probability -<fotex:displaymath id="eq:phys332-5" xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">P</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>α</mi><mi>I</mi></mrow></msubsup><mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow><mrow><mo>(</mo><mi>α</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub><mi>α</mi></mrow></mfrac> -</fotex:displaymath>The -mean energy loss and the standard deviation for this type of collision are -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><mi>Δ</mi><mi>E</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>>;</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow></mrow></mfrac><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>α</mi><mi>I</mi></mrow></msubsup><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>I</mi><mi>α</mi><mo>ln</mo><mi>α</mi></mrow><mrow><mi>α</mi><mo>-</mo><mn>1</mn></mrow></mfrac> -</fotex:displaymath>and <fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mn>2</mn></mrow></msup><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow></mrow></mfrac><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>α</mi><mi>I</mi></mrow></msubsup><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>2</mn></mrow></msup><mi xmlns="http://www.w3.org/1998/Math/MathML">g</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi xmlns="http://www.w3.org/1998/Math/MathML">d</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mrow><mn>2</mn></mrow></msup><mi xmlns="http://www.w3.org/1998/Math/MathML">α</mi><mfenced open="(" close=")" xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn><mo>-</mo> <mfrac><mrow><mi>α</mi><msup><mo>ln</mo><mrow><mn>2</mn></mrow></msup><mi>α</mi></mrow><mrow><msup><mrow><mo>(</mo><mi>α</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mrow><mn>2</mn></mrow></msup></mrow></mfrac></mfenced> -</fotex:displaymath>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: - <fotex:eqnarray><fotex:subeqn id="eq:phys332-1" xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mi xmlns="http://www.w3.org/1998/Math/MathML">P</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>α</mi><mo>)</mo></mrow> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn id="eq:phys332-2" xmlns:m="http://www.w3.org/1998/Math/MathML"><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mi>A</mi></mrow><mrow><mn>2</mn></mrow></msubsup> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mi xmlns="http://www.w3.org/1998/Math/MathML">P</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mn>1</mn><mo>-</mo><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>)</mo></mrow> -</fotex:subeqn></fotex:eqnarray> -It is further assumed that the energy loss in these collisions has a Gaussian -distribution with - <fotex:eqnarray><fotex:subeqn id="eq:phys332-3" xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>A</mi></mrow></msub><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><mi>Δ</mi><mi>E</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>>;</mo></mrow> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn id="eq:phys332-4" xmlns:m="http://www.w3.org/1998/Math/MathML"><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mi>E</mi><mo>,</mo><mi>A</mi></mrow><mrow><mn>2</mn></mrow></msubsup> <mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>A</mi></mrow></msub><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mn>2</mn></mrow></msup><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>α</mi><mo>)</mo></mrow> -</fotex:subeqn></fotex:eqnarray> -The energy loss of these collision can then be sampled from the Gaussian -distribution. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The collisions where the energy loss is in the interval B are sampled directly from -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>B</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∑</mo> - <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>-</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub></mrow></msubsup> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>α</mi><mi>I</mi></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>u</mi><mrow><mi>i</mi></mrow></msub> <mfrac><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>-</mo><mi>α</mi><mi>I</mi></mrow><mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi></mrow></mfrac> </mrow></mfrac> -</fotex:displaymath>The -total energy loss is the sum of these two types of collisions: -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"> - <mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>A</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mi>B</mi></mrow></msub> -</fotex:displaymath></fo:block> -<fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">The approximation of equations (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-1">1</fo:simple-link></fo:inline-sequence>), (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-2">1</fo:simple-link></fo:inline-sequence>), (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-3">1</fo:simple-link></fo:inline-sequence>) and (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-4">1</fo:simple-link></fo:inline-sequence>) can be used under the following -conditions: - <fotex:eqnarray><fotex:subeqn id="eq:phys332-6" xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mi>A</mi></mrow></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo> <mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn id="eq:phys332-7" xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">+</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mi>A</mi></mrow></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub> - </fotex:subeqn><fotex:subeqn xmlns:m="http://www.w3.org/1998/Math/MathML"> - </fotex:subeqn><fotex:subeqn id="eq:phys332-8" xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mi>E</mi><mo>,</mo><mi>A</mi></mrow></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo> <mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn> -</fotex:subeqn></fotex:eqnarray> -where <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">4</mn></fotex:inlinemath>. From -the equations (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-5">6</fo:simple-link></fo:inline-sequence>), (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-1">1</fo:simple-link></fo:inline-sequence>) and (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-3">1</fo:simple-link></fo:inline-sequence>) and from the conditions (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-6">1</fo:simple-link></fo:inline-sequence>) and (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-7">1</fo:simple-link></fo:inline-sequence>) the following limits can be -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>α</mi><mrow><mi>min</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mrow><mo>(</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mi>I</mi></mrow></mfrac> <mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo><mi xmlns="http://www.w3.org/1998/Math/MathML">α</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>α</mi><mrow><mtext>max</mtext></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mrow><mo>(</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow></mrow><mrow><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mrow><mo>(</mo><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mi>I</mi></mrow></mfrac> -</fotex:displaymath>This -conditions gives a lower limit to number of the ionisations -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub></fotex:inlinemath> for which the fast -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>c</mi><mrow><mn>2</mn></mrow></msup> </fotex:displaymath>As -in the conditions (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-6">1</fo:simple-link></fo:inline-sequence>), (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-7">1</fo:simple-link></fo:inline-sequence>) and (<fo:inline-sequence color="green"><fo:simple-link internal-destination="eq:phys332-8">1</fo:simple-link></fo:inline-sequence>) the value of -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi></fotex:inlinemath> is as minimum -4, one gets <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">≥</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">6</mn></fotex:inlinemath>. -In order to speed the simulation, the maximum value is used for -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">α</mi></fotex:inlinemath>. -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt">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 -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub></fotex:inlinemath>. -The maximum number of these collisions can be estimated as -<fotex:equation xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>A</mi><mo>,</mo><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">≈</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo>-</mo><msub><mi>σ</mi><mrow><mi>A</mi></mrow></msub><mo>)</mo></mrow> -</fotex:equation>From the previous -expressions for <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow></fotex:inlinemath> and -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>σ</mi><mrow><mi>A</mi></mrow></msub></fotex:inlinemath> one can derive the -<fotex:equation xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>B</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>2</mn><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup></mrow><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> -</fotex:equation>The following -values are obtained with <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">c</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">4</mn></fotex:inlinemath>: -</fo:block><fo:block font-size="10pt" text-align="justified" text-indent="1em" space-before="0pt"><fo:inline-included-container><fo:table id="N7981"><fo:table-body><fo:table-row><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence/></fo:table-cell><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mn>3</mn></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></fotex:inlinemath></fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence>16 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>16 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence/></fo:table-cell><fo:table-cell><fo:inline-sequence> 200</fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence> 29.63</fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence>20 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>17.78 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence/></fo:table-cell><fo:table-cell><fo:inline-sequence> 500</fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence> 31.01</fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence>50 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>24.24 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence/></fo:table-cell><fo:table-cell><fo:inline-sequence> 1000</fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence> 31.50</fo:inline-sequence></fo:table-cell></fo:table-row><fo:table-row><fo:table-cell><fo:inline-sequence>100 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence>27.59 </fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence/></fo:table-cell><fo:table-cell><fo:inline-sequence><fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">∞</mi></fotex:inlinemath></fo:inline-sequence></fo:table-cell><fo:table-cell><fo:inline-sequence> 32.00</fo:inline-sequence></fo:table-cell></fo:table-row></fo:table-body></fo:table></fo:inline-included-container> -</fo:block> - -<fo:block keep-with-next="true" id="N8234" text-align="start" font-size="14pt" text-indent="-3em" font-weight="bold" space-after="3pt" space-before.optimum="9pt">5.2. Special sampling for lower part of the spectrum<fotex:bookmark fotex-bookmark-level="1" fotex-bookmark-label="N8234">5.2. Special sampling for lower part of the spectrum</fotex:bookmark></fo:block> - -<fo:block font-size="10pt" text-align="justified">If the step length is very small (<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">5</mn></fotex:inlinemath> -mm in gases, <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mo xmlns="http://www.w3.org/1998/Math/MathML">≤</mo></fotex:inlinemath> -2-3 <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">μ</mi></fotex:inlinemath>m in solids) -the model gives 0 energy loss for some events. To avoid this, the probability of 0 energy loss is -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">P</mi><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo>(</mo><mi>Δ</mi><mi>E</mi><mo>=</mo><mn>0</mn><mo>)</mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msup xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi><mrow><mo>-</mo><mrow><mo>(</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mn>1</mn></mrow></msub><mo>></mo></mrow><mo>+</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mn>2</mn></mrow></msub><mo>></mo></mrow><mo>+</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>></mo></mrow><mo>)</mo></mrow></mrow></msup> -</fotex:displaymath>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 -<fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mrow><mn>0</mn></mrow></msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn><mn xmlns="http://www.w3.org/1998/Math/MathML">0</mn></fotex:inlinemath> eV is chosen -to correspond to the outer electrons. The mean number of collisions can be calculated from -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mrow xmlns="http://www.w3.org/1998/Math/MathML"><mo><</mo><mi>n</mi><mo>></mo></mrow><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo> <mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mn>1</mn></mrow><mrow><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub></mrow></mfrac> -</fotex:displaymath>The number -of collisions <fotex:inlinemath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">n</mi></fotex:inlinemath> -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 -<fotex:displaymath xmlns:m="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">Δ</mi><mi xmlns="http://www.w3.org/1998/Math/MathML">E</mi><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo><msubsup xmlns="http://www.w3.org/1998/Math/MathML"><mo>∑</mo> - <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi></mrow></msubsup> -<mfrac xmlns="http://www.w3.org/1998/Math/MathML"><mrow><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub></mrow><mrow><mn>1</mn><mo>-</mo> -<mfrac><mrow><msub><mi>E</mi><mi>max</mi></msub></mrow> -<mrow><msub><mi>E</mi><mi>max</mi></msub><mo>+</mo><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub></mrow></mfrac> -<msub><mi>u</mi><mrow><mi>i</mi></mrow></msub></mrow></mfrac> -</fotex:displaymath> -</fo:block> <fo:block keep-with-next="true" id="N8570" text-align="start" font-size="18pt" text-indent="-3em" font-weight="bold" space-after="6pt" space-before.optimum="12pt">6. References<fotex:bookmark fotex-bookmark-level="0" fotex-bookmark-label="N8570">6. References</fotex:bookmark></fo:block> <fo:list-block font-size="10pt" margin-right="10pt" space-before.optimum="10pt" space-after.optimum="10pt" margin-left="15pt"><fo:list-item><fo:list-item-label id="bib-LAND"><fo:block margin-right="2.5pt" text-align="end"> [1]</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> <fo:block font-size="10pt" text-align="justified">L.Landau. On the Energy Loss of Fast Particles by -Ionisation. Originally published in <fo:inline-sequence font-style="italic">J. Phys.</fo:inline-sequence>, 8:201, -1944. Reprinted in D.ter Haar, Editor, <fo:inline-sequence font-style="italic">L.D.Landau, Collected -papers</fo:inline-sequence>, page 417. Pergamon Press, Oxford, 1965. -</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item><fo:list-item-label id="bib-SCH1"><fo:block margin-right="2.5pt" text-align="end"> [2]</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> <fo:block font-size="10pt" text-align="justified">B.Schorr. Programs for -the Landau and the Vavilov distributions and the corresponding random -numbers. <fo:inline-sequence font-style="italic">Comp. Phys. Comm.</fo:inline-sequence>, 7:216, 1974. -</fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item><fo:list-item-label id="bib-SELT"><fo:block margin-right="2.5pt" text-align="end"> [3]</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> <fo:block font-size="10pt" text-align="justified">S.M.Seltzer and -M.J.Berger. Energy loss straggling of protons and mesons. In -<fo:inline-sequence font-style="italic">Studies in Penetration of Charged Particles in Matter</fo:inline-sequence>, -Nuclear Science Series 39, Nat. Academy of Sciences, Washington DC, -1964. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item><fo:list-item-label id="bib-TALM"><fo:block margin-right="2.5pt" text-align="end"> [4]</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> <fo:block font-size="10pt" text-align="justified">R.Talman. On the -statistics of particle identification using ionization. <fo:inline-sequence font-style="italic">Nucl. -Inst. Meth.</fo:inline-sequence>, 159:189, 1979. </fo:block></fo:block></fo:list-item-body></fo:list-item><fo:list-item><fo:list-item-label id="bib-VAVI"><fo:block margin-right="2.5pt" text-align="end"> [5]</fo:block></fo:list-item-label><fo:list-item-body><fo:block font-weight="normal"> <fo:block font-size="10pt" text-align="justified">P.V.Vavilov. Ionisation losses of high energy -heavy particles. <fo:inline-sequence font-style="italic">Soviet Physics JETP</fo:inline-sequence>, 5:749, -1957.</fo:block></fo:block></fo:list-item-body></fo:list-item></fo:list-block> - </fo:flow></fo:page-sequence></fo:root>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex b/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex deleted file mode 100644 index 40e379d8aa4..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/latextei.tex +++ /dev/null @@ -1,4 +0,0 @@ -\def\xmlfile{latextei.xml} -\input xmltex - - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml b/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml deleted file mode 100644 index af9fbb686c4..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/latextei.xml +++ /dev/null @@ -1,972 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE TEI.2 SYSTEM "http://www.oucs.ox.ac.uk/dtds/tei-oucs.dtd" [ -<!ENTITY aacute "á"> -<!ENTITY ap "≈"> -<!ENTITY alpha "α"> -<!ENTITY barwed "⊼"> -<!ENTITY beta "β"> -<!ENTITY commaspace " "> -<!ENTITY gamma "γ"> -<!ENTITY delta "δ"> -<!ENTITY Delta "Δ"> -<!ENTITY dots "…"> -<!ENTITY epsi "ε"> -<!ENTITY gg "⋙"> -<!ENTITY Gt "≫"> -<!ENTITY geq "≥"> -<!ENTITY infin "∞"> -<!ENTITY infty "∞"> -<!ENTITY int "∫"> -<!ENTITY kappa "κ"> -<!ENTITY lambda "λ"> -<!ENTITY langle "〈"> -<!ENTITY leq "≤"> -<!ENTITY mu "μ"> -<!ENTITY nbsp " "> -<!ENTITY phi "φ"> -<!ENTITY pi "π"> -<!ENTITY psi "ψ"> -<!ENTITY rangle "〉"> -<!ENTITY rho "ρ"> -<!ENTITY sigma "σ"> -<!ENTITY Sigma "Σ"> -<!ENTITY sim "∼"> -<!ENTITY thinspace " "> -<!ENTITY thickspace " "> -<!ENTITY xi "ξ"> -<!ENTITY prime "′"> -<!ENTITY isinv "∈"> -<!ENTITY macr "̄"> -<!ENTITY Emax "<msub><mi>E</mi><mi>max</mi></msub>"> -<!ENTITY exp "E<mtext>exp</mtext>"> -<!ENTITY ln "E<mtext>ln</mtext>"> -<!ENTITY Rarr "⇒"> -<!ENTITY rarr "→"> -<!ENTITY GEANT "GEANT"> -<!ENTITY sum "∑"> -]> -<TEI.2> - <teiHeader> - <fileDesc> - <titleStmt> - <title>A sample article</title> - </titleStmt> - <publicationStmt> - <availability><p>Converted from LaTeX by Sebastian Rahtz</p> </availability> - </publicationStmt> - <sourceDesc> - <p></p> - </sourceDesc> - </fileDesc> - <revisionDesc> - <list> - <item> - <date>23 Oct 1999</date> SR converted from LaTeX</item> - </list> - </revisionDesc> - </teiHeader> - <text> - <front> - <docTitle> - <titlePart type="main">Simulation of Energy Loss Straggling</titlePart> - </docTitle> - <docAuthor>Maria Physicist</docAuthor> - <docDate>January 17, 1999</docDate> - </front> - <body> <div id="intro"> <head>Introduction</head> <p>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 <formula><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>κ</mi></math></formula>, which is -proportional to the ratio of mean energy loss to the maximum allowed -energy transfer in a single collision with an atomic electron - <formula -type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow> <mi>κ</mi><mo>=</mo> -<mfrac> - <mrow><mi>ξ</mi></mrow> - <mrow> - &Emax; - </mrow> -</mfrac> -</mrow> -</math></formula> -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" ->&Emax;</math></formula> is the -maximum transferable energy in a single collision with an atomic electron. -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow> - &Emax;<mo>=</mo> <mfrac><mrow><mn>2</mn><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup></mrow><!--____________ ---><mrow><mn>1</mn><mo>+</mo><mn>2</mn><mi>γ</mi><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><mo>/</mo><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub><mo>+</mo><msup><mfenced -open='(' close=')'><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><mo>/</mo><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub> </mfenced><mrow><mn>2</mn></mrow></msup></mrow></mfrac><mo>,</mo> -</mrow></math></formula> where -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>γ</mi><mo>=</mo><mi>E</mi><mo>/</mo><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub></math></formula>, -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>E</mi></math></formula> is energy and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub></math></formula> the mass of the -incident particle, <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>=</mo><mn>1</mn><mo>-</mo><mn>1</mn><mo>/</mo><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup></math></formula> -and <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub></math></formula> is the -electron mass. <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ξ</mi></math></formula> -comes from the Rutherford scattering crosss section and is defined as: - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>ξ</mi><mo>=</mo><mfrac><mrow><mn>2</mn><mi>π</mi><msup><mi>z</mi><mrow><mn>2</mn></mrow></msup><msup><mi>e</mi><mrow><mn>4</mn></mrow></msup><msub><mi>N</mi><mrow><mi>A</mi><mi>v</mi></mrow></msub><mi>Z</mi><mi>ρ</mi><mi>δ</mi><mi>x</mi></mrow><!-- - --><mrow><msub><mi>m</mi><mrow><mi>e</mi></mrow></msub><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mi>A</mi></mrow></mfrac> <mo>=</mo><mn>1</mn><mn>5</mn><mn>3</mn><mo>.</mo><mn>4</mn> <mfrac><mrow><msup><mi>z</mi><mrow><mn>2</mn></mrow></msup></mrow><!-- ---><mrow><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> <mfrac><mrow><mi>Z</mi></mrow><!-- ---><mrow><mi>A</mi></mrow></mfrac><mi>ρ</mi><mi>δ</mi><mi>x</mi><mspace width='12pt'/><mi>keV </mi><mo>,</mo> <mtext></mtext> -</math></formula></cell></row></table> -where -</p><p><table rend="inline"><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>z</mi></math></formula></cell><cell ->charge of the incident particle </cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>N</mi><mrow><mi>A</mi><mi>v</mi></mrow></msub></math></formula></cell><cell ->Avogadro's number </cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>Z</mi></math></formula></cell><cell ->atomic number of the material</cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>A</mi></math></formula></cell><cell ->atomic weight of the material </cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ρ</mi></math></formula></cell><cell ->density </cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>δ</mi><mi>x</mi></math></formula></cell><cell ->thickness of the material </cell> -</row><row><cell -> </cell> -</row></table> -</p><p><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi></math></formula> -measures the contribution of the collisions with energy transfer close to -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" ->&Emax;</math></formula>. For a given absorber, -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi></math></formula> tends towards large -values if <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>δ</mi><mi>x</mi></math></formula> is large -and/or if <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>β</mi></math></formula> is small. -Likewise, <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi></math></formula> tends -towards zero if <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>δ</mi><mi>x</mi></math></formula> is -small and/or if <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>β</mi></math></formula> -approaches 1. -</p><p>The value of <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi></math></formula> -distinguishes two regimes which occur in the description of ionisation fluctuations -: -</p><list type="enumerate"> -<item> -<p>A -large -number -of -collisions -involving -the -loss -of -all -or -most -of -the -incident -particle -energy -during -the -traversal -of -an -absorber. -</p><p>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 -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi><mo>></mo><mn>1</mn><mn>0</mn></math></formula> -(i.e. -when -the -mean -energy -loss -in -the -absorber -is -greater -than -the -maximum -energy -transfer -in -a -single -collision). -</p></item> -<item> -<p>Particles -traversing -thin -counters -and -incident -electrons -under -any -conditions. -</p><p>The -relevant -inequalities -and -distributions -are -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mn>0</mn><mo>.</mo><mn>0</mn><mn>1</mn><mo><</mo><mi>κ</mi><mo><</mo><mn>1</mn><mn>0</mn></math></formula>, -Vavilov -distribution, -and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi><mo><</mo><mn>0</mn><mo>.</mo><mn>0</mn><mn>1</mn></math></formula>, -Landau -distribution.</p></item></list> -<p>An additional regime is defined by the contribution of the collisions -with low energy transfer which can be estimated with the relation -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ξ</mi><mo>/</mo><msub><mi>I</mi><mrow><mn>0</mn></mrow></msub></math></formula>, -where <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>I</mi><mrow><mn>0</mn></mrow></msub></math></formula> -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 -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ξ</mi><mo>/</mo><msub><mi>I</mi><mrow><mn>0</mn></mrow></msub><mo>≫</mo><mn>1</mn></math></formula>. In <code>GEANT</code> (see -URL <xptr url="http://wwwinfo.cern.ch/asdoc/geant/geantall.html"/>), the limit of Landau theory has -been set at <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ξ</mi><mo>/</mo><msub><mi>I</mi><mrow><mn>0</mn></mrow></msub><mo>=</mo><mn>5</mn><mn>0</mn></math></formula>. -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 <ptr target="fg:phys332-1"/> shows the behaviour -of <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ξ</mi><mo>/</mo><msub><mi>I</mi><mrow><mn>0</mn></mrow></msub></math></formula> as -a function of the layer thickness for an electron of 100 keV and 1 GeV of kinetic -energy in Argon, Silicon and Uranium. -</p> -<p><figure file="phys332-1" id="fg:phys332-1"> -<head>The variable <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>ξ</mi><mo>/</mo><msub><mi>I</mi><mrow><mn>0</mn></mrow></msub></math></formula> -can be used to measure the validity range of the Landau -theory. It depends on the type and energy of the particle, -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>Z</mi></math></formula>, -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>A</mi></math></formula> -and the ionisation potential of the material and the layer thickness. </head> -</figure></p> -<p>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. -</p> -</div> -<div id="sec:phys332-1"> -<head>Landau theory</head> -<p>For a particle of mass <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>m</mi><mrow><mi>x</mi></mrow></msub></math></formula> traversing -a thickness of material <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>δ</mi><mi>x</mi></math></formula>, -the Landau probability distribution may be written in terms of the universal Landau -function <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>φ</mi><mrow><mo>(</mo><mi>λ</mi><mo>)</mo></mrow></math></formula> -as<ptr target="bib-LAND"/>: - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mo>(</mo><mi>ε</mi><mo>,</mo><mi>δ</mi><mi>x</mi><mo>)</mo></mrow> <mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><!-- ---><mrow><mi>ξ</mi></mrow></mfrac><mi>φ</mi><mrow><mo>(</mo><mi>λ</mi><mo>)</mo></mrow> <mtext></mtext> -</math></formula></cell></row></table> -where - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>φ</mi><mrow><mo>(</mo><mi>λ</mi><mo>)</mo></mrow> <mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><!--_ ---><mrow><mn>2</mn><mi>π</mi><mi>i</mi></mrow></mfrac><msubsup><mo>∫</mo> - <mrow><mi>c</mi><mo>+</mo><mi>i</mi><mi>∞</mi></mrow><mrow><mi>c</mi><mo>-</mo><mi>i</mi><mi>∞</mi></mrow></msubsup><mo>exp</mo><mfenced -open='(' close=')'><mi>u</mi><mo>ln</mo><mi>u</mi><mo>+</mo><mi>λ</mi><mi>u</mi></mfenced><mi>d</mi><mi>u</mi><mspace width='2cm'/><mi>c</mi><mo>≥</mo><mn>0</mn> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>λ</mi> <mo>=</mo> <mfrac><mrow><mi>ε</mi><mo>-</mo><munderover accent='true'><mo>¯</mo><mi>ε</mi><mrow></mrow></munderover></mrow><!-- - --><mrow><mi>ξ</mi></mrow></mfrac> <mo>-</mo><mi>γ</mi><mi>′</mi><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>-</mo><mo>ln</mo> <mfrac><mrow><mi>ξ</mi></mrow><!-- ___ ---><mrow>&Emax;</mrow></mfrac> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>γ</mi><mi>′</mi> <mo>=</mo> <mn>0</mn><mo>.</mo><mn>4</mn><mn>2</mn><mn>2</mn><mn>7</mn><mn>8</mn><mn>4</mn><mo>.</mo><mo>.</mo><mo>.</mo><mo>=</mo><mn>1</mn><mo>-</mo><mi>γ</mi> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>γ</mi> <mo>=</mo> <mn>0</mn><mo>.</mo><mn>5</mn><mn>7</mn><mn>7</mn><mn>2</mn><mn>1</mn><mn>5</mn><mo>.</mo><mo>.</mo><mo>.</mo><mtext>(Eulers constant)</mtext> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><munderover accent='true'><mo>¯</mo><mi>ε</mi><mrow></mrow></munderover> <mo>=</mo> <mtext>average energy loss</mtext> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>ε</mi> <mo>=</mo> <mtext>actual energy loss</mtext> <mtext></mtext> -</math></formula></cell></row></table> -</p> -<div > -<head>Restrictions</head> -<p>The Landau formalism makes two restrictive assumptions : -</p><list type="enumerate"> -<item> -<p>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 -<ptr target="vavref"/>). -</p></item> -<item> -<p>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<ptr target="bib-TALM"/> -is -necessary -to -accurately -simulate -data -distributions. -In -<code>GEANT</code>, -a -parameterised -model -by -L. -Urbán -is -used -(see -section -<ptr target="urban"/>).</p></item></list> -<p>In addition, the average value of the Landau distribution is infinite. -Summing the Landau fluctuation obtained to the average energy from the -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>d</mi><mi>E</mi><mo>/</mo><mi>d</mi><mi>x</mi></math></formula> -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. -</p><p>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 <code>GLANDO</code> routine is: -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow> - <mi>δ</mi><mi>d</mi><mi>E</mi><mo>/</mo><mi>d</mi><mi>x</mi><mo>=</mo><mi>ε</mi><mo>-</mo><munderover accent='true'><mo>¯</mo><mi>ε</mi><mrow></mrow></munderover><mo>=</mo><mi>ξ</mi><mrow><mo>(</mo><mi>λ</mi><mo>-</mo><mi>γ</mi><mi>′</mi><mo>+</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>+</mo><mo>ln</mo> <mfrac><mrow><mi>ξ</mi></mrow><!-- ___ ---><mrow>&Emax;</mrow></mfrac> <mo>)</mo></mrow> -</mrow></math></formula> -In order for this to have average 0, we must impose that: -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow> - <munderover accent='true'><mo>¯</mo><mi>λ</mi><mrow></mrow></munderover><mo>=</mo><mo>-</mo><mi>γ</mi><mi>′</mi><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>-</mo><mo>ln</mo> <mfrac><mrow><mi>ξ</mi></mrow><!-- ___ ---><mrow>&Emax;</mrow></mfrac> -</mrow></math></formula> -</p><p>This is realised introducing a <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub><mrow><mo>(</mo><munderover accent='true'><mo>¯</mo><mi>λ</mi><mrow></mrow></munderover><mo>)</mo></mrow></math></formula> -such that if only values of <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>λ</mi><mo>≤</mo><msub><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub></math></formula> -are accepted, the average value of the distribution is -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><munderover accent='true'><mo>¯</mo><mi>λ</mi><mrow></mrow></munderover></math></formula>. -</p><p>A parametric fit to the universal Landau distribution has been performed, with following result: -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow> - <msub><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub><mo>=</mo><mn>0</mn><mo>.</mo><mn>6</mn><mn>0</mn><mn>7</mn><mn>1</mn><mn>5</mn><mo>+</mo><mn>1</mn><mo>.</mo><mn>1</mn><mn>9</mn><mn>3</mn><mn>4</mn><munderover accent='true'><mo>¯</mo><mi>λ</mi><mrow></mrow></munderover><mo>+</mo><mrow><mo>(</mo><mn>0</mn><mo>.</mo><mn>6</mn><mn>7</mn><mn>7</mn><mn>9</mn><mn>4</mn><mo>+</mo><mn>0</mn><mo>.</mo><mn>0</mn><mn>5</mn><mn>2</mn><mn>3</mn><mn>8</mn><mn>2</mn><munderover accent='true'><mi>λ</mi><mrow></mrow><mo>¯</mo></munderover><mo>)</mo></mrow><mo>exp</mo><mrow><mo>(</mo><mn>0</mn><mo>.</mo><mn>9</mn><mn>4</mn><mn>7</mn><mn>5</mn><mn>3</mn><mo>+</mo><mn>0</mn><mo>.</mo><mn>7</mn><mn>4</mn><mn>4</mn><mn>4</mn><mn>2</mn><munderover accent='true'><mi>λ</mi><mrow></mrow><mo>¯</mo></munderover><mo>)</mo></mrow> -</mrow></math></formula> only values -smaller than <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mtext>max</mtext></mrow></msub></math></formula> -are accepted, otherwise the distribution is resampled. -</p> -</div> -</div> -<div id="vavref"> -<head>Vavilov theory</head> -<p>Vavilov<ptr target="bib-VAVI"/> derived a more accurate straggling distribution by introducing the kinematic -limit on the maximum transferable energy in a single collision, rather than using -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" ->&Emax;<mo>=</mo><mi>∞</mi></math></formula>. Now -we can write<ptr target="bib-SCH1"/>: - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi> <mfenced -open='(' close=')'><mi>ε</mi><mo>,</mo><mi>δ</mi><mi>s</mi></mfenced> <mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><!-- ---><mrow><mi>ξ</mi></mrow></mfrac><msub><mi>φ</mi><mrow><mi>v</mi></mrow></msub> <mfenced -open='(' close=')'><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub><mo>,</mo><mi>κ</mi><mo>,</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mfenced> <mtext></mtext> -</math></formula></cell></row></table> -where - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>φ</mi><mrow><mi>v</mi></mrow></msub> <mfenced -open='(' close=')'><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub><mo>,</mo><mi>κ</mi><mo>,</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mfenced> <mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><!--_ ---><mrow><mn>2</mn><mi>π</mi><mi>i</mi></mrow></mfrac><msubsup><mo>∫</mo> - <mrow><mi>c</mi><mo>+</mo><mi>i</mi><mi>∞</mi></mrow><mrow><mi>c</mi><mo>-</mo><mi>i</mi><mi>∞</mi></mrow></msubsup><mi>φ</mi><mfenced -open='(' close=')'><mi>s</mi></mfenced><msup><mi>e</mi><mrow><mi>λ</mi><mi>s</mi></mrow></msup><mi>d</mi><mi>s</mi><mspace width='2cm'/><mi>c</mi><mo>≥</mo><mn>0</mn> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>φ</mi><mfenced -open='(' close=')'><mi>s</mi></mfenced> <mo>=</mo> <mo>exp</mo><mfenced -open='[' close=']'><mi>κ</mi><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mi>γ</mi><mo>)</mo></mrow></mfenced><mo>exp</mo><mfenced -open='[' close=']'><mi>ψ</mi> <mfenced -open='(' close=')'><mi>s</mi></mfenced></mfenced><mo>,</mo> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>ψ</mi> <mfenced -open='(' close=')'><mi>s</mi></mfenced> <mo>=</mo> <mi>s</mi><mo>ln</mo><mi>κ</mi><mo>+</mo><mrow><mo>(</mo><mi>s</mi><mo>+</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mi>κ</mi><mo>)</mo></mrow><mfenced -open='[' close=']'><mo>ln</mo><mrow><mo>(</mo><mi>s</mi><mo>/</mo><mi>κ</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>E</mi><mrow> -<mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>s</mi><mo>/</mo><mi>κ</mi><mo>)</mo></mrow></mfenced><mo>-</mo><mi>κ</mi><msup><mi>e</mi><mrow><mo>-</mo><mi>s</mi><mo>/</mo><mi>κ</mi></mrow></msup><mo>,</mo> <mtext></mtext> -</math></formula></cell></row></table> -and - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow> <mo>=</mo><msubsup> <mo>∫</mo> - <mrow><mi>∞</mi></mrow><mrow><mi>z</mi></mrow></msubsup><msup><mi>t</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>e</mi><mrow><mo>-</mo><mi>t</mi></mrow></msup><mi>d</mi><mi>t</mi><mspace width='1cm'/><mtext>(the exponential integral)</mtext> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub> <mo>=</mo> <mi>κ</mi><mfenced -open='[' close=']'><mfrac><mrow><mi>ε</mi><mo>-</mo><munderover accent='true'><mo>¯</mo><mi>ε</mi><mrow></mrow></munderover></mrow><!-- - --><mrow><mi>ξ</mi></mrow></mfrac> <mo>-</mo><mi>γ</mi><mi>′</mi><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mfenced> <mtext></mtext> -</math></formula></cell></row></table> -</p><p>The Vavilov parameters are simply related to the Landau parameter by -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mi>L</mi></mrow></msub><mo>=</mo><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub><mo>/</mo><mi>κ</mi><mo>-</mo><mo>ln</mo><mi>κ</mi></math></formula>. It can be shown that -as <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi><mo>→</mo><mn>0</mn></math></formula>, the distribution of -the variable <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mi>L</mi></mrow></msub></math></formula> approaches -that of Landau. For <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi><mo>≤</mo><mn>0</mn><mo>.</mo><mn>0</mn><mn>1</mn></math></formula> -the two distributions are already practically identical. Contrary to what many textbooks -report, the Vavilov distribution <emph>does not</emph> approximate the Landau distribution for small -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi></math></formula>, but rather the -distribution of <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mi>L</mi></mrow></msub></math></formula> -defined above tends to the distribution of the true -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>λ</mi></math></formula> from -the Landau density function. Thus the routine <code>GVAVIV</code> samples the variable -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mi>L</mi></mrow></msub></math></formula> rather -than <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>λ</mi><mrow><mi>v</mi></mrow></msub></math></formula>. -For <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi><mo>≥</mo><mn>1</mn><mn>0</mn></math></formula> -the Vavilov distribution tends to a Gaussian distribution (see next section). -</p> -</div> -<div > -<head>Gaussian Theory</head> -<p>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<ptr target="bib-SELT"/> -that for <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>κ</mi><mo>≥</mo><mn>1</mn><mn>0</mn></math></formula> -the Vavilov distribution can be replaced by a Gaussian of the form: - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mrow><mo>(</mo><mi>ε</mi><mo>,</mo><mi>δ</mi><mi>s</mi><mo>)</mo></mrow><mo>≈</mo> <mfrac><mrow><mn>1</mn></mrow><!--________ ---><mrow><mi>ξ</mi><msqrt><!--<mi>&radical;</mi> - ______________--><mfrac><mrow><mn>2</mn><mi>π</mi></mrow><!-- - --><mrow><mi>κ</mi></mrow></mfrac> <mfenced -open='(' close=')'><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn></mfenced></msqrt></mrow></mfrac><mo>exp</mo><mfenced -open='[' close=']'><mfrac><mrow><msup><mrow><mo>(</mo><mi>ε</mi><mo>-</mo><munderover accent='true'><mo>¯</mo><mi>ε</mi><mrow></mrow></munderover><mo>)</mo></mrow><mrow><mn>2</mn></mrow></msup></mrow><!-- - --><mrow><mn>2</mn></mrow></mfrac> <mfrac><mrow><mi>κ</mi></mrow><!-- _______ ---><mrow><msup><mi>ξ</mi><mrow><mn>2</mn></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn><mo>)</mo></mrow></mrow></mfrac></mfenced> <mtext></mtext> -</math></formula></cell></row></table> -thus implying - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>mean</mi> <mo>=</mo> <munderover accent='true'><mo>¯</mo><mi>ε</mi><mrow></mrow></munderover> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>σ</mi><mrow><mn>2</mn></mrow></msup> <mo>=</mo> <mfrac><mrow><msup><mi>ξ</mi><mrow><mn>2</mn></mrow></msup></mrow><!-- - --><mrow><mi>κ</mi></mrow></mfrac> <mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><mi>ξ</mi><msub><mi>E</mi><mrow><mi> -max</mi></mrow></msub><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mn>2</mn><mo>)</mo></mrow> <mtext></mtext> -</math></formula></cell></row></table> -</p> -</div> -<div id="urban"> -<head>Urbán model</head> -<p>The method for computing restricted energy losses with -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>δ</mi></math></formula>-ray -production above given threshold energy in <code>GEANT</code> 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 <ptr target="fg:phys332-2"/>. -</p> -<p><figure file="phys332-2" id="fg:phys332-2"> -<head>Energy loss distribution for a 3 GeV electron in Argon as given by -standard GEANT. The width of the layers is given in centimeters.</head> -</figure></p> -<p>It is assumed that the atoms have only two energy levels with binding energy -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub></math></formula> and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub></math></formula>. -The particle--atom interaction will then be an excitation with energy loss -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub></math></formula> or -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub></math></formula>, or -an ionisation with an energy loss distributed according to a function -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mo>∼</mo><mn>1</mn><mo>/</mo><msup><mi>E</mi><mrow><mn>2</mn></mrow></msup></math></formula>: -<formula type="equation"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow><mi>I</mi></mrow><!-- - --><mrow>&Emax;</mrow></mfrac> -<mfrac><mrow><mn>1</mn></mrow><!-- _ ---><mrow><msup><mi>E</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> -</math></formula></p><p>The -macroscopic cross-section for excitations (<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn></math></formula>) -is <formula id="eq:sigex" type="equation"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <msub><mi>Σ</mi><mrow><mi>i</mi></mrow></msub><mo>=</mo><mi>C</mi> <mfrac><mrow><msub><mi>f</mi><mrow><mi>i</mi></mrow></msub></mrow><!-- ---><mrow><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub></mrow></mfrac> <mfrac><mrow><mo>ln</mo><mrow><mo>(</mo><mn>2</mn><mi>m</mi><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mrow><!-- - --><mrow><mo>ln</mo><mrow><mo>(</mo><mn>2</mn><mi>m</mi><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup><msup><mi>γ</mi><mrow><mn>2</mn></mrow></msup><mo>/</mo><mi>I</mi><mo>)</mo></mrow><mo>-</mo><msup><mi>β</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> <mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>r</mi><mo>)</mo></mrow> </math></formula>and -the macroscopic cross-section for ionisation is -<formula id="eq:sigion" type="equation"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <msub><mi>Σ</mi><mrow><mn>3</mn></mrow></msub><mo>=</mo><mi>C</mi> <mfrac><mrow>&Emax;</mrow><!-- ________________ ---><mrow><mi>I</mi><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>ln</mo><mrow><mo>(</mo><mfrac><mrow>&Emax;<mo>+</mo><mi>I</mi></mrow><!-- - --><mrow><mi>I</mi></mrow></mfrac> <mo>)</mo></mrow></mrow></mfrac><mi>r</mi> </math></formula> -<formula><math xmlns="http://www.w3.org/1998/Math/MathML">&Emax;</math></formula> -is the <code>GEANT</code> cut for <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>δ</mi></math></formula>-production, -or the maximum energy transfer minus mean ionisation energy, if it is smaller than -this cut-off value. The following notation is used: -</p><p><table rend="inline"><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>r</mi><mo>,</mo><mi>C</mi></math></formula></cell><cell ->parameters of the model</cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub></math></formula></cell><cell ->atomic energy levels </cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>I</mi></math></formula></cell><cell ->mean ionisation energy </cell> -</row><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>f</mi><mrow><mi>i</mi></mrow></msub></math></formula></cell><cell ->oscillator strengths </cell> -</row></table> -</p><p>The model has the parameters <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>f</mi><mrow><mi>i</mi></mrow></msub></math></formula>, -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub></math></formula>, -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>C</mi></math></formula> and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>r</mi><mrow><mo>(</mo><mn>0</mn><mo>≤</mo><mi>r</mi><mo>≤</mo><mn>1</mn><mo>)</mo></mrow></math></formula>. The oscillator -strengths <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>f</mi><mrow><mi>i</mi></mrow></msub></math></formula> and the -atomic level energies <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub></math></formula> -should satisfy the constraints - <table rend="inline"><row><cell><formula type="subeqn" id="eq:fisum"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>f</mi><mrow><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub> <mo>=</mo> <mn>1</mn> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn" id="eq:flnsum"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>f</mi><mrow><mn>1</mn></mrow></msub><mo>ln</mo><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub><mo>ln</mo><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub> <mo>=</mo> <mo>ln</mo><mi>I</mi> -</math></formula></cell></row></table> -The parameter <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>C</mi></math></formula> -can be defined with the help of the mean energy loss -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>d</mi><mi>E</mi><mo>/</mo><mi>d</mi><mi>x</mi></math></formula> in the following way: The -numbers of collisions (<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mi>i</mi></mrow></msub></math></formula>, -i = 1,2 for the excitation and 3 for the ionisation) follow the Poisson distribution with a mean -number <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>i</mi></mrow></msub><mo>>;</mo></mrow></math></formula>. In a step -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>Δ</mi><mi>x</mi></math></formula> the mean number -of collisions is <formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mrow><mo><</mo><msub><mi>n</mi><mrow><mi>i</mi></mrow></msub><mo>>;</mo></mrow><mo>=</mo><msub><mi>Σ</mi><mrow><mi>i</mi></mrow></msub><mi>Δ</mi><mi>x</mi> -</math></formula>The -mean energy loss <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>d</mi><mi>E</mi><mo>/</mo><mi>d</mi><mi>x</mi></math></formula> -in a step is the sum of the excitation and ionisation contributions -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mfrac><mrow><mi>d</mi><mi>E</mi></mrow><!-- ---><mrow><mi>d</mi><mi>x</mi></mrow></mfrac> <mi>Δ</mi><mi>x</mi><mo>=</mo><mfenced -open='[' close=']'><msub><mi>Σ</mi><mrow><mn>1</mn></mrow></msub><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>Σ</mi><mrow><mn>2</mn></mrow></msub><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub><mo>+</mo><msub><mi>Σ</mi><mrow><mn>3</mn></mrow></msub><msubsup><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow>&Emax;<mo>+</mo><mi>I</mi></mrow></msubsup><mi>E</mi><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi>d</mi><mi>E</mi></mfenced><mi>Δ</mi><mi>x</mi> -</math></formula>From -this, using the equations (<ptr target="eq:sigex"/>), (<ptr target="eq:sigion"/>), (<ptr target="eq:fisum"/>) and (<ptr target="eq:flnsum"/>), one can define the parameter -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>C</mi></math></formula> -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>C</mi><mo>=</mo><mfrac><mrow><mi>d</mi><mi>E</mi></mrow><!-- ---><mrow><mi>d</mi><mi>x</mi></mrow></mfrac> -</math></formula> -</p><p>The following values have been chosen in <code>GEANT</code> for the other parameters: -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow> - <mtable equalrows='false' equalcolumns='false'><mtr><mtd><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub><mo>=</mo><mfenced -open='{' ><mtable equalrows='false' equalcolumns='false'><mtr><mtd><mn>0</mn> </mtd><mtd><mi>if</mi><mi>Z</mi><mo>≤</mo><mn>2</mn></mtd> -</mtr><mtr><mtd><mn>2</mn><mo>/</mo><mi>Z</mi></mtd><mtd><mi>if</mi><mi>Z</mi><mo>></mo><mn>2</mn></mtd> -</mtr><mtr><mtd> </mtd></mtr></mtable> </mfenced></mtd><mtd><mo>↠</mo></mtd><mtd><msub><mi>f</mi><mrow><mn>1</mn></mrow></msub><mo>=</mo><mn>1</mn><mo>-</mo><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub> </mtd> - </mtr><mtr><mtd><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub><mo>=</mo><mn>1</mn><mn>0</mn><msup><mi>Z</mi><mrow><mn>2</mn></mrow></msup><mi>eV </mi> </mtd><mtd><mo>↠</mo></mtd><mtd><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo>=</mo><msup><mfenced -open='(' close=')'> <mfrac><mrow><mi>I</mi></mrow><!--___ ---><mrow><msubsup><mi>E</mi><mrow><mn>2</mn></mrow><mrow><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub></mrow></msubsup></mrow></mfrac> </mfenced><mrow> <mfrac><mrow><mn>1</mn></mrow><!-- _ ---><mrow><msub><mi>f</mi><mrow><mn>1</mn></mrow></msub></mrow></mfrac> </mrow></msup></mtd> - </mtr><mtr><mtd><mi>r</mi><mo>=</mo><mn>0</mn><mo>.</mo><mn>4</mn> </mtd><mtd> </mtd><mtd> </mtd> - </mtr><mtr><mtd> </mtd></mtr></mtable> -</mrow></math></formula> With these values -the atomic level <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub></math></formula> -corresponds approximately the K-shell energy of the atoms and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>Z</mi><msub><mi>f</mi><mrow><mn>2</mn></mrow></msub></math></formula> the number of -K-shell electrons. <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>r</mi></math></formula> -is the only variable which can be tuned freely. It determines the relative contribution -of ionisation and excitation to the energy loss. -</p><p>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 -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>Δ</mi><msub><mi>E</mi><mrow><mi>e</mi></mrow></msub><mo>=</mo><msub><mi>n</mi><mrow><mn>1</mn></mrow></msub><msub><mi>E</mi><mrow><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>n</mi><mrow><mn>2</mn></mrow></msub><msub><mi>E</mi><mrow><mn>2</mn></mrow></msub> -</math></formula>where -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>1</mn></mrow></msub></math></formula> and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>2</mn></mrow></msub></math></formula> -are sampled from Poisson distribution as discussed above. The -loss due to the ionisation can be generated from the distribution -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow></math></formula> by -the inverse transformation method: - <table rend="inline"><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>u</mi><mo>=</mo><mi>F</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow> <mo>=</mo><msubsup> <mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>E</mi></mrow></msubsup><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mi>d</mi><mi>x</mi> <mtext></mtext> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mo>=</mo><msup><mi>F</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow> <mo>=</mo> <mfrac><mrow><mi>I</mi></mrow><!--____ ---><mrow><mn>1</mn><mo>-</mo><mi>u</mi> <mfrac><mrow>&Emax;</mrow><!-- ___ ---><mrow>&Emax;<mo>+</mo><mi>I</mi></mrow></mfrac> </mrow></mfrac> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> -</math></formula></cell></row></table> -where <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>u</mi></math></formula> is a uniform random -number between <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>F</mi><mrow><mo>(</mo><mi>I</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></math></formula> and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>F</mi><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn></math></formula>. The contribution from the -ionisations will be <formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>Δ</mi><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub><mo>=</mo><msubsup><mo>∑</mo> - <mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></mrow></msubsup> <mfrac><mrow><mi>I</mi></mrow><!--________ ---><mrow><mn>1</mn><mo>-</mo><msub><mi>u</mi><mrow><mi>j</mi></mrow></msub> <mfrac><mrow>&Emax;</mrow><!-- ___ ---><mrow>&Emax;<mo>+</mo><mi>I</mi></mrow></mfrac> </mrow></mfrac> -</math></formula>where -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></math></formula> is the -number of ionisation (sampled from Poisson distribution). The energy loss in a step will -then be <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>Δ</mi><mi>E</mi><mo>=</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>e</mi></mrow></msub><mo>+</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>i</mi></mrow></msub></math></formula>. -</p> -<div > -<head>Fast simulation for <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>≥</mo><mn>1</mn><mn>6</mn></math></formula></head> -<p>If the number of ionisation <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></math></formula> -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 -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow><mo>[</mo><mi>I</mi><mo>,</mo><mi>α</mi><mi>I</mi><mo>]</mo></mrow></math></formula> the interval A, -and the latter <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow><mo>[</mo><mi>α</mi><mi>I</mi><mo>,</mo>&Emax;<mo>]</mo></mrow></math></formula> the -interval B. <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>α</mi></math></formula> lies -between 1 and <formula><math xmlns="http://www.w3.org/1998/Math/MathML" ->&Emax;<mo>/</mo><mi>I</mi></math></formula>. -A collision with a loss in the interval A happens with the probability -<formula type="display" id="eq:phys332-5"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>α</mi><mi>I</mi></mrow></msubsup><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi>d</mi><mi>E</mi><mo>=</mo><mfrac><mrow><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow><mrow><mo>(</mo><mi>α</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><!-- - --><mrow>&Emax;<mi>α</mi></mrow></mfrac> -</math></formula>The -mean energy loss and the standard deviation for this type of collision are -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mrow><mo><</mo><mi>Δ</mi><mi>E</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>>;</mo></mrow><mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><!--___ ---><mrow><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow></mrow></mfrac><msubsup><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>α</mi><mi>I</mi></mrow></msubsup><mi>E</mi><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi>d</mi><mi>E</mi><mo>=</mo><mfrac><mrow><mi>I</mi><mi>α</mi><mo>ln</mo><mi>α</mi></mrow><!-- - --><mrow><mi>α</mi><mo>-</mo><mn>1</mn></mrow></mfrac> -</math></formula>and <formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>σ</mi><mrow><mn>2</mn></mrow></msup><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><!--___ ---><mrow><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow></mrow></mfrac><msubsup><mo>∫</mo> - <mrow><mi>I</mi></mrow><mrow><mi>α</mi><mi>I</mi></mrow></msubsup><msup><mi>E</mi><mrow><mn>2</mn></mrow></msup><mi>g</mi><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mi>d</mi><mi>E</mi><mo>=</mo><msup><mi>I</mi><mrow><mn>2</mn></mrow></msup><mi>α</mi><mfenced -open='(' close=')'><mn>1</mn><mo>-</mo> <mfrac><mrow><mi>α</mi><msup><mo>ln</mo><mrow><mn>2</mn></mrow></msup><mi>α</mi></mrow><!--_ ---><mrow><msup><mrow><mo>(</mo><mi>α</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mrow><mn>2</mn></mrow></msup></mrow></mfrac></mfenced> -</math></formula>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: - <table rend="inline"><row><cell><formula type="subeqn" id="eq:phys332-1"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow> <mo>=</mo> <msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn" id="eq:phys332-2"><math xmlns="http://www.w3.org/1998/Math/MathML"><msubsup><mi>σ</mi><mrow><mi>A</mi></mrow><mrow><mn>2</mn></mrow></msubsup> <mo>=</mo> <msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>P</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>)</mo></mrow> -</math></formula></cell></row></table> -It is further assumed that the energy loss in these collisions has a Gaussian -distribution with - <table rend="inline"><row><cell><formula type="subeqn" id="eq:phys332-3"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo><</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow> <mo>=</mo> <msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mrow><mo><</mo><mi>Δ</mi><mi>E</mi><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow><mo>>;</mo></mrow> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn" id="eq:phys332-4"><math xmlns="http://www.w3.org/1998/Math/MathML"><msubsup><mi>σ</mi><mrow><mi>E</mi><mo>,</mo><mi>A</mi></mrow><mrow><mn>2</mn></mrow></msubsup> <mo>=</mo> <msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><msup><mi>σ</mi><mrow><mn>2</mn></mrow></msup><mrow><mo>(</mo><mi>α</mi><mo>)</mo></mrow> -</math></formula></cell></row></table> -The energy loss of these collision can then be sampled from the Gaussian -distribution. -</p><p>The collisions where the energy loss is in the interval B are sampled directly from -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>Δ</mi><msub><mi>E</mi><mrow><mi>B</mi></mrow></msub><mo>=</mo><msubsup><mo>∑</mo> - <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>-</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub></mrow></msubsup> <mfrac><mrow><mi>α</mi><mi>I</mi></mrow><!--_________ ---><mrow><mn>1</mn><mo>-</mo><msub><mi>u</mi><mrow><mi>i</mi></mrow></msub> <mfrac><mrow>&Emax;<mo>+</mo><mi>I</mi><mo>-</mo><mi>α</mi><mi>I</mi></mrow><!-- - --><mrow>&Emax;<mo>+</mo><mi>I</mi></mrow></mfrac> </mrow></mfrac> -</math></formula>The -total energy loss is the sum of these two types of collisions: -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"> - <mi>Δ</mi><mi>E</mi><mo>=</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>A</mi></mrow></msub><mo>+</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>B</mi></mrow></msub> -</math></formula></p> -<p>The approximation of equations (<ptr target="eq:phys332-1"/>), (<ptr target="eq:phys332-2"/>), (<ptr target="eq:phys332-3"/>) and (<ptr target="eq:phys332-4"/>) can be used under the following -conditions: - <table rend="inline"><row><cell><formula type="subeqn" id="eq:phys332-6"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo>-</mo><mi>c</mi><msub><mi>σ</mi><mrow><mi>A</mi></mrow></msub> <mo>≥</mo> <mn>0</mn> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn" id="eq:phys332-7"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo>+</mo><mi>c</mi><msub><mi>σ</mi><mrow><mi>A</mi></mrow></msub> <mo>≤</mo> <msub><mi>n</mi><mrow><mn>3</mn></mrow></msub> - </math></formula></cell></row><row><cell><formula type="subeqn"><math xmlns="http://www.w3.org/1998/Math/MathML"> - </math></formula></cell></row><row><cell><formula type="subeqn" id="eq:phys332-8"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo><</mo><mi>Δ</mi><msub><mi>E</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo>-</mo><mi>c</mi><msub><mi>σ</mi><mrow><mi>E</mi><mo>,</mo><mi>A</mi></mrow></msub> <mo>≥</mo> <mn>0</mn> -</math></formula></cell></row></table> -where <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>c</mi><mo>≥</mo><mn>4</mn></math></formula>. From -the equations (<ptr target="eq:phys332-5"/>), (<ptr target="eq:phys332-1"/>) and (<ptr target="eq:phys332-3"/>) and from the conditions (<ptr target="eq:phys332-6"/>) and (<ptr target="eq:phys332-7"/>) the following limits can be -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>α</mi><mrow><mi>min</mi></mrow></msub><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mo>)</mo></mrow><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow></mrow><!-- ---><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mi>I</mi></mrow></mfrac> <mo>≤</mo><mi>α</mi><mo>≤</mo><msub><mi>α</mi><mrow><mtext>max</mtext></mrow></msub><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mo>)</mo></mrow><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow></mrow><!-- ---><mrow><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup><mrow><mo>(</mo>&Emax;<mo>+</mo><mi>I</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mi>I</mi></mrow></mfrac> -</math></formula>This -conditions gives a lower limit to number of the ionisations -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></math></formula> for which the fast -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>≥</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup> </math></formula>As -in the conditions (<ptr target="eq:phys332-6"/>), (<ptr target="eq:phys332-7"/>) and (<ptr target="eq:phys332-8"/>) the value of -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>c</mi></math></formula> is as minimum -4, one gets <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>≥</mo><mn>1</mn><mn>6</mn></math></formula>. -In order to speed the simulation, the maximum value is used for -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>α</mi></math></formula>. -</p><p>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 -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></math></formula>. -The maximum number of these collisions can be estimated as -<formula type="equation"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>=</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>-</mo><msub><mi>n</mi><mrow><mi>A</mi><mo>,</mo><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo>≈</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mrow><mo>(</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow><mo>-</mo><msub><mi>σ</mi><mrow><mi>A</mi></mrow></msub><mo>)</mo></mrow> -</math></formula>From the previous -expressions for <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mrow><mo><</mo><msub><mi>n</mi><mrow><mi>A</mi></mrow></msub><mo>>;</mo></mrow></math></formula> and -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>σ</mi><mrow><mi>A</mi></mrow></msub></math></formula> one can derive the -<formula type="equation"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>n</mi><mrow><mi>B</mi></mrow></msub><mo>≤</mo><msub><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>=</mo> <mfrac><mrow><mn>2</mn><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup></mrow><!--_ ---><mrow><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>+</mo><msup><mi>c</mi><mrow><mn>2</mn></mrow></msup></mrow></mfrac> -</math></formula>The following -values are obtained with <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>c</mi><mo>=</mo><mn>4</mn></math></formula>: -</p><p><table rend="inline"><row><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></math></formula></cell><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></math></formula></cell><cell -></cell><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub></math></formula></cell><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>n</mi><mrow><mi>B</mi><mo>,</mo><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub></math></formula></cell> -</row><row><cell ->16 </cell><cell ->16 </cell><cell -></cell><cell -> 200</cell><cell -> 29.63</cell> -</row><row><cell ->20 </cell><cell ->17.78 </cell><cell -></cell><cell -> 500</cell><cell -> 31.01</cell> -</row><row><cell ->50 </cell><cell ->24.24 </cell><cell -></cell><cell -> 1000</cell><cell -> 31.50</cell> -</row><row><cell ->100 </cell><cell ->27.59 </cell><cell -></cell><cell -><formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>∞</mi></math></formula></cell><cell -> 32.00</cell> -</row></table> -</p> -</div> -<div > -<head>Special sampling for lower part of the spectrum</head> -<p>If the step length is very small (<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mo>≤</mo><mn>5</mn></math></formula> -mm in gases, <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mo>≤</mo></math></formula> -2-3 <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>μ</mi></math></formula>m in solids) -the model gives 0 energy loss for some events. To avoid this, the probability of 0 energy loss is -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mrow><mo>(</mo><mi>Δ</mi><mi>E</mi><mo>=</mo><mn>0</mn><mo>)</mo></mrow><mo>=</mo><msup><mi>e</mi><mrow><mo>-</mo><mrow><mo>(</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mn>1</mn></mrow></msub><mo>></mo></mrow><mo>+</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mn>2</mn></mrow></msub><mo>></mo></mrow><mo>+</mo><mrow><mo><</mo><msub><mi>n</mi><mrow><mn>3</mn></mrow></msub><mo>></mo></mrow><mo>)</mo></mrow></mrow></msup> -</math></formula>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 -<formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub><mo>=</mo><mn>1</mn><mn>0</mn></math></formula> eV is chosen -to correspond to the outer electrons. The mean number of collisions can be calculated from -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo><</mo><mi>n</mi><mo>></mo></mrow><mo>=</mo> <mfrac><mrow><mn>1</mn></mrow><mrow><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub></mrow></mfrac> -</math></formula>The number -of collisions <formula><math xmlns="http://www.w3.org/1998/Math/MathML" -><mi>n</mi></math></formula> -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 -<formula type="display"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>Δ</mi><mi>E</mi><mo>=</mo><msubsup><mo>∑</mo> - <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi></mrow></msubsup> -<mfrac><mrow><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub></mrow><mrow><mn>1</mn><mo>-</mo> -<mfrac><mrow>&Emax;</mrow> -<mrow>&Emax;<mo>+</mo><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub></mrow></mfrac> -<msub><mi>u</mi><mrow><mi>i</mi></mrow></msub></mrow></mfrac> -</math></formula> -</p> </div> </div> <div -type="star"> <head>References</head> <list type="bibliography"> <item -id="bib-LAND"> <p>L.Landau. On the Energy Loss of Fast Particles by -Ionisation. Originally published in <emph>J. Phys.</emph>, 8:201, -1944. Reprinted in D.ter Haar, Editor, <emph>L.D.Landau, Collected -papers</emph>, page 417. Pergamon Press, Oxford, 1965. -</p></item> <item id="bib-SCH1"> <p>B.Schorr. Programs for -the Landau and the Vavilov distributions and the corresponding random -numbers. <emph>Comp. Phys. Comm.</emph>, 7:216, 1974. -</p></item> <item id="bib-SELT"> <p>S.M.Seltzer and -M.J.Berger. Energy loss straggling of protons and mesons. In -<emph>Studies in Penetration of Charged Particles in Matter</emph>, -Nuclear Science Series 39, Nat. Academy of Sciences, Washington DC, -1964. </p></item> <item id="bib-TALM"> <p>R.Talman. On the -statistics of particle identification using ionization. <emph>Nucl. -Inst. Meth.</emph>, 159:189, 1979. </p></item> <item -id="bib-VAVI"> <p>P.V.Vavilov. Ionisation losses of high energy -heavy particles. <emph>Soviet Physics JETP</emph>, 5:749, -1957.</p></item></list> </div> - </body> </text> </TEI.2> - - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml b/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml deleted file mode 100644 index 87ddc55816f..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/passivetex.xml +++ /dev/null @@ -1,388 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE TEI.2 SYSTEM "http://www.oucs.ox.ac.uk/dtds/tei-oucs.dtd" [ - <!ENTITY properties SYSTEM "properties.xml"> -]> -<TEI.2> - <teiHeader> - <fileDesc> - <titleStmt> - <title>PassiveTeX</title> - </titleStmt> - <publicationStmt> - <p> </p> - </publicationStmt> - <sourceDesc> - <p></p> - </sourceDesc> - </fileDesc> - <revisionDesc> - <list> - <item><date>2000/12/11</date>version 1.4 </item> - <item><date>2000/11/23</date>version 1.3 </item> - <item><date>2000/10/04</date>version 1.1 </item> - <item><date>2000/09/13</date>A couple of changes to property list</item> - <item><date>2000/09/12</date>Notes on memory sizes</item> - <item><date>2000/06/24</date>Checking links</item> - <item><date>2000/05/30</date>Added conformance and dependency notes</item> - <item><date>2000/02/07</date>Second version</item> - <item><date>1999/08/08</date>First version, authored in TEI XML</item> - </list> - </revisionDesc> - </teiHeader> - <text> -<front> -<titlePage> -<docTitle> - <titlePart type="main">PassiveTeX</titlePart> -</docTitle> -<docAuthor>Sebastian Rahtz</docAuthor> -<docDate>November 2000</docDate> -</titlePage> -</front> -<body> -<div> -<head>Summary</head> -<list type="unordered"> -<item> -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. -</item> -<item> -PassiveTeX provides a rapid development environment for experimenting -with XSL FO, using a reliable pre-existing formatter -</item> -<item> -Running PassiveTeX with the pdfTeX variant of TeX generates high-quality -PDF files in a single operation. -</item> -<item> -PassiveTeX shows how TeX can remain the formatter of choice for XML, while -hiding the details of its operation from the user. -</item> -</list> -<p> -Available from <xptr - url="http://users.ox.ac.uk/~rahtz/passivetex/"/>. - The current version is 1.4, 2000/12/11. -</p> -</div> -<div><head>How does it work?</head> -<p> -PassiveTeX relies heavily on work by David Carlisle -(his namespace-aware XML parser written in -TeX, <code>xmltex</code>), and was developed from my -<xref url="http://www.tug.org/applications/jadetex/">JadeTeX</xref> -macros for processing DSSSL via Jade. -</p> -<p> -Taking the XML version of the TEI Lite guidelines -(<xref url="test/teiu5.xml">teiu5.xml</xref>, with DTD -<xref url="test/teixlite.dtd">teixlite.dtd</xref>), we apply an XSL stylesheet -(see my page of <xref url="http://users.ox.ac.uk/~rahtz/tei">TEI style sheets</xref>), -and run it through James Clark's XT XSL processor: -<eg> - java com.jclark.xsl.sax.Driver teiu5.xml tei.xsl teiu5.fo -</eg> -(assuming you have <code>xt.jar</code>, <code>xp.jar</code> and <code>sax.jar</code> -on your CLASSPATH ). This creates the new XML file -<xref url="test/teiu5.fo">teiu5.fo</xref>. We now run XMLTeX on this -<eg> - pdfxmltex teiu5.fo -</eg> -which creates <xref url="test/teiu5.pdf">teiu5.pdf</xref>. Voila! -Actually, we need to do -<eg> - pdfxmltex teiu5.fo -</eg> -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 <xref url="http://users.ox.ac.uk/~rahtz/tei/teiu5.html">teiu5.html</xref> -on my TEI page. </p> -</div> -<div> -<head>Installation</head> -<p> -The PassiveTeX macros should be downloaded (as a ZIP file, -<xptr url="passivetex.zip"/>), unpacked, and installed in a TeX system (eg in -<code>texmf/tex/latex/passivetex</code>) 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 <code>mktexlsr</code> when you have the files in place, - to update the file lookup table. -</p> -<p> -What about that <code>pdfxmltex</code> command we saw in the last section? -You don't have it on your system? You need to download -<xref url="ftp://ftp.tex.ac.uk/tex-archive/macros/xmltex/base.zip">xmltex</xref> -(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) <code>teiu5.fo</code> in one of two ways: -<list type="ordered"> -<item>Build an <code>xmltex</code> format file for pdfTeX with -<eg> -pdftex -ini "&pdflatex" pdfxmltex.ini -</eg> -and process your file with -<eg> -pdflatex "&pdfxmltex" teiu5.fo -</eg> -Or, -</item> -<item> -Make a wrapper file called (eg) <code>teiu5.tex</code> looking like this: -<eg> -\def\xmlfile{teiu5.fo} -\input xmltex -</eg> -and run pdfTeX on it as normal with -<eg> -pdflatex teiu5.tex -</eg> -</item> -</list> -Do not worry, <code>xmltex</code> knows how to find the PassiveTeX macros as -it needs them. You will likely need to increase TeX memory -values (in the file <code>texmf.cnf</code> if you use a Web2c-based TeX); -I use: -<eg> -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 -</eg> -</p> -<p> -For reference, the PassiveTeX package consists of the following files: -<list> -<item>The core xmltex `style' files for XSL FO XML: -<eg> - fotex.xmt - fotex.sty -</eg> -</item> -<item> -Support for direct formatting of TEI XML with xmltex -<eg> - tei.xmt - teixml.sty -</eg> -</item> -<item> -Some support files, shared with JadeTeX: -<eg> - unicode.sty - ucharacters.sty - mlnames.sty - dummyels.sty -</eg> -</item> -</list> -</p> -<p> -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 -<code>texmf.cnf</code> file, increase the size of <code>buf_size</code> (mine is -200000), and remake any format files. -</p> -<div><head>LaTeX package dependencies</head> -<p>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 <xptr url="http://www.tug.org/texlive/"/>). -</p> -<p> Here is a - list of the packages loaded in a typical run of - PassiveTeX, with their version numbers where known: -<table rend="rules"> -<row><cell> amsbsy.sty </cell><cell> 1999/11/29 v1.2d</cell></row> -<row><cell>amsfonts.sty </cell><cell> 1997/09/17 v2.2e</cell></row> -<row><cell> amsgen.sty </cell><cell> 1999/11/30 v2.0</cell></row> -<row><cell> amsmath.sty </cell><cell> 2000/03/29 v2.08 AMS math features</cell></row> -<row><cell> amsopn.sty </cell><cell> 1999/12/14 v2.01 operator names</cell></row> -<row><cell> amssymb.sty </cell><cell> 1996/11/03 v2.2b</cell></row> -<row><cell> amstext.sty </cell><cell> 1999/11/15 v2.0</cell></row> -<row><cell> array.sty </cell><cell> 1998/05/13 v2.3m Tabular extension package (FMi)</cell></row> -<row><cell> article.cls </cell><cell> 1999/09/10 v1.4a Standard LaTeX document class</cell></row> -<row><cell> bm.sty </cell><cell> 1999/07/05 v1.0g Bold Symbol Support (DPC/FMi)</cell></row> -<row><cell> color.sty </cell><cell> 1999/02/16 v1.0i Standard LaTeX Color (DPC)</cell></row> -<row><cell> fontenc.sty </cell><cell> (version not available)</cell></row> -<row><cell>graphics.sty </cell><cell> 1999/02/16 v1.0l Standard LaTeX Graphics (DPC,SPQR)</cell></row> -<row><cell>graphicx.sty </cell><cell> 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)</cell></row> -<row><cell> hpdftex.def </cell><cell> 2000/05/08 v6.70f Hyperref driver for pdfTeX</cell></row> -<row><cell>hyperref.sty </cell><cell> 2000/05/08 v6.70f Hypertext links for LaTeX</cell></row> -<row><cell> ifthen.sty </cell><cell> 1999/09/10 v1.1b Standard LaTeX ifthen package (DPC)</cell></row> -<row><cell> keyval.sty </cell><cell> 1999/03/16 v1.13 key=value parser (DPC)</cell></row> -<row><cell>longtable.sty </cell><cell> 1998/05/13 v4.09 Multi-page Table package (DPC)</cell></row> -<row><cell>multicol.sty </cell><cell> 1999/10/21 v1.5w multicolumn formatting (FMi)</cell></row> -<row><cell> nameref.sty </cell><cell> 2000/05/08 v2.18 Cross-referencing by name of section</cell></row> -<row><cell> ot1phv.fd </cell><cell> 2000/01/12 PSNFSS-v8.1 scalable font definitions for OT1/phv.</cell></row> -<row><cell> pd1enc.def </cell><cell> 2000/05/08 v6.70f Hyperref: PDFDocEncoding definition (HO)</cell></row> -<row><cell> pifont.sty </cell><cell> 2000/01/12 PSNFSS-v8.1 Pi font support (SPQR) </cell></row> -<row><cell>rotating.sty </cell><cell> 1997/09/26, v2.13 Rotation package</cell></row> -<row><cell> size10.clo </cell><cell> 1999/09/10 v1.4a Standard LaTeX file (size option)</cell></row> -<row><cell>stmaryrd.sty </cell><cell> 1994/03/03 St Mary's Road symbol package</cell></row> -<row><cell> t1enc.def </cell><cell> 1999/12/08 v1.9x Standard LaTeX file</cell></row> -<row><cell> t1phv.fd </cell><cell> 2000/01/12 PSNFSS-v8.1 scalable font definitions for T1/phv.</cell></row> -<row><cell> t1ptm.fd </cell><cell> 2000/01/12 PSNFSS-v8.1 font definitions for T1/ptm.</cell></row> -<row><cell> t2acmr.fd </cell><cell> 1999/01/07 v1.0 Computer Modern Cyrillic font definitions</cell></row> -<row><cell> t2aenc.def </cell><cell> 1999/11/29 v1.0c Cyrillic encoding definition file</cell></row> -<row><cell> t3enc.def </cell><cell> (version not available)</cell></row> -<row><cell>textcomp.sty </cell><cell> 1999/12/08 v1.9x Standard LaTeX package</cell></row> -<row><cell> times.sty </cell><cell> 2000/01/12 PSNFSS-v8.1 Times font as default roman (SPQR) </cell></row> -<row><cell> tipa.sty </cell><cell> 1996/06/10 TIPA version 1.0</cell></row> -<row><cell> trig.sty </cell><cell> 1999/03/16 v1.09 sin cos tan (DPC)</cell></row> -<row><cell> ts1cmr.fd </cell><cell> 1999/05/25 v2.5h Standard LaTeX font definitions</cell></row> -<row><cell> ts1enc.def </cell><cell> 1998/06/12 v3.0d (jk/car/fm) Standard LaTeX file</cell></row> -<row><cell> ts1ptm.fd </cell><cell> 2000/01/12 PSNFSS-v8.1 font definitions for TS1/ptm.</cell></row> -<row><cell> ulem.sty </cell><cell> 1997/04/21</cell></row> -<row><cell> umsa.fd </cell><cell> 1995/01/05 v2.2e AMS font definitions</cell></row> -<row><cell> umsb.fd </cell><cell> 1995/01/05 v2.2e AMS font definitions</cell></row> -<row><cell> upsy.fd </cell><cell> 2000/01/12 PSNFSS-v8.1 font definitions for U/psy.</cell></row> -<row><cell> upzd.fd </cell><cell> 2000/01/12 PSNFSS-v8.1 font definitions for U/pzd.</cell></row> -<row><cell> url.sty </cell><cell> 1999/03/28 ver 1.5x Verb mode for urls, etc.</cell></row> -<row><cell> Ustmry.fd </cell><cell> (version not available)</cell></row> -<row><cell> uwasy.fd </cell><cell> 1999/05/13 v1.0iWasy-2 symbol font definitions</cell></row> -<row><cell> wasysym.sty </cell><cell> 1999/05/13 v1.0i Wasy-2 symbol support package</cell></row> -</table> -</p> -</div> -</div> - - -<div> -<head>Extensions</head> -<p> -PassiveTeX interprets MathML natively (elements must use the MathML namespace). -I also support a <code>bookmark</code> element in the -<code>fotex</code> namespace, used to make PDF bookmarks. Usage is like this: -<eg> -<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> -</eg> -</p> -</div> - - -<div> -<head>Notes on conformance to the XSL draft specification of November 2000</head> -&properties; -</div> - -<div> -<head>Sample files</head> -<p> -<list> -<item> The TEI Lite description (<xref -url="test/teiu5.xml">teiu5.xml</xref>) converted PDF as <xref -url="test/teiu5.pdf">teiu5.pdf</xref></item> -<item> A TEI test file (<xref -url="test/exercise.xml">exercise.xml</xref>) -converted to PDF as <xref -url="test/exercise.pdf">exercise.pdf</xref></item> -<item> A physics paper (<xref url="test/latextei.xml">latextei.xml</xref>) containing a fair - amount of MathML markup, originally - translated from LaTeX into XML. - It is used extensively as an example in the - <xref url="http://cseng.awl.com/bookpage.taf?ISBN=0-201-43311-7&ptype=0&catid=&navmin=&ctype=author&catpage=&seriesid=">LaTeX Web Companion</xref>. -Here we see it - converted to <xref url="test/latextei.pdf">latextei.pdf</xref> using - <xref url="test/latextei.xsl">test/latextei.xsl</xref></item> -<item> James Tauber prepared a simple XSL spec (<xref -url="test/darkness.xsl">darkness.xsl</xref>) for Joseph Conrad's -<xref url="test/darkness.xml"><emph>Heart of -Darkness</emph></xref>, which I ran to PDF as <xref -url="test/darkness.pdf">darkness.pdf</xref></item> -</list> -</p> -</div> - -<div> -<head>Concerns and problems</head> -<p> -Some points to bear in mind -<list type="ordered"> - <item> Obviously, the XSL FO spec is still a draft. - And this system is not conforming - precisely to the current draft. </item> - <item> This is an experiment system to check whether the - idea works. Expect something more polished eventually.</item> - <item> You need a modern TeX setup (like - <xref url="http://www.tug.org/teTeX/">teTeX</xref> or - <xref url="http://www.tug.org/texlive/">TeX Live</xref>) -to get to grips with it.</item> - <item> Quite a few flow objects and characteristics are not dealt with yet. - I will add support for more things as needed or requested.</item> - <item> I do not have any objective check that what I think XSL FOs are - supposed to do is actually right :-}</item> - <item> I have only worked so far with the TEI Lite (XML version) and - Docbook DTDs, and probably misinterpreted half of what they say.</item> -</list> -</p> -</div> - -<div> -<head>Things for LaTeX users to remember</head> -<p> -<list type="unordered"> -<item> 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 <code>fotex:</code> namespace are supported -(eg to get Acrobat bookmarks) -</item> -<item> XSL FO's underlying character set is Unicode; by default, - entities are mapped to their Unicode position; -</item> -<item> All vertical and horizontal space is explicit in the - specification -</item> -<item> Page and line breaking is left to TeX: the rest is up to you. -</item> -</list> -</p> -</div> - -<div> -<head>Future directions</head> -<p> -<list type="unordered"> -<item>Complete the MathML handling</item> -<item>Handle more variety in property values (eg colors, fonts) </item> -<item>Deal with more complex tables</item> -<item>Support SVG. How? - <list type="unordered"> - <item>By direct intepretation and mapping to raw PDF</item> - <item>By translation to MetaPost, and spawning a MetaPost process</item> - <item>By pre-processing to existing TeX graphics languages</item> - </list> -In any case, SVG fragments need to be recognized directly to perform in-line -graphical functions (setting text at an angle?) -</item> -<item>Use Unicode-based TeX variant (Omega) to handle non-Latin material -more naturally</item> -</list> -</p> -<p> -I will be very glad to discuss details with anyone. Contact me (Sebastian Rahtz) as -<xref url="mailto:sebastian.rahtz@oucs.ox.ac.uk">sebastian.rahtz@oucs.ox.ac.uk</xref> -</p> -</div> -</body> -</text> -</TEI.2> - diff --git a/Master/texmf-dist/doc/xmltex/passivetex/properties.xml b/Master/texmf-dist/doc/xmltex/passivetex/properties.xml deleted file mode 100644 index 85cd904b3c0..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/properties.xml +++ /dev/null @@ -1,592 +0,0 @@ -<!-- -0. done -1. more or less OK -2. not done, but pending when for when I need it -3. not done, cannot see how to do it -4. N/A ---> -<p> -The following general limitations apply to most of the PassiveTeX - implementation of XSL FO: -<list type="ordered"> -<item>The `px' unit is not recognised</item> -<item>Absolute dimensions always work, but proportional ones -are often not recognized </item> -<item>The functions allowed in attribute values are usually not - recognized</item> -<item>There is no error checking at all, and all properies are - recognized; do not assume that they do anything...</item> -</list> -</p> -<p> -Most of the formatting objects are implemented more or less; the -following are not implemented at all: -<list type="ordered"> -<item><code>fo:bidi-override</code></item> -<item><code>fo:color-profile</code></item> -<item><code>fo:declarations</code></item> -<item><code>fo:initial-property-set</code></item> -<item><code>fo:instream-foreign-object</code></item> -<item><code>fo:multi-case</code></item> -<item><code>fo:multi-properties</code></item> -<item><code>fo:multi-property-set</code></item> -<item><code>fo:multi-switch</code></item> -<item><code>fo:multi-toggle</code></item> -<item><code>fo:region-end</code></item> -<item><code>fo:region-start</code></item> -<item><code>fo:table-footer</code></item> -</list> -</p> -<div><head>Properties needed for basic conformance</head> -<p> -<table rend="rules"> -<row><cell>alignment-adjust</cell><cell>auto | percentage | length | inherit</cell><cell>Basic</cell> -<cell>2. should be possible </cell></row> - -<row><cell>azimuth</cell><cell>angle | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side -] || behind ] | leftwards | rightwards | inherit</cell><cell>Basic</cell> -<cell>4. N/A </cell></row> - -<row><cell>background-color</cell><cell>color | transparent | inherit</cell><cell>Basic</cell> <cell>3. does not really map in TeX </cell></row> - -<row><cell>baseline-identifier</cell><cell>baseline | before-edge | text-before-edge | middle | after-edge -| text-after-edge | ideographic | alphabetic | hanging | mathematical -| inherit</cell><cell>Basic</cell> -<cell>3. not at all sure where to start </cell></row> - -<row><cell>baseline-shift</cell><cell>baseline | sub | super | percentage | length | inherit</cell><cell>Basic</cell> -<cell>1. basically works </cell></row> - -<row><cell>block-progression-dimension</cell><cell>auto | length | percentage | length-range | inherit</cell><cell>Basic</cell> -<cell>3. do not really understand it </cell></row> - -<row><cell>border-after-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-after-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-after-width</cell><cell>border-width | length-conditional | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-before-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-before-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-before-width</cell><cell>border-width | length-conditional | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-bottom-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-bottom-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>1. used in places </cell></row> - -<row><cell>border-bottom-width</cell><cell>border-width | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-end-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-end-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-end-width</cell><cell>border-width | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-left-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-left-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-left-width</cell><cell>border-width | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-right-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-right-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-right-width</cell><cell>border-width | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-start-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-start-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-start-width</cell><cell>border-width | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-top-color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>border-top-style</cell><cell>border-style | inherit</cell><cell>Basic</cell> <cell>1. used in places </cell></row> - -<row><cell>border-top-width</cell><cell>border-width | inherit</cell><cell>Basic</cell> <cell>2. works for blocks (non-breaking) </cell></row> - -<row><cell>break-after</cell><cell>auto | column | page | even-page | odd-page | inherit</cell><cell>Basic</cell> <cell>0. should be working </cell></row> - -<row><cell>break-before</cell><cell>auto | column | page | even-page | odd-page | inherit</cell><cell>Basic</cell> <cell>0. should be working </cell></row> - -<row><cell>character</cell><cell>character</cell><cell>Basic</cell> <cell>0. should be working </cell></row> - -<row><cell>clip</cell><cell>shape | auto | inherit</cell><cell>Basic</cell> <cell>2. theoretically possible </cell></row> - -<row><cell>color</cell><cell>color | inherit</cell><cell>Basic</cell> <cell>1. more or less complete </cell></row> - -<row><cell>column-number</cell><cell>number</cell><cell>Basic</cell> <cell>0. OK </cell></row> - -<row><cell>column-width</cell><cell>length</cell><cell>Basic</cell> <cell>0. OK </cell></row> - -<row><cell>content-type</cell><cell>string | auto</cell><cell>Basic</cell> <cell>4. N/A, I think </cell></row> - -<row><cell>cue-after</cell><cell>uri | none | inherit </cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>cue-before</cell><cell>uri | none | inherit </cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>direction</cell><cell>ltr | rtl | inherit</cell><cell>Basic</cell> <cell>3. waiting for extended TeX </cell></row> - -<row><cell>display-align</cell><cell>auto | before | center | after | inherit</cell><cell>Basic</cell> -<cell>0. working </cell></row> - -<row><cell>dominant-baseline</cell><cell>auto | autosense-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical -| inherit</cell><cell>Basic</cell> -<cell>3. dont know where to begin </cell></row> - -<row><cell>elevation</cell><cell>angle | below | level | above | higher | lower | inherit</cell><cell>Basic</cell> -<cell>4. N/A </cell></row> - -<row><cell>end-indent</cell><cell>length | inherit</cell><cell>Basic</cell> <cell>0. working </cell></row> - -<row><cell>flow-name</cell><cell>name</cell><cell>Basic</cell> <cell>0. working </cell></row> - -<row><cell>font-family</cell><cell>[[ family-name | generic-family ],]* [family-name | generic-family] | inherit</cell><cell>Basic</cell> -<cell>1. more or less OK </cell></row> - -<row><cell>font-size</cell><cell>absolute-size | relative-size | length | percentage | inherit</cell><cell>Basic</cell> -<cell>1. more or less all implemented </cell></row> - -<row><cell>font-style</cell><cell>normal | italic | oblique | backslant | inherit</cell><cell>Basic</cell> <cell>1. no oblique or backslant </cell></row> - -<row><cell>font-variant</cell><cell>normal | small-caps | inherit</cell><cell>Basic</cell> <cell>0. done </cell></row> - -<row><cell>font-weight</cell><cell>normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit</cell><cell>Basic</cell> -<cell>1. normal and bold only at present, others to follow</cell></row> - -<row><cell>format</cell><cell>string</cell><cell>Basic</cell> <cell>3. dont want to think about it </cell></row> - -<row><cell>grouping-separator</cell><cell>character</cell><cell>Basic</cell> <cell>3. dont want to think about it </cell></row> - -<row><cell>grouping-size</cell><cell>number</cell><cell>Basic</cell> <cell>3. dont want to think about it </cell></row> - -<row><cell>height</cell><cell>length | percentage | auto | inherit</cell><cell>Basic</cell> <cell>2. should be OK, waiting for a need </cell></row> - -<row><cell>id</cell><cell> id</cell><cell>Basic</cell> <cell>0. used </cell></row> - -<row><cell>initial-page-number</cell><cell>auto | auto-odd | auto-even | number | inherit</cell><cell>Basic</cell> <cell>0. done </cell></row> - -<row><cell>inline-progression-dimension</cell><cell>auto | length | percentage | length-range | inherit</cell><cell>Basic</cell> -<cell>3. have not considered at all </cell></row> - -<row><cell>keep-with-next</cell><cell>keep | inherit</cell><cell>Basic</cell> <cell>1. done in theory, not working 100%</cell></row> - -<row><cell>keep-with-previous</cell><cell>keep | inherit</cell><cell>Basic</cell> <cell>1. done in theory, not working 100% </cell></row> - -<row><cell>leader-length</cell><cell>length-range | inherit</cell><cell>Basic</cell> <cell>2. waiting to do soon </cell></row> - -<row><cell>leader-pattern</cell><cell>space | rule | dots | use-content | inherit</cell><cell>Basic</cell> <cell>2. waiting to do soon </cell></row> - -<row><cell>letter-value</cell><cell>auto | alphabetic | traditional</cell><cell>Basic</cell> <cell>3. dont want to think about it </cell></row> - -<row><cell>line-height</cell><cell>normal | length | number | percentage | space | inherit</cell><cell>Basic</cell> -<cell>1. largely done </cell></row> - -<row><cell>line-stacking-strategy</cell><cell>line-height | font-height | max-height | inherit</cell><cell>Basic</cell> <cell>3. untouched </cell></row> - -<row><cell>margin-bottom</cell><cell>margin-width | inherit</cell><cell>Basic</cell> <cell>1. done in places </cell></row> - -<row><cell>margin-left</cell><cell>margin-width | inherit</cell><cell>Basic</cell> <cell>1. done in places </cell></row> - -<row><cell>margin-right</cell><cell>margin-width | inherit</cell><cell>Basic</cell> <cell>1. done in places </cell></row> - -<row><cell>margin-top</cell><cell>margin-width | inherit</cell><cell>Basic</cell> <cell>1. done in places </cell></row> - -<row><cell>master-name</cell><cell>name</cell><cell>Basic</cell> <cell>0. ok </cell></row> - -<row><cell>max-height</cell><cell>length | percentage | none | inherit </cell><cell>Basic</cell> <cell>2. should be doable </cell></row> - -<row><cell>max-width</cell><cell>length | percentage | none | inherit</cell><cell>Basic</cell> <cell>2. should be doable </cell></row> - -<row><cell>min-height</cell><cell>length | percentage | inherit </cell><cell>Basic</cell> <cell>2. should be doable </cell></row> - -<row><cell>min-width</cell><cell>length | percentage | inherit</cell><cell>Basic</cell> <cell>2. should be doable </cell></row> - -<row><cell>number-columns-repeated</cell><cell>number</cell><cell>Basic</cell> - <cell>2. doable in theory </cell></row> - -<row><cell>number-columns-spanned</cell><cell>number</cell><cell>Basic</cell> <cell>2. doable in theory </cell></row> - -<row><cell>number-rows-spanned</cell><cell>number</cell><cell>Basic</cell> <cell>2. doable in theory </cell></row> - -<row><cell>orphans</cell><cell>integer | inherit</cell><cell>Basic</cell> <cell>2. should be doable </cell></row> - -<row><cell>overflow</cell><cell>visible | hidden | scroll | auto | inherit</cell><cell>Basic</cell> <cell>2. theoretically </cell></row> - -<row><cell>padding-after</cell><cell>padding-width | length-conditional | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-before</cell><cell>padding-width | length-conditional | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-bottom</cell><cell>padding-width | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-end</cell><cell>padding-width | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-left</cell><cell>padding-width | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-right</cell><cell>padding-width | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-start</cell><cell>padding-width | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>padding-top</cell><cell>padding-width | inherit</cell><cell>Basic</cell> <cell>1. implemented crudely </cell></row> - -<row><cell>page-break-after</cell><cell>auto | always | avoid | left | right | inherit</cell><cell>Basic</cell> <cell>1. Mostly implemented </cell></row> - -<row><cell>page-break-before</cell><cell>auto | always | avoid | left | right | inherit</cell><cell>Basic</cell> <cell>1. Mostly implemented </cell></row> - -<row><cell>page-height</cell><cell>auto | indefinite | length | inherit</cell><cell>Basic</cell> <cell>1. not all possibilities</cell></row> - -<row><cell>page-width</cell><cell>auto | indefinite | length | inherit</cell><cell>Basic</cell> <cell>1. not all possibilities</cell></row> - -<row><cell>pause-after</cell><cell>time | percentage | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>pause-before</cell><cell>time | percentage | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>pitch</cell><cell>frequency | x-low | low | medium | high | x-high | inherit</cell><cell>Basic</cell> -<cell>4. N/A </cell></row> - -<row><cell>pitch-range</cell><cell>number | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>play-during</cell><cell>uri mix? repeat? | auto | none | inherit </cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>precedence</cell><cell>true | false | inherit</cell><cell>Basic</cell> <cell>3. do not know where to start </cell></row> - -<row><cell>provisional-distance-between-starts</cell><cell>length | inherit</cell><cell>Basic</cell> <cell>1. does something, probably wrong </cell></row> - -<row><cell>provisional-label-separation</cell><cell>length | inherit</cell><cell>Basic</cell> <cell>1. does something, probably wrong </cell></row> - -<row><cell>ref-id</cell><cell>idref | inherit</cell><cell>Basic</cell> <cell>0. used in pagenumber </cell></row> - -<row><cell>reference-orientation</cell><cell> 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit</cell><cell>Basic</cell> <cell>2. doable for most objects </cell></row> - -<row><cell>region-name</cell><cell>xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator -| xsl-footnote-separator | name</cell><cell>Basic</cell> -<cell>0. done </cell></row> - -<row><cell>relative-align</cell><cell>before | baseline | inherit</cell><cell>Basic</cell> -<cell>3. have not got to grips with this </cell></row> - -<row><cell>richness</cell><cell>number | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>role</cell><cell>string | none | inherit</cell><cell>Basic</cell> <cell>4. N/A what should I do with it?</cell></row> - -<row><cell>rule-style</cell><cell>none | dotted | dashed | solid | double | groove | ridge | inherit</cell><cell>Basic</cell> -<cell>1. done as far as possible </cell></row> - -<row><cell>rule-thickness</cell><cell>length</cell><cell>Basic</cell> <cell>0. done </cell></row> - -<row><cell>source-document</cell><cell>uri+ | none | inherit</cell><cell>Basic</cell> <cell>4. N/A not sure what to do with it</cell></row> - -<row><cell>space-after</cell><cell>space | inherit</cell><cell>Basic</cell> <cell>1. working more or less </cell></row> - -<row><cell>space-before</cell><cell>space | inherit</cell><cell>Basic</cell> <cell>1. working more or less </cell></row> - -<row><cell>space-end</cell><cell>space | inherit</cell><cell>Basic</cell> <cell>1. working more or less </cell></row> - -<row><cell>space-start</cell><cell>space | inherit</cell><cell>Basic</cell> <cell>1. working more or less </cell></row> - -<row><cell>speak</cell><cell>normal | none | spell-out | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>speak-header</cell><cell>once | always | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>speak-numeral</cell><cell>digits | continuous | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>speak-punctuation</cell><cell>code | none | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>speech-rate</cell><cell>number | x-slow | slow | medium | fast | x-fast | faster | slower | inherit</cell><cell>Basic</cell> -<cell>4. N/A </cell></row> - -<row><cell>src</cell><cell> uri | inherit</cell><cell>Basic</cell> <cell>0. implemented </cell></row> - -<row><cell>start-indent</cell><cell>length | inherit</cell><cell>Basic</cell> <cell>0. done </cell></row> - -<row><cell>stress</cell><cell>number | inherit</cell><cell>Basic</cell> <cell>4. N/A </cell></row> - -<row><cell>text-align</cell><cell>start | center | end | justify | inside | outside | left | right | string | inherit</cell><cell>Basic</cell> -<cell>0. done </cell></row> - -<row><cell>text-indent</cell><cell>length | percentage | inherit</cell><cell>Basic</cell> <cell>0. done </cell></row> - -<row><cell>visibility</cell><cell>visible | hidden | collapse | inherit</cell><cell>Basic</cell> <cell>2. I think can do this </cell></row> - -<row><cell>voice-family</cell><cell>[[specific-voice | generic-voice ],]* [specific-voice | generic-voice ] | inherit</cell><cell>Basic</cell> -<cell>4. N/A </cell></row> - -<row><cell>volume</cell><cell>number | percentage | silent | x-soft | soft | medium | loud | x-loud | inherit</cell><cell>Basic</cell> -<cell>4. N/A </cell></row> - -<row><cell>widows</cell><cell>integer | inherit</cell><cell>Basic</cell> <cell>2. should be doable </cell></row> - -<row><cell>width</cell><cell>length | percentage | auto | inherit</cell><cell>Basic</cell> <cell>2. should be OK, waiting for a need </cell></row> - -<row><cell>wrap-option</cell><cell>no-wrap | wrap | inherit</cell><cell>Basic</cell> <cell>0. should be working </cell></row> - -<row><cell>writing-mode</cell><cell>lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit</cell><cell>Basic</cell> <cell>3. will need an extended TeX </cell></row> - -<row><cell>z-index</cell><cell>auto | integer | inherit</cell><cell>Basic</cell> <cell>3. dont know where to start </cell></row> -</table> -</p> -</div> - - -<div><head>Properties needed for full conformance</head> -<p> -<table rend="rules"> -<row><cell>absolute-position</cell><cell>auto | absolute | fixed | inherit</cell><cell>Complete</cell> <cell>2. should be doable </cell></row> - -<row><cell>background</cell><cell>[background-color || background-image -|| background-repeat || background-attachment || background-position -| ]]inherit</cell><cell>Complete</cell> -<cell>1. implemented but very fragile </cell></row> - -<row><cell>background-position</cell><cell>[ [percentage | length ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>border</cell><cell>[ border-width || border-style || color ] | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>border-bottom</cell><cell>[ border-top-width || border-style || color ] | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>border-color</cell><cell>color{1,4} | transparent | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>border-left</cell><cell>[ border-top-width || border-style || color ] | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>border-right</cell><cell>[ border-top-width || border-style || color ] | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>border-spacing</cell><cell>length length? | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>border-style</cell><cell>border-style{1,4} | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>border-top</cell><cell>[ border-top-width || border-style || color ] | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>border-width</cell><cell>border-width{1,4} | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>caption-side</cell><cell>before | after | start | end | top | bottom | left | right | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>cue</cell><cell>cue-before || cue-after | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>font</cell><cell>[ [ font-style || font-variant || font-weight ]? font-size [ / line-height]? font-family -] | caption | icon | menu | message-box | small-caption | status-bar -| inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>margin</cell><cell>margin-width{1,4} | inherit </cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>padding</cell><cell>padding-width{1,4} | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>page-break-inside</cell><cell>avoid | auto | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>pause</cell><cell>[time | percentage]{1,2} | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>position</cell><cell>static | relative | absolute | fixed | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>size</cell><cell>length{1,2} | auto | landscape | portrait | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>vertical-align</cell><cell>baseline | middle | sub | super | text-top | text-bottom | percentage | length | top | bottom | inherit</cell><cell>Complete</cell> -<cell> </cell></row> - -<row><cell>white-space</cell><cell>normal | pre | nowrap | inherit</cell><cell>Complete</cell> <cell> </cell></row> - -<row><cell>xml:lang</cell><cell>country-language | inherit</cell><cell>Complete</cell> <cell>2. not done yet, but will be </cell></row> -</table> -</p> -</div> - -<div><head>Properties needed for extended conformance</head> -<p> -<table rend="rules"> -<row><cell>table-layout</cell><cell>auto | fixed | inherit</cell><cell>Extended.Fallback: fixed</cell> <cell> </cell></row> - -<row><cell>background-attachment</cell><cell>scroll | fixed | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>2. I can see where I might start </cell></row> - -<row><cell>background-image</cell><cell>uri | none | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>2. I can see where I might start </cell></row> - -<row><cell>background-position-horizontal</cell><cell>percentage | length | left | center | right | inherit</cell><cell>Extended.Fallback: Initial value</cell> -<cell>2. I can see where I might start </cell></row> - -<row><cell>background-position-vertical</cell><cell>percentage | length | top | center | bottom | inherit</cell><cell>Extended.Fallback: Initial value</cell> -<cell>2. I can see where I might start </cell></row> - -<row><cell>border-collapse</cell><cell>collapse | separate | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>border-separation</cell><cell>length-bp-ip-direction | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>column-count</cell><cell>number | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>0. implemented </cell></row> - -<row><cell>content-height</cell><cell>auto | length | percentage | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>1. done for graphics </cell></row> - -<row><cell>content-width</cell><cell>auto | length | percentage | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>1. done for graphics </cell></row> - -<row><cell>country</cell><cell>none | country | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>2. waiting to find a use for it </cell></row> - -<row><cell>empty-cells</cell><cell>show | hide | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>ends-row</cell><cell>yes | no</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>font-height-override-after</cell><cell>use-font-metrics | length | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>3. need extended TeX </cell></row> - -<row><cell>font-height-override-before</cell><cell>use-font-metrics | length | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>3. need extended TeX </cell></row> - -<row><cell>font-size-adjust</cell><cell>number | none | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>2. doable, I think </cell></row> - -<row><cell>font-stretch</cell><cell>normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | -expanded | extra-expanded | ultra-expanded |inherit</cell><cell>Extended.Fallback: Initial value</cell> -<cell>0. should be OK </cell></row> - -<row><cell>glyph-orientation-horizontal</cell><cell>angle | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>3. need extended TeX </cell></row> - -<row><cell>glyph-orientation-vertical</cell><cell>auto | angle | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>3. need extended TeX </cell></row> - -<row><cell>hyphenate</cell><cell>false | true | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>0. done </cell></row> - -<row><cell>keep-together</cell><cell>keep | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>language</cell><cell>none | language | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>0. done, if underlying TeX system OK </cell></row> - -<row><cell>last-line-end-indent</cell><cell>length | percentage | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>leader-alignment</cell><cell>none | reference-area | page | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>leader-pattern-width</cell><cell>use-font-metrics | length | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>letter-spacing</cell><cell>normal | length | space | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>2. doable in limited circumstances </cell></row> - -<row><cell>line-height-shift-adjustment</cell><cell>consider-shifts | disregard-shifts | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>linefeed-treatment</cell><cell>ignore | preserve | treat-as-space | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>2. doable, if tiresome </cell></row> - -<row><cell>relative-position</cell><cell>auto | static | relative | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>scaling</cell><cell>uniform | non-uniform | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>0. ok </cell></row> - -<row><cell>scaling-method</cell><cell>auto | integer-pixels | resample-any-method | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>4. N/A, I think </cell></row> - -<row><cell>score-spaces</cell><cell>true | false | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>3. dont think I can do this </cell></row> - -<row><cell>space-treatment</cell><cell>ignore | preserve | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>0. seems to work </cell></row> - -<row><cell>span</cell><cell>none | all | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>3. proving hard </cell></row> - -<row><cell>starts-row</cell><cell>yes | - no</cell><cell>Extended.Fallback: Initial value</cell> - <cell>0. works</cell></row> - -<row><cell>suppress-at-line-break</cell><cell>auto | suppress | retain | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>table-omit-footer-at-break</cell><cell>yes | no</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>table-omit-header-at-break</cell><cell>yes | no</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>text-align-last</cell><cell>relative | start | center | end | justify | inside | outside | left | right | string | inherit</cell><cell>Extended.Fallback: Initial value</cell> -<cell>1. works, usually </cell></row> - -<row><cell>text-decoration</cell><cell>none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] - -| inherit</cell><cell>Extended.Fallback: Initial value</cell> -<cell>1. done for some possibilities, not all </cell></row> - -<row><cell>text-shadow</cell><cell>none | [color || length length length? ,]* [color || length length length?] | inherit</cell><cell>Extended.Fallback: Initial value</cell> -<cell> </cell></row> - -<row><cell>text-transform</cell><cell>capitalize | uppercase | lowercase | none | </cell><cell>Extended.Fallback: Initial value</cell> <cell>2. doable </cell></row> - -<row><cell>treat-as-word-space</cell><cell>auto | yes | no | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>white-space-collapse</cell><cell>false | true | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell>0. Done </cell></row> - -<row><cell>word-spacing</cell><cell>normal | length | space | inherit</cell><cell>Extended.Fallback: Initial value</cell> <cell> </cell></row> - -<row><cell>bottom</cell><cell>length | percentage | auto | inherit</cell><cell>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</cell> <cell>2. doable, I think </cell></row> - -<row><cell>left</cell><cell>length | percentage | auto | inherit</cell><cell>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</cell> <cell>2. doable, I think </cell></row> - -<row><cell>right</cell><cell>length | percentage | auto | inherit</cell><cell>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</cell> <cell>2. doable, I think </cell></row> - -<row><cell>top</cell><cell>length | percentage | auto | inherit</cell><cell>Extended.Fallback: N/A due to fallback for absolute-position, relative-position</cell> <cell>2. doable, I think </cell></row> - -<row><cell>column-gap</cell><cell>length | percentage | inherit</cell><cell>Extended.Fallback: N/A due to fallback for column-count</cell> <cell>1. implemented (not for all value types) </cell></row> - -<row><cell>hyphenation-character</cell><cell>character | inherit</cell><cell>Extended.Fallback: N/A due to fallback for hyphenate</cell> <cell>3. need to think about how to do this </cell></row> - -<row><cell>hyphenation-keep</cell><cell>auto | column | page | inherit</cell><cell>Extended.Fallback: N/A due to fallback for hyphenate</cell> <cell>3. not sure how to do this </cell></row> - -<row><cell>hyphenation-ladder-count</cell><cell>no-limit | number | inherit</cell><cell>Extended.Fallback: N/A due to fallback for hyphenate</cell> <cell>3. I dont see how to do this </cell></row> - -<row><cell>hyphenation-push-character-count</cell><cell>number | inherit</cell><cell>Extended.Fallback: N/A due to fallback for hyphenate</cell> <cell>2. I think this maps in TeX </cell></row> - -<row><cell>hyphenation-remain-character-count</cell><cell>number | inherit</cell><cell>Extended.Fallback: N/A due to fallback for hyphenate</cell> <cell>2. I think this maps in TeX </cell></row> - -<row><cell>color-profile-name</cell><cell>name | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:color-profile</cell> <cell>3. would need a lot of thought </cell></row> - -<row><cell>rendering-intent</cell><cell>auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:color-profile</cell> <cell>3. not sure how to do this </cell></row> - -<row><cell>clear</cell><cell>start | end | left | right | both | none | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:float</cell> <cell> </cell></row> - -<row><cell>float</cell><cell>before | start | end | left | right | none | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:float</cell> <cell> </cell></row> - -<row><cell>marker-class-name</cell><cell>name</cell><cell>Extended.Fallback: N/A use fallback for fo:marker</cell> <cell> </cell></row> - -<row><cell>active-state</cell><cell>link | visited | active | hover | focus</cell><cell>Extended.Fallback: N/A use fallback for fo:multi-properties</cell> <cell> </cell></row> - -<row><cell>auto-restore</cell><cell>yes | no</cell><cell>Extended.Fallback: N/A use fallback for fo:multi-switch</cell> <cell> </cell></row> - -<row><cell>case-name</cell><cell>name</cell><cell>Extended.Fallback: N/A use fallback for fo:multi-switch</cell> <cell> </cell></row> - -<row><cell>case-title</cell><cell>string</cell><cell>Extended.Fallback: N/A use fallback for fo:multi-switch</cell> <cell> </cell></row> - -<row><cell>starting-state</cell><cell>show | hide</cell><cell>Extended.Fallback: N/A use fallback for fo:multi-switch</cell> <cell> </cell></row> - -<row><cell>switch-to</cell><cell>xsl-preceding | xsl-following | xsl-any | name[ name]*</cell><cell>Extended.Fallback: N/A use fallback for fo:multi-switch</cell> <cell> </cell></row> - -<row><cell>extent</cell><cell>length | percentage | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:region-before, fo:region-after, fo:region-start, and fo:region-end</cell> <cell> </cell></row> - -<row><cell>blank-or-not-blank</cell><cell>blank | not-blank | any | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives</cell> <cell>3. dont want to think about it </cell></row> - -<row><cell>odd-or-even</cell><cell>odd | even | any | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives</cell> <cell> </cell></row> - -<row><cell>page-position</cell><cell>first | last | rest | any | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-alternatives</cell> <cell> </cell></row> - -<row><cell>maximum-repeats</cell><cell>number | no-limit | inherit</cell><cell>Extended.Fallback: N/A use fallback for fo:repeatable-page-master-reference and fo:repeatable-page-master-alternatives</cell> <cell> </cell></row> - -<row><cell>retrieve-boundary</cell><cell>page | page-sequence | document</cell><cell>Extended.Fallback: N/A use fallback for fo:retrieve-marker</cell> <cell> </cell></row> - -<row><cell>retrieve-class-name</cell><cell>name</cell><cell>Extended.Fallback: - N/A use fallback for fo:retrieve-marker</cell> <cell>1. works usually </cell></row> - -<row><cell>retrieve-position</cell><cell>first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page</cell><cell>Extended.Fallback: N/A use fallback for fo:retrieve-marker</cell> -<cell> </cell></row> - -<row><cell>destination-placement-offset</cell><cell>length</cell><cell>Extended.Fallback: N/A use fallback for fo:simple-link</cell> <cell> </cell></row> - -<row><cell>external-destination</cell><cell>uri-reference</cell><cell>Extended.Fallback: - N/A use fallback for fo:simple-link</cell> <cell>0. works ok </cell></row> - -<row><cell>indicate-destination</cell><cell>yes | - no</cell><cell>Extended.Fallback: N/A use fallback for - fo:simple-link</cell> <cell>1. should work </cell></row> - -<row><cell>internal-destination</cell><cell>null string | - idref</cell><cell>Extended.Fallback: N/A use fallback for - fo:simple-link</cell> <cell>0. works </cell></row> - -<row><cell>show-destination</cell><cell>replace | new</cell><cell>Extended.Fallback: N/A use fallback for fo:simple-link</cell> <cell> </cell></row> - -<row><cell>force-page-count</cell><cell>auto | even | odd | end-on-even | end-on-odd | no-force | inherit</cell><cell>Extended.Fallback: no-force</cell> -<cell> </cell></row> - -<row><cell>background-repeat</cell><cell>repeat | repeat-x | repeat-y | no-repeat | inherit</cell><cell>Extended.Fallback: no-repeat</cell> <cell> </cell></row> - -<row><cell>script</cell><cell>none | auto | script | inherit</cell><cell>Extended.Fallback: none</cell> <cell>4. dont know what to do with it </cell></row> - -<row><cell>unicode-bidi</cell><cell>normal | embed | bidi-override | inherit</cell><cell>Extended.Fallback: See prose</cell> <cell> </cell> -</row> -</table> -</p> -</div> diff --git a/Master/texmf-dist/doc/xmltex/passivetex/test.xml b/Master/texmf-dist/doc/xmltex/passivetex/test.xml deleted file mode 100644 index 321a22835d4..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/test.xml +++ /dev/null @@ -1,280 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE TEI.2 SYSTEM "teixlite.dtd"> -<TEI.2> - <teiHeader> - <fileDesc> - <titleStmt> - <title>This and that</title> - </titleStmt> - <publicationStmt> - <p> </p> - </publicationStmt> - <sourceDesc> - <p></p> - </sourceDesc> - </fileDesc> - <revisionDesc> - <list> - <item><date>October 10th 1999</date>Initial version</item> - </list> - </revisionDesc> - </teiHeader> - <text> -<front> - <docTitle> - <titlePart type="main">Texts for beginners</titlePart> - </docTitle> -<docAuthor>A N Other</docAuthor> -<docDate>October 10th 1999</docDate> -</front> -<body> - -<div><head>The table in section 1</head> -<p> -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. -</p><p> -`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?' -</p><p> -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. -</p> -<div><head>The table in section 1</head> -<q rend="display"> -<table cols="3" rend="inline"> -<row><cell cols="3">AT&T Common Stock</cell></row> -<row><cell>Year </cell><cell> Price</cell><cell>Dividend</cell></row> -<row><cell>1971</cell><cell>41--54</cell><cell>$2.60</cell></row> -<row><cell> 2</cell><cell>41--54</cell><cell>2.70</cell></row> -<row><cell> 3</cell><cell>46--55</cell><cell>2.87</cell></row> -<row><cell> 4</cell><cell>40--53</cell><cell>3.24</cell></row> -<row><cell> 5</cell><cell>45--52</cell><cell>3.40</cell></row> -<row><cell> 6</cell><cell>51--59</cell><cell>.95*</cell></row> -<row><cell cols="3">(* first quarter only)</cell></row> -</table> -</q> - -<eg> -<![CDATA[ -<xsl:template match="eg"> - <fo:block font-family="{$typewriterFont}" - white-space-collapse="false" - wrap-option="no-wrap" - text-indent="0em" - start-indent="{$exampleMargin}" - text-align="start" - font-size="{$exampleSize}" - background="red" - color="white" - space-before.optimum="4pt" - space-after.optimum="4pt" - > - <xsl:value-of select="translate(.,' ',' ')"/> - </fo:block> -</xsl:template> -]]> -</eg> -</div> -</div> -<div><head>LOOMINGS</head> - -<p>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. </p> - -<p> 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: -<list> -<item>Grand Contested Election for the Presidency of the -United States. </item> -<item>Whaling Voyage by one Ishmael. </item> -<item>Bloody Battle in Affghanistan.</item> -</list>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. -</p> -</div> -</body> -</text> -</TEI.2> diff --git a/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml b/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml deleted file mode 100644 index df46cbc7896..00000000000 --- a/Master/texmf-dist/doc/xmltex/passivetex/xsa.xml +++ /dev/null @@ -1,14 +0,0 @@ -<xsa version="1.0"> - <vendor> - <name>Sebastian Rahtz</name> - <email>sebastian.rahtz@oucs.ox.ac.uk</email> - </vendor> - <product id="fotex"> - <name>Passive TeX</name> - <version>1.3, 10th December 2000</version> - <last-release>20001210</last-release> - <info-url>http://users.ox.ac.uk/~rahtz/passivetex/</info-url> - </product> -</xsa> - - diff --git a/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty b/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty index f0581d1b4f3..bccbf77a039 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty +++ b/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty @@ -1,6 +1,6 @@ -%RCS: $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/fotex.sty#1 $, $Date: 2004/02/09 $ +%RCS: $Id: //TEI/web/Software/passivetex/fotex.sty#29 $, $Date: 2002/06/26 $ % -% Copyright 2003 Sebastian Rahtz/Oxford University +% Copyright 2002 Sebastian Rahtz/Oxford University % <sebastian.rahtz@oucs.ox.ac.uk> % % Permission is hereby granted, free of charge, to any person obtaining @@ -14,41 +14,14 @@ % The above copyright notice and this permission notice shall be included % in all copies or substantial portions of the Software. % -\batchmode -\ProvidesPackage{fotex}[2003/03/10: version 1.25. support for XSL formatting, S Rahtz] -\RequirePackage{graphicx,color} -%\IfFileExists{multicol.sty} -% {\RequirePackage{multicol}[1997/12/16]} -% {\newenvironment{multicols}[1]% -% {\typeout{Warning, at line \the\inputlineno, multicol package not available}}{}% -%} - -\def\confirmnomulticols{ - \RequirePackage{nomulticol}[2003/01/09] - \typeout{INFO (nomulticol.sty: fo:block span="all" works} -} -\def\warnnomulticols{ - \RequirePackage{multicol}[1997/12/16] - \typeout{WARNING (multicol.sty: fo:block span="all" does not work} - \fakenomulticols -} -\def\warnmulticols{ - \typeout{WARNING (no multicol.sty: multiple columns not available} - \newenvironment{multicols}[1]{\typeout{Warning, at line \the\inputlineno, multicol package not available}}{} - \fakenomulticols -} -\def\fakenomulticols{ - \def\nobeginmulticols##1{\begin{multicols}{##1}} - \def\noendmulticols{\end{multicols}} - \def\interbeginmulticols##1{} - \let\interendmulticols\relax - \let\refreshmulticols\relax -} -\IfFileExists{nomulticol.sty} -{\confirmnomulticols} -{\IfFileExists{multicol.sty} - {\warnnomulticols} - {\warnmulticols} +% Includes fixes from Tomas Bures <ghort@pauline.vellum.cz> +% +\ProvidesPackage{fotex}[2002/06/25: version 1.17. support for XSL formatting, S Rahtz] +\RequirePackage{graphicx} +\IfFileExists{multicol.sty} + {\RequirePackage{multicol}[1997/12/16]} + {\newenvironment{multicols}[1]% + {\typeout{Warning, at line \the\inputlineno, multicol package not available}}{}% } \RequirePackage{rotating} \RequirePackage{array} @@ -57,12 +30,12 @@ \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} \newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} \newcolumntype{P}[1]{>{\arraybackslash}p{#1}} -\RequirePackage{soul} \RequirePackage{amsmath} \let\Vec\undefined \RequirePackage{longtable} \RequirePackage{url} \RequirePackage[normalem]{ulem} +\RequirePackage{color} \RequirePackage{times} \RequirePackage{mlnames} \RequirePackage{unicode} @@ -70,17 +43,14 @@ \RequirePackage{ucharacters} %\usepackage{ucs}\usepackage[utf8]{inputenc} \RequirePackage{nameref} -\RequirePackage[pdfcreator={PassiveTeX 1.25},colorlinks=false,plainpages=true,hypertexnames=false,pdfborder={1 0 0}]{hyperref}[1999/08/1] +\RequirePackage[colorlinks=false,plainpages=true,hypertexnames=false,pdfborder={1 0 0}]{hyperref}[1999/08/1] %------------------------------------------- \newcount\FOListBlocks -\edef\This@FOListBlocks{\the\FOListBlocks} \newcount\FOTableNesting \newcount\FOinList \newcount\FOinTable \newcount\NCols \newcount\RowCount -\newcount\SimplePMRefs -\newskip\LeaderLength \newdimen\CurrentCellWidth \newdimen\FObalancespace \newdimen\FOspaceleft @@ -107,17 +77,13 @@ \newif\ifMulticolPending \newif\ifNoTableCheckHeight \newif\ifStartWithOmit -\newif\ifForcePageSetup -\newif\ifBlankPage -\newif\ifInInsertion \newsavebox\BlockBox \newsavebox\CellBox \newsavebox\FOBOX \newsavebox\ItemBox \newtoks\ColSpecs -\newtoks\BoxedFootnotes % -%\FODebugtrue +\FODebugfalse \FOBlockGrabfalse \FODefiningPagefalse \FOListBodyfalse @@ -133,10 +99,6 @@ \MasterTopMargin\z@ \MulticolPendingfalse \StartWithOmitfalse -% smarts from Anton to deal with long lines in verbatim -\gdef\FOdiscretionary{\ifx\FOwrapoption\att@nowrap\discretionary{\kern-.5ex\lower1ex\hbox{$\hookleftarrow$}}{}{\kern1ex}\else\space\fi} -\def\obeyspaces{\catcode`\ =\active} -{\obeyspaces\global\let =\FOdiscretionary} \def\DEBUG#1{% \ifFODebug \typeout{#1, at \the\inputlineno}% @@ -158,7 +120,6 @@ \def\FOborderendstyle{#2}% \def\FOborderbeforestyle{#2}% \def\FOborderafterstyle{#2}% - \interpretwidth } \def\FOexpandattributes{% % @@ -221,25 +182,36 @@ \fi % end of shortcuts \ifx\FOborderendstyle\att@solid + \ifx\FOborderendwidth\att@thin\def\FOborderendwidth{0.4pt}\fi + \ifx\FOborderendwidth\att@medium\def\FOborderendwidth{0.8pt}\fi + \ifx\FOborderendwidth\att@thick\def\FOborderendwidth{1.2pt}\fi \FOBlockGrabtrue \else \def\FOborderendwidth{\z@}% \fi \ifx\FOborderstartstyle\att@solid + \ifx\FOborderstartwidth\att@thin\def\FOborderstartwidth{0.4pt}\fi + \ifx\FOborderstartwidth\att@medium\def\FOborderstartwidth{0.8pt}\fi + \ifx\FOborderstartwidth\att@thick\def\FOborderstartwidth{1.2pt}\fi \FOBlockGrabtrue \else \def\FOborderstartwidth{\z@}% \fi \ifx\FOborderafterstyle\att@solid + \ifx\FOborderafterwidth\att@thin\def\FOborderafterwidth{0.4pt}\fi + \ifx\FOborderafterwidth\att@medium\def\FOborderafterwidth{0.8pt}\fi + \ifx\FOborderafterwidth\att@thick\def\FOborderafterwidth{1.2pt}\fi \else \def\FOborderafterwidth{\z@}% \fi \ifx\FOborderbeforestyle\att@solid + \ifx\FOborderbeforewidth\att@thin\def\FOborderbeforewidth{0.4pt}\fi + \ifx\FOborderbeforewidth\att@medium\def\FOborderbeforewidth{0.8pt}\fi + \ifx\FOborderbeforewidth\att@thick\def\FOborderbeforewidth{1.2pt}\fi \FOBlockGrabtrue \else \def\FOborderbeforewidth{\z@}% \fi - \interpretwidth } %------------------------------------------- % @@ -285,107 +257,33 @@ \def\NoTableSetup{% \global\advance\AbsoluteTableCount by 1 \DeclareArray{fotable\the\AbsoluteTableCount:}% - \DeclareArray{fotabletextalign\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderbeforestyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderafterstyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderstartstyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderendstyle\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderbeforewidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderafterwidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderstartwidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderendwidth\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderbeforecolor\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderaftercolor\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderstartcolor\the\AbsoluteTableCount:}% - \DeclareArray{fotableborderendcolor\the\AbsoluteTableCount:}% \global\CellCount0 -\ifnum\FOinTable=0 - \global\BoxedFootnotes{}% - \global\let\FOfoottext\FOboxedfoottext -\fi -} - -\def\NoTableFinish{ -\ifnum\FOinTable=0 - \the\BoxedFootnotes - \global\BoxedFootnotes={}% - \global\let\FOfoottext\FOplainfoottext -\fi -} - -\def\saveinterlineskip{% - \edef\savedbaselineskip{\the\baselineskip}% - \edef\savedlineskip{\the\lineskip}% - \edef\savedlineskiplimit{\the\lineskiplimit}% - \baselineskip=-1000pt\relax - \lineskiplimit=16383pt\relax - \lineskip=0pt -} - -\def\restoreinterlineskip{% - \baselineskip\savedbaselineskip\relax - \lineskip\savedlineskip\relax - \lineskiplimit\savedlineskiplimit\relax } \def\NoTableStart#1{#1} -\def\NoTableEnd{% - \clearArray{fotable\the\AbsoluteTableCount:}% - \clearArray{fotabletextalign\the\AbsoluteTableCount:}% - \clearArray{fotableborderbeforestyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderafterstyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderstartstyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderendstyle\the\AbsoluteTableCount:}% - \clearArray{fotableborderbeforewidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderafterwidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderstartwidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderendwidth\the\AbsoluteTableCount:}% - \clearArray{fotableborderbeforecolor\the\AbsoluteTableCount:}% - \clearArray{fotableborderaftercolor\the\AbsoluteTableCount:}% - \clearArray{fotableborderstartcolor\the\AbsoluteTableCount:}% - \clearArray{fotableborderendcolor\the\AbsoluteTableCount:}% -} +\def\NoTableEnd{\clearArray{fotable\the\AbsoluteTableCount:}} \def\NoTableColumn{% - \ifx\@empty\FOcolumnnumber - \global\advance\NCols by 1 - \else - \global\NCols\FOcolumnnumber - \fi - \ifx\prop@width\FOcolumnwidth\def\FOcolumnwidth{1in}\fi - \ifx\@empty\FOcolumnwidth\def\FOcolumnwidth{1in}\fi - \TablePercentToDimen{\FOcolumnwidth}% - \addToArray{fotable\the\AbsoluteTableCount:}{\the\@tempdima}% - \addToArray{fotabletextalign\the\AbsoluteTableCount:}{\FOtextalign}% - \addToArray{fotableborderbeforestyle\the\AbsoluteTableCount:}{\FOborderbeforestyle}% - \addToArray{fotableborderafterstyle\the\AbsoluteTableCount:}{\FOborderafterstyle}% - \addToArray{fotableborderstartstyle\the\AbsoluteTableCount:}{\FOborderstartstyle}% - \addToArray{fotableborderendstyle\the\AbsoluteTableCount:}{\FOborderendstyle}% - \addToArray{fotableborderbeforewidth\the\AbsoluteTableCount:}{\FOborderbeforewidth}% - \addToArray{fotableborderafterwidth\the\AbsoluteTableCount:}{\FOborderafterwidth}% - \addToArray{fotableborderstartwidth\the\AbsoluteTableCount:}{\FOborderstartwidth}% - \addToArray{fotableborderendwidth\the\AbsoluteTableCount:}{\FOborderendwidth}% - \addToArray{fotableborderbeforecolor\the\AbsoluteTableCount:}{\FOborderbeforecolor}% - \addToArray{fotableborderaftercolor\the\AbsoluteTableCount:}{\FOborderaftercolor}% - \addToArray{fotableborderstartcolor\the\AbsoluteTableCount:}{\FOborderstartcolor}% - \addToArray{fotableborderendcolor\the\AbsoluteTableCount:}{\FOborderendcolor}% - \DEBUG{Table Column \the\NCols, in Table \the\AbsoluteTableCount, - \FOcolumnwidth, = \the\@tempdima}% + \ifx\@empty\FOcolumnnumber + \global\advance\NCols by 1 + \else + \global\NCols\FOcolumnnumber + \fi + \ifx\prop@width\FOcolumnwidth\def\FOcolumnwidth{1in}\fi + \ifx\@empty\FOcolumnwidth\def\FOcolumnwidth{1in}\fi + \TablePercentToDimen{\FOcolumnwidth}% + \addToArray{fotable\the\AbsoluteTableCount:}{\the\@tempdima}% + \DEBUG{Table Column \the\NCols, in Table \the\AbsoluteTableCount, + \FOcolumnwidth, = \the\@tempdima}% } \def\NoTableRow#1{% - \setbox0=\vbox{ - \ifx\FOheight\att@auto% - \strut They - \else - \rule{\z@}{\FOheight}% - \fi - }% + \setbox0=\vbox{\strut They}% \NoTableCellHeight=\ht0 \advance\NoTableCellHeight by \dp0 \global\CellCount0 \NoTableCheckHeightfalse - \setbox0=\vbox{\hbox{\let\FOfoottext\FOnofoottext#1}}% + \setbox0=\hbox{#1}% \@tempdima=\ht0 \advance\@tempdima by \dp0 \FOspaceleft=\pagegoal @@ -397,49 +295,30 @@ \fi \ifdim\@tempdima>\NoTableCellHeight %\typeout{row pass 2 at \the\inputlineno, as [\the\@tempdima] > [\the\NoTableCellHeight]}% + \global\CellCount0 \NoTableCellHeight=\@tempdima + \NoTableCheckHeighttrue + \vbox{\hbox{#1}}% + \else + \box0\relax \fi - \global\CellCount0 - \NoTableCheckHeighttrue - \vbox to \NoTableCellHeight{\hbox{#1}}% -% \ifFOinOutput\else\vskip-\lineskip\fi -} - -\def\inheritfromcolumn#1#2{% - \explicitattribute{#1}% - \ifx\isexplicit\relax - \expandafter\edef\csname FO#2\endcsname{\csname fotable#2\the\AbsoluteTableCount:\the\CellCount\endcsname}% - \fi + \vskip-\lineskip } \def\NoTableCell#1{% \ifx\FOstartsrow\att@true -% \vskip-\lineskip + \vskip-\lineskip \global\CellCount1 \else \global\advance\CellCount by 1 \fi \ifnum\NCols<1 \CurrentCellWidth\z@ - \setbox0=\hbox{\restoreinterlineskip#1\strut}% + \setbox0=\hbox{#1}% \CurrentCellWidth=\wd0 -%\DEBUG{report \the\CurrentCellWidth}% +\DEBUG{report \the\CurrentCellWidth}% \else \CurrentCellWidth=\csname fotable\the\AbsoluteTableCount:\the\CellCount\endcsname - \inheritfromcolumn{text-align}{textalign}% - \inheritfromcolumn{border-before-style}{borderbeforestyle}% - \inheritfromcolumn{border-after-style}{borderafterstyle}% - \inheritfromcolumn{border-start-style}{borderstartstyle}% - \inheritfromcolumn{border-end-style}{borderendstyle}% - \inheritfromcolumn{border-before-width}{borderbeforewidth}% - \inheritfromcolumn{border-after-width}{borderafterwidth}% - \inheritfromcolumn{border-start-width}{borderstartwidth}% - \inheritfromcolumn{border-end-width}{borderendwidth}% - \inheritfromcolumn{border-before-color}{borderbeforecolor}% - \inheritfromcolumn{border-after-color}{borderaftercolor}% - \inheritfromcolumn{border-start-color}{borderstartcolor}% - \inheritfromcolumn{border-end-color}{borderendcolor}% - \interpretwidth \fi \advance\CurrentCellWidth by -\FOpaddingstart \advance\CurrentCellWidth by -\FOpaddingend @@ -462,7 +341,7 @@ \leavevmode\hbox{\FOTableCellBlock#1\FOEndTableCellBlock}% \fi \ifx\FOendsrow\att@true -% \vskip-\lineskip + \vskip-\lineskip \global\CellCount0 \fi } @@ -471,18 +350,17 @@ \begin{lrbox}{\CellBox}% \vbox\bgroup \hsize\the\CurrentCellWidth - \restoreinterlineskip - \ifFOinOutput\else \color@begingroup\fi + \color@begingroup \FOSetFont{tablecellblock}% \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi \ifx\FOwrapoption\att@nowrap\obeylines\fi - \ifx\FOverticalalign\att@bottom\vfill\fi + \ifx\TOverticalalign\att@bottom\vfill\fi } \def\FOEndTableCellBlock{% - \ifx\FOverticalalign\att@top\vfill\fi - \ifFOinOutput\else \color@endgroup\fi + \ifx\TOverticalalign\att@top\vfill\fi + \color@endgroup \egroup \end{lrbox}% \@tempdima\FOmargintop @@ -498,7 +376,7 @@ \hbox{% \hskip\FOmarginleft \vbox{% - \kern\FOmargintop + \vskip\FOmargintop \vbox{% \ifx\FOborderbeforestyle\att@solid {\color{\FOborderbeforecolor}\hrule\@height\FOborderbeforewidth}% @@ -515,29 +393,29 @@ % According to FOdisplayalign property, we put glue % before and/or after the cell contents \vtop to \NoTableCellHeight{% - \kern\FOpaddingbefore + \vskip\FOpaddingbefore \ifx\FOdisplayalign\att@auto - \else\ifx\FOdisplayalign\att@before - \else\ifx\FOdisplayalign\att@after\vfil + \else\ifx\FOdisplayalign\att@after + \else\ifx\FOdisplayalign\att@before\vfil \else\ifx\FOdisplayalign\att@centered\vfil\fi \fi \fi \fi \hbox{\kern\FOpaddingstart\box\CellBox\kern\FOpaddingend}% \ifx\FOdisplayalign\att@auto\vfil - \else\ifx\FOdisplayalign\att@before\vfil - \else\ifx\FOdisplayalign\att@after + \else\ifx\FOdisplayalign\att@after\vfil + \else\ifx\FOdisplayalign\att@before \else\ifx\FOdisplayalign\att@centered\vfil\fi \fi \fi \fi - \kern\FOpaddingafter + \vskip\FOpaddingafter }% \else \vbox{% - \kern\FOpaddingbefore + \vskip\FOpaddingbefore \hbox{\kern\FOpaddingstart\box\CellBox\kern\FOpaddingend}% - \kern\FOpaddingafter + \vskip\FOpaddingafter }% \fi \ifx\FOborderendstyle\att@solid @@ -547,7 +425,7 @@ \ifx\FOborderafterstyle\att@solid {\color{\FOborderaftercolor}\hrule\@height\FOborderafterwidth}\fi }% - \kern\FOmarginbottom + \vskip\FOmarginbottom }% \hskip\FOmarginright }% @@ -555,22 +433,18 @@ } \def\FOBoxedBlock#1{% -% Dirk Roorda: I cannot perceive what should be going on here. -% But \hbox{#1} cannot be right, since #1 is a length or even a dimen. -% In the latter case this leads to a TeX error! -% So I have commented out the then-branch. -% \ifdim\@tempdimb=\z@ -% \setbox0=\hbox{#1}\@tempdimb\wd0\relax + \ifdim\@tempdimb=\z@ + \setbox0=\hbox{#1}\@tempdimb\wd0 %\typeout{report \the\CurrentCellWidth}% -% \else - \@tempdimb#1\relax% -% \fi - \advance\@tempdimb by -\FOpaddingstart\relax - \advance\@tempdimb by -\FOpaddingend\relax - \ifx\FOborderstartstyle\att@solid\advance\@tempdimb by -\FOborderstartwidth\relax\fi - \ifx\FOborderendstyle\att@solid\advance\@tempdimb by -\FOborderendwidth\relax\fi - \advance\@tempdimb by -\FOmarginright\relax - \advance\@tempdimb by -\FOmarginleft\relax + \else + \@tempdimb#1% + \fi + \advance\@tempdimb by -\FOpaddingstart + \advance\@tempdimb by -\FOpaddingend + \ifx\FOborderstartstyle\att@solid\advance\@tempdimb by -\FOborderstartwidth\fi + \ifx\FOborderendstyle\att@solid\advance\@tempdimb by -\FOborderendwidth\fi + \advance\@tempdimb by -\FOmarginright + \advance\@tempdimb by -\FOmarginleft \begin{lrbox}{\BlockBox}% \vbox\bgroup \hsize\the\@tempdimb @@ -581,12 +455,11 @@ \ifx\FOwrapoption\att@nowrap\obeylines\fi \parindent\FOtextindent \Quadding - %\strut - \start@strut + \strut } \def\FOEndBoxedBlock{% - \start@strut + \par \color@endgroup \egroup \end{lrbox}% @@ -605,7 +478,7 @@ \hbox{% \kern\FOtempdim \vbox{% - \kern\FOmargintop + \vskip\FOmargintop \vbox{% \ifx\FOborderbeforestyle\att@solid {\color{\FOborderbeforecolor}\hrule\@height\FOborderbeforewidth}% @@ -618,9 +491,9 @@ {\color{\FObackgroundcolor}\vrule\@width\@tempdimc\kern-\@tempdimc}% \fi \vbox{% - \kern\FOpaddingbefore + \vskip\FOpaddingbefore \hbox{\kern\FOpaddingstart\box\BlockBox\kern\FOpaddingend}% - \kern\FOpaddingafter + \vskip\FOpaddingafter }% \ifx\FOborderendstyle\att@solid {\color{\FOborderendcolor}\vrule\@width\FOborderendwidth}\fi @@ -628,7 +501,7 @@ \ifx\FOborderafterstyle\att@solid {\color{\FOborderaftercolor}\hrule\@height\FOborderafterwidth}\fi }% - \kern\FOmarginbottom + \vskip\FOmarginbottom }% \kern\FOmarginright }% @@ -675,7 +548,6 @@ \xdef\FOsrcname{#1}% } \def\NColumns{1} -\gdef\PrevNColumns{1} \def\Pass#1\\{\expandafter\@Pass#1} \def\@Pass#1|#2|#3|#4|{% \columnsep=#1 @@ -713,42 +585,32 @@ \xdef\FOsrcname{#1#2#3#4#5#6#7#8}% \fi \fi} - - -{\catcode`\%=12\relax -\gdef\percentother{%} -} -{\catcode`\%=13\relax -\gdef\defpercentother{\xdef%{\percentother}} -} -{\catcode`\%=12\relax +{\catcode`\%=13 \gdef\percenttest#1%#2#3\@{\ifx#2\relax\def\percentval{#1}\expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi} -\gdef\performpercent#1{\defpercentother\edef\dopercent{\noexpand\percenttest#1\relax%.\noexpand\@}\dopercent} - -\gdef\TablePercentToDimen#1{\performpercent{#1} - {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 +\gdef\TablePercentToDimen#1{\expandafter\percenttest#1\relax%.\@ + {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 \edef\SCALE{\strip@pt\@tempdimb}\global\@tempdima=\SCALE\TableWidth}{\global\@tempdima#1} } -\gdef\PercentToDimen#1{\performpercent{#1} +\gdef\PercentToDimen#1{\expandafter\percenttest#1\relax%.\@ {\@tempdimb\percentval pt\relax\divide\@tempdimb by 100 \edef\SCALE{\strip@pt\@tempdimb}\global\@tempdima=\SCALE\hsize}{\global\@tempdima#1} } -\gdef\FOSetGWidth{\performpercent{\FOcontentwidth} +\gdef\FOSetGWidth{\expandafter\percenttest\FOcontentwidth\relax%.\@ {\@tempdima\percentval pt\relax\divide\@tempdima by 100 \edef\WSCALE{\strip@pt\@tempdima}\setkeys{Gin}{width=\WSCALE\Gin@nat@width}}{\setkeys{Gin}{width=\FOcontentwidth}}} -\gdef\FOSetGHeight{\performpercent{\FOcontentheight} +\gdef\FOSetGHeight{\expandafter\percenttest\FOcontentheight\relax%.\@ {\@tempdima\percentval pt\relax\divide\@tempdima by 100 \edef\HSCALE{\strip@pt\@tempdima}\setkeys{Gin}{height=\HSCALE\Gin@nat@height}}{\setkeys{Gin}{height=\FOcontentheight}}} \gdef\PlayWithFSize#1{\@default\f@size pt - \performpercent{#1} + \expandafter\percenttest#1\relax%.\@ {\dimen@0.01\@default \multiply\dimen@\percentval\relax}{\dimen@#1}\edef\FOfontsizefinal{\the\dimen@}} -\gdef\PlayWithShift{performpercent{\FOverticalalign} +\gdef\PlayWithShift{\expandafter\percenttest\FOverticalalign\relax%.\@ {\dimen@0.01\baselineskip\multiply\dimen@\percentval\relax}{\dimen@\FOverticalalign}} } \def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!} @@ -771,19 +633,15 @@ } \catcode`\/=12 % -\def\nocontentbox{\vbox to \z@{}} - \def\BlankPage{% + \def\@thehead{\csname\FirstHead\endcsname}% + \def\@thefoot{\csname\FirstTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\FirstHeadExtent}% + \def\tailheight{\FirstTailExtent}% + \mark{}% \DEBUG{Blank Page \the\c@page}% -% \def\@thehead{\csname\FirstHead\endcsname}% -% \def\@thefoot{\csname\FirstTail\endcsname}% -% \let\@themargin\oddsidemargin -% \def\headheight{\FirstHeadExtent}% -% \def\tailheight{\FirstTailExtent}% -% \mark{}% - \global\BlankPagetrue - \nocontentbox - \newpage + \hbox{} } %----------------------------------------------- % longtable @@ -856,12 +714,10 @@ \endgroup } -\def\oline#1{$\overline{\mbox{#1}}$} \def\TableHeader{} \def\DECO@{\@firstofone} \def\DECO@blink{\uwave} \def\DECO@underline{\uline} -\def\DECO@overline{\oline} \expandafter\def\csname DECO@line-through\endcsname{\sout} \def\QuaddingStart{% \ifx\FOtextalignlast\att@relative @@ -885,19 +741,20 @@ \fi }% % page number compression (by David Carlisle) -\def\fopagecitation{\csname r@\FOrefid\endcsname} + +\def\fopagecitation{\pageref{\FOrefid}} %was \hyperlink{\FOrefid}{\pageref{\FOrefid}}} \newcount\sortcount \newtoks\sorttoks \def\fosortpagecitation{% \setbox0\hbox{\global\sortcount=0\expandafter\expandafter\expandafter \@secondoffive\csname r@\FOrefid\endcsname - \relax\relax\relax\relax\relax}% + \relax\relax\relax\relax\relax} \let\@elt\fosort@elt \global\sorttoks\expandafter{\expandafter}\the\sorttoks \ifnum\sortcount<\maxdimen \global\sorttoks\expandafter{% - \the\expandafter\sorttoks\expandafter\@elt\expandafter{\the\sortcount}}% + \the\expandafter\sorttoks\expandafter\@elt\expandafter{\the\sortcount}} \fi } @@ -914,19 +771,18 @@ } \gdef\focompress@elt#1{% - \global\advance\sortcount\@ne - \ifnum#1=\sortcount\relax - \edef\foheld{#1}% - \else - \ifx\foheld\relax - \else - \FOrangechar - \fi - \foheld\fosep#1\relax - \let\foheld\relax - \fi - \global\sortcount#1\relax - \def\fosep{, }% + \global\advance\sortcount\@ne + \ifnum#1=\sortcount + \ifx\foheld\relax + \edef\foheld{#1}% + \else + \def\foheld{\textendash#1}% + \fi + \else + \foheld\fosep#1 + \fi + \global\sortcount#1 + \def\fosep{, }% } % headers @@ -987,32 +843,6 @@ \def\FOgeneratePage#1#2\@null{\csname Format-#1\endcsname{\c@page}#2} -\def\endtrivlist{% - \if@inlabel - \leavevmode - \global \@inlabelfalse - \fi - \if@newlist - \@noitemerr - \global \@newlistfalse - \fi - \ifhmode\unskip \par\fi - \if@noparlist \else - \ifInInsertion\else - \ifdim\lastskip >\z@ - \@tempskipa\lastskip \vskip -\lastskip - \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip - \vskip\@tempskipa - \fi - \fi - \@endparenv - \fi -} - -\def\@endparenv{% - \ifInInsertion\else\addpenalty\@endparpenalty\addvspace\@topsepadd\@endpetrue\fi -} - \def\@item[#1]{% \if@noparitem \@donoparitem @@ -1023,22 +853,19 @@ \ifhmode \unskip\unskip \par \fi - \ifInInsertion - \else - \if@newlist + \if@newlist % removed this test 2000/11/05. always put in topsep. -% \if@nobreak -% \@nbitem -% \else - \addpenalty\@beginparpenalty - \addvspace\@topsep - \addvspace{-\parskip}% -% \fi - \else - \addpenalty\@itempenalty - \addvspace\itemsep - \fi - \fi +% \if@nobreak +% \@nbitem +% \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% +% \fi + \else + \addpenalty\@itempenalty + \addvspace\itemsep + \fi \global\@inlabeltrue \fi \global\everypar{% @@ -1050,7 +877,7 @@ \ifvoid\z@ \kern-\itemindent \fi}% - \box\@labels\FOlabel + \box\@labels \penalty\z@ \fi \if@nobreak @@ -1059,8 +886,7 @@ \else \clubpenalty \@clubpenalty \global\everypar{}% - \fi - }% + \fi}% \if@noitemarg \@noitemargfalse \if@nmbrlist @@ -1122,85 +948,59 @@ } -%\tracingpages3\relax % vertical spacing \newskip\FOafterskip \def\FOvspaceafter{% - \ifFOinOutput - \else - \ifnum\FOTableNesting>0 - \else - \ifx\@empty\FOspaceafter - \@tempdima\FOspaceafteroptimum - \advance\@tempdima by -\FOspaceafterminimum - \@tempdimb\FOspaceafteroptimum - \advance\@tempdimb by \FOspaceaftermaximum - \FOafterskip\FOspaceafteroptimum plus \@tempdimb minus \@tempdima - \else - \FOafterskip\FOspaceafter - \fi - \@tempswafalse - \ifx\FOkeepwithnext\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi - \addvspace\FOafterskip - \if@tempswa \addpenalty{9996}\fi - \fi - \fi +\ifFOinOutput +\else + \ifnum\FOTableNesting>0 + \else + \ifx\@empty\FOspaceafter + \@tempdima\FOspaceafteroptimum + \advance\@tempdima by -\FOspaceafterminimum + \@tempdimb\FOspaceafteroptimum + \advance\@tempdimb by \FOspaceaftermaximum + \FOafterskip\FOspaceafteroptimum plus \@tempdimb minus \@tempdima + \else + \FOafterskip\FOspaceafter + \fi + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\addpenalty{\@M}\fi + \addvspace\FOafterskip + \fi +\fi } -\@secpenalty = -300 \def\FOvspacebefore{% - \ifFOinOutput - \else - \ifx\@empty\FOspacebefore - \@tempdima\FOspacebeforeoptimum - \advance\@tempdima by -\FOspacebeforeminimum - \@tempdimb\FOspacebeforeoptimum - \advance\@tempdimb by \FOspacebeforemaximum - \@tempskipa\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima - \else - \@tempskipa\FOspacebefore - \fi - %\typeout{SPACE BEFORE \the\inputlineno: \the\@tempskipa, \FOspacebeforeminimum/\FOspacebeforemaximum/\FOspacebeforeoptimum}% - \ifnum\FOTableNesting>0 - \rule{\z@}{\@tempskipa}% - \else - \@tempswafalse - \ifx\FOkeepwithnext\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi - \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi - \@tempskipb\f@baselineskip\relax\@tempskipb3\@tempskipb\relax - %\ifx\@empty\FOspacebefore\else - %\if@tempswa\vskip0pt plus \@tempskipb - %\addpenalty\@secpenalty\vskip-\lastskip\fi\fi - \if@tempswa\addpenalty\@secpenalty\fi - \addvspace\@tempskipa - \fi - \fi - \def\FOspacebefore{\z@}% +\ifFOinOutput +\else + \ifx\@empty\FOspacebefore + \@tempdima\FOspacebeforeoptimum + \advance\@tempdima by -\FOspacebeforeminimum + \@tempdimb\FOspacebeforeoptimum + \advance\@tempdimb by \FOspacebeforemaximum + \@tempskipa\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima + \else + \@tempskipa\FOspacebefore + \fi +%\typeout{SPACE BEFORE \the\inputlineno: \the\@tempskipa, \FOspacebeforeminimum/\FOspacebeforemaximum/\FOspacebeforeoptimum}% + \ifnum\FOTableNesting>0 + \rule{\z@}{\@tempskipa}% + \else + \@tempswafalse + \ifx\FOkeepwithnext\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi + \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi + \if@tempswa\addpenalty\@secpenalty\fi + \addvspace\@tempskipa + \fi +\fi +\def\FOspacebefore{\z@}% } -\def\addpenalty#1{% - \ifvmode - \if@minipage - \else - \if@nobreak - \else - \ifdim\lastskip=\z@ - \penalty#1\relax - \else - \@tempskipb\lastskip - \vskip -\lastskip - \penalty#1% - \vskip\@tempskipb - \fi - \fi - \fi - \else - \@noitemerr - \fi -} % lets do some setup % setup \paperwidth211mm @@ -1219,8 +1019,8 @@ \relpenalty=500 \tolerance=1000 \vbadness=3000 -\widowpenalty=0 -\clubpenalty=0 +\widowpenalty=8000 +\clubpenalty=8000 \@twosidetrue \fboxsep0pt \setcounter{topnumber}{5} @@ -1249,108 +1049,82 @@ %\catcode`\^^M\active\gdef\@resetactivechars{\def^^M{x}}\endgroup \def\@outputpage{% - \begingroup % the \endgroup is put in by \aftergroup - \let\protect\noexpand +\begingroup % the \endgroup is put in by \aftergroup + \let \protect \noexpand % \@resetactivechars - \@parboxrestore - \shipout\vbox{% - \set@typeset@protect - \aftergroup\endgroup - \aftergroup\set@typeset@protect + \@parboxrestore + \shipout \vbox{% + \set@typeset@protect + \aftergroup \endgroup + \aftergroup \set@typeset@protect % correct? or just restore by ending % the group? - \if@specialpage -% \typeout{PAGE=FIRST \the\c@page}% - \global\@specialpagefalse - \def\@thehead{\csname\FirstHead\endcsname}% - \def\@thefoot{\csname\FirstTail\endcsname}% - \let\@themargin\oddsidemargin - \def\headheight{\FirstHeadExtent}% - \def\tailheight{\FirstTailExtent}% - \else - \ifBlankPage -%\typeout{PAGE=BLANK \the\c@page}% - \global\BlankPagefalse - \def\@thehead{\csname\BlankHead\endcsname}% - \def\@thefoot{\csname\BlankTail\endcsname}% - \let\@themargin\oddsidemargin - \def\headheight{\BlankHeadExtent}% - \def\tailheight{\BlankTailExtent}% - \else - \ifodd\count\z@ -% \typeout{PAGE=ODD \the\c@page}% - \def\@thehead{\csname\OddHead\endcsname}% - \def\@thefoot{\csname\OddTail\endcsname}% - \let\@themargin\oddsidemargin - \def\headheight{\OddHeadExtent}% - \def\tailheight{\OddTailExtent}% - \else -% \typeout{PAGE=EVEN \the\c@page}% - \def\@thehead{\csname\EvenHead\endcsname}% - \def\@thefoot{\csname\EvenTail\endcsname}% - \let\@themargin\evensidemargin - \def\headheight{\EvenHeadExtent}% - \def\tailheight{\EvenTailExtent}% - \fi - \fi - \fi - \@tempdima\textwidth - \advance\@tempdima by -\FOheadindent - \reset@font - \normalsize - \normalsfcodes - \let\label\@gobble - \let\index\@gobble - \let\glossary\@gobble - %\baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ - \offinterlineskip - \@begindvi - \vskip \topmargin - \vskip -\InnerTopMargin - \moveright\@themargin \vbox {% - \setbox\@tempboxa \vbox to\z@{% - \color@hbox - \normalcolor - \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thehead}}}% - \color@endbox - \vss - }% - \dp\@tempboxa \z@ - \box\@tempboxa - \vskip\headsep - \vskip\InnerTopMargin - \box\@outputbox - \baselineskip\footskip - \vskip\bottommargin - \vskip-\tailheight - \@tempdima\textwidth - \advance\@tempdima by -\FOheadindent - \setbox\@tempboxa \vbox to\tailheight{% - \color@hbox - \normalcolor - \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thefoot}}}% - \color@endbox - \vfil - }% - \dp\@tempboxa \z@ - \box\@tempboxa + \if@specialpage + \global\@specialpagefalse + \def\@thehead{\csname\FirstHead\endcsname}% + \def\@thefoot{\csname\FirstTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\FirstHeadExtent}% + \def\tailheight{\FirstTailExtent}% + \else + \ifodd\count\z@ + \def\@thehead{\csname\OddHead\endcsname}% + \def\@thefoot{\csname\OddTail\endcsname}% + \let\@themargin\oddsidemargin + \def\headheight{\OddHeadExtent}% + \def\tailheight{\OddTailExtent}% + \else + \def\@thehead{\csname\EvenHead\endcsname}% + \def\@thefoot{\csname\EvenTail\endcsname}% + \let\@themargin\evensidemargin + \def\headheight{\EvenHeadExtent}% + \def\tailheight{\EvenTailExtent}% + \fi + \fi + \@tempdima\textwidth + \advance\@tempdima by -\FOheadindent + \reset@font + \normalsize + \normalsfcodes + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ + \@begindvi + \vskip \topmargin + \moveright\@themargin \vbox {% + \setbox\@tempboxa \vbox to\headheight{% + \color@hbox + \normalcolor + \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thehead}}}% + \color@endbox + \vfil }% + \dp\@tempboxa \z@ + \box\@tempboxa + \vskip \headsep + \box\@outputbox + \baselineskip \footskip + \vskip \bottommargin + \@tempdima\textwidth + \advance\@tempdima by -\FOheadindent + \setbox\@tempboxa \vbox to\tailheight{% + \color@hbox + \normalcolor + \hb@xt@\textwidth{\hfill\llap{\hb@xt@\@tempdima{\@thefoot}}}% + \color@endbox + \vfil }% - \global \@colht \textheight - \stepcounter{page}% - \ifForcePageSetup - \global\advance\SimplePMRefs1\relax - \DEBUG{Start page \the\SimplePMRefs\space of page sequence, using layout \CurrentPageMaster, at page \the\c@page}% - \setaccordingtomaster - \ifnum\NColumns>1\relax - \refreshmulticols % this is defined in nomulticols.sty - \fi - \else - \DEBUG{Skipping page set up at page \the\c@page}% - \fi - \let\firstmark\botmark + \dp\@tempboxa \z@ + \box\@tempboxa + }% + }% + \global \@colht \textheight + \stepcounter{page}% + \let\firstmark\botmark } +%%%% \def\FO@character#1{% \ifx\FOverticalalign\att@baseline #1% @@ -1368,52 +1142,25 @@ \fi } \def\FO@inlinesequence#1{% - \FOSetFont{normal}% - \ifx\FOletterspacing\att@normal - \def\pre@sequence{{#1}}% - \else - \def\pre@sequence{\@ifundefined{thisso}{\sodef\thisso{}{\FOletterspacing}{.4em}{.5em}}{}{\thisso{#1}}}% - \fi - \ifx\FOverticalalign\att@baseline - \csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}% - \else - \ifx\FOverticalalign\att@super - \textsuperscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}}% - \else - \ifx\FOverticalalign\att@sub - \textsubscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}}% - \else - \PlayWithShift - \raisebox{\dimen@}{\csname DECO@\FOtextdecoration\endcsname{\FOlabel\pre@sequence}}% - \fi - \fi - \fi -} -\def\interpretwidth{% - \ifx\FOborderwidth\att@thin\def\FOborderwidth{0.4pt}\fi - \ifx\FOborderwidth\att@medium\def\FOborderwidth{0.8pt}\fi - \ifx\FOborderwidth\att@thick\def\FOborderwidth{1.2pt}\fi - \ifx\FOborderbeforewidth\att@thin\def\FOborderbeforewidth{0.4pt}\fi - \ifx\FOborderbeforewidth\att@medium\def\FOborderbeforewidth{0.8pt}\fi - \ifx\FOborderbeforewidth\att@thick\def\FOborderbeforewidth{1.2pt}\fi - \ifx\FOborderafterwidth\att@thin\def\FOborderafterwidth{0.4pt}\fi - \ifx\FOborderafterwidth\att@medium\def\FOborderafterwidth{0.8pt}\fi - \ifx\FOborderafterwidth\att@thick\def\FOborderafterwidth{1.2pt}\fi - \ifx\FOborderstartwidth\att@thin\def\FOborderstartwidth{0.4pt}\fi - \ifx\FOborderstartwidth\att@medium\def\FOborderstartwidth{0.8pt}\fi - \ifx\FOborderstartwidth\att@thick\def\FOborderstartwidth{1.2pt}\fi - \ifx\FOborderendwidth\att@thin\def\FOborderendwidth{0.4pt}\fi - \ifx\FOborderendwidth\att@medium\def\FOborderendwidth{0.8pt}\fi - \ifx\FOborderendwidth\att@thick\def\FOborderendwidth{1.2pt}\fi + \FOSetFont{normal}% +\ifx\FOverticalalign\att@baseline + \csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}% +\else + \ifx\FOverticalalign\att@super + \textsuperscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \else + \ifx\FOverticalalign\att@sub + \textsubscript{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \else + \PlayWithShift + \raisebox{\dimen@}{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% + \fi + \fi +\fi } - \def\FOboxedsequence#1{% \FOSetFont{normal}% -\ifx\FOborderwidth\@empty -\else - \interpretwidth - \fboxrule\FOborderwidth -\fi +\ifx\FOborderwidth\@empty\else\fboxrule\FOborderwidth\fi \ifx\FOverticalalign\att@baseline \fbox{\csname DECO@\FOtextdecoration\endcsname{\FOlabel#1}}% \else @@ -1453,117 +1200,6 @@ \def\FOfontvariant{#4}% \def\FOfontweight{#5}% \def\FOfontstyle{#3}#8\global\FOinOutputfalse}}}% - \ifx\FOflowname\att@xsl@footnote@separator\relax - \xdef\footnoterulepre{Static:#9}% - \global\footnotesep\z@\relax - \setbox\@tempboxa\vbox{\csname\footnoterulepre\endcsname}% - \@tempdima=\z@\relax - \advance\@tempdima\ht\@tempboxa\relax - \advance\@tempdima\dp\@tempboxa\relax - \global\skip\footins\@tempdima\relax - \gdef\footnoterule{\vfill\vbox to\z@{\vss\csname\footnoterulepre\endcsname}}% - \fi -} - -\def\setaccordingtomaster{% - \global\@specialpagetrue - \@ifundefined{Atomic:\CurrentPageMaster} - { - \@ifundefined{Lead:\the\SimplePMRefs:\CurrentPageMaster} - { - \ifnum\SimplePMRefs>1\relax\global\@specialpagefalse\fi - \@ifundefined{First:\CurrentPageMaster} - { - \ifx\FOinitialpagenumber\att@auto - \ifodd\c@page - \DEBUG{Master \CurrentPageMaster: no first page, use odd page} - \xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} - \else - \DEBUG{Master \CurrentPageMaster: no first page, use even page} - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} - \fi - \else - \ifx\FOinitialpagenumber\att@autoeven - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} - \else - \ifx\FOinitialpagenumber\att@autoodd - \xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} - \else - \ifodd\FOinitialpagenumber - \xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} - \else - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} - \fi - \fi - \fi - \fi - } - { - \xdef\PFirst{\csname First:\CurrentPageMaster\endcsname} - } - \@ifundefined{Blank:\CurrentPageMaster} - {\xdef\PBlank{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PBlank{\csname Blank:\CurrentPageMaster\endcsname}} - \@ifundefined{Even:\CurrentPageMaster} - {\xdef\PEven{\csname Odd:\CurrentPageMaster\endcsname}} - {\xdef\PEven{\csname Even:\CurrentPageMaster\endcsname}} - \xdef\POdd{\csname Odd:\CurrentPageMaster\endcsname} - } - { - \xdef\PFirst{\csname Lead:\the\SimplePMRefs:\CurrentPageMaster\endcsname} - \global\let\POdd\PFirst - \global\let\PEven\PFirst - \global\let\PBlank\PFirst - } - } - { - \global\let\PFirst\CurrentPageMaster - \global\let\PBlank\CurrentPageMaster - \global\let\POdd\CurrentPageMaster - \global\let\PEven\CurrentPageMaster - } - \DEBUG{ first page master is [\PFirst]} - \DEBUG{ odd page master is [\POdd]} - \DEBUG{ even page master is [\PEven]} - \DEBUG{ blank page master is [\PBlank]} - \expandafter\Pass\csname\POdd:xsl-region-body\endcsname\\ - \csname Atomic:\POdd\endcsname - \global\oddsidemargin\MasterLeftMargin - \global\evensidemargin\MasterLeftMargin - \global\advance\evensidemargin by \SpecialOffset - \global\advance\oddsidemargin by \SpecialOffset - \@ifundefined{Atomic:\PEven} - { - \DEBUG{no master for Atomic:\PEven} - } - { - \csname Atomic:\PEven\endcsname - \global\evensidemargin\MasterLeftMargin - \global\advance\evensidemargin by \SpecialOffset - } - \xdef\EvenHeadExtent{\csname\PEven:before-extent\endcsname} - \xdef\EvenHead{Static:\csname\PEven:before\endcsname} - \xdef\EvenTailExtent{\csname\PEven:after-extent\endcsname} - \xdef\EvenTail{Static:\csname\PEven:after\endcsname} - \xdef\FirstHeadExtent{\csname\PFirst:before-extent\endcsname} - \xdef\FirstHead{Static:\csname\PFirst:before\endcsname} - \xdef\FirstTailExtent{\csname\PFirst:after-extent\endcsname} - \xdef\FirstTail{Static:\csname\PFirst:after\endcsname} - \xdef\OddHeadExtent{\csname\POdd:before-extent\endcsname} - \xdef\OddHead{Static:\csname\POdd:before\endcsname} - \xdef\OddTailExtent{\csname\POdd:after-extent\endcsname} - \xdef\OddTail{Static:\csname\POdd:after\endcsname} - \xdef\BlankHeadExtent{\csname\PBlank:before-extent\endcsname} - \xdef\BlankHead{Static:\csname\PBlank:before\endcsname} - \xdef\BlankTailExtent{\csname\PBlank:after-extent\endcsname} - \xdef\BlankTail{Static:\csname\PBlank:after\endcsname} - \FOSetPage } \let\olditem\item @@ -1573,7 +1209,7 @@ % \typeout{Hypertext label \FOid, at \the\inputlineno}% \@bsphack \protected@write\@mainaux{}% - {\string\newlabel{\FOid}{{}{\noexpand\FOgeneratePage\FOformat\noexpand\@null}{}{}{}}}% + {\string\newlabel{\FOid}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{\FOid}{}}}% \@esphack \hyper@@anchor{\FOid}{\relax}% \global\let\FOid\@empty @@ -1593,10 +1229,9 @@ \itemsep\FOspacebefore \fi \itemindent=\FOstartindent - \PercentToDimen{\FOprovisionaldistancebetweenstarts}% - \leftmargin=\@tempdima\relax + \leftmargin=\FOprovisionaldistancebetweenstarts \rightmargin=\FOmarginright - \labelwidth=\@tempdima\relax + \labelwidth=\FOprovisionaldistancebetweenstarts \advance\labelwidth by -\FOprovisionallabelseparation \expandafter\csname List\FOtextalign\endcsname %\typeout{List at \the\inputlineno: labelwidth: \the\labelwidth, @@ -1607,106 +1242,72 @@ \def\FOOutputBlock{% \FOSetFont{output}% + \ifFOBlockGrab + \FOBoxedBlock{\textwidth}% + \fi \ifx\FOtextalignlast\att@relative \csname startQ@\FOtextalign\endcsname -% \csname Q@\FOtextalign\endcsname + \csname Q@\FOtextalign\endcsname \else \csname startQ@\FOtextalignlast\endcsname -% \csname Q@\FOtextalignlast\endcsname - \fi -% \Quadding - \ifFOBlockGrab - \FOBoxedBlock{\textwidth}% + \csname Q@\FOtextalignlast\endcsname \fi } -\def\list#1#2{% - \ifnum \@listdepth >5\relax - \@toodeep - \else - \global\advance\@listdepth\@ne - \fi - \rightmargin\z@ - \listparindent\z@ - \itemindent\z@ - \csname @list\romannumeral\the\@listdepth\endcsname - \def\@itemlabel{#1}% - \let\makelabel\@mklab - \@nmbrlistfalse - #2\relax - \@trivlist - \parskip\parsep - \parindent\listparindent - \global\advance\linewidth -\rightmargin - \global\advance\linewidth -\leftmargin - \advance\@totalleftmargin \leftmargin - \parshape \@ne \@totalleftmargin \linewidth - \ignorespaces} - \def\FONormalBlock{% - \ifnum\FOTableNesting>0 - \ifx\FOtextalign\att@centered - \centering - \fi - \FOSetFont{normalblock}% -% \vrule height \f@baselineskip depth \z@ width \z@\relax - \else - \ifnum\FOinList>0 - \ifFOListInnerPar - \unskip\par - \FOvspacebefore - \fi - \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi - \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi - \ifx\FOwrapoption\att@nowrap\obeylines\fi - \ifInInsertion\start@strut\fi - \else - \ifx\FObreakbefore\att@page - \let\tempID\FOid -% \penalty -\@M - \newpage - \let\FOid\tempID - \else - \ifx\FObreakbefore\att@oddpage - \let\tempID\FOid -% \penalty -\@M - \newpage - \ifodd\c@page\else\BlankPage\fi - \let\FOid\tempID - \else - \ifx\FObreakbefore\att@evenpage - \let\tempID\FOid -% \penalty -\@M - \newpage - \ifodd\c@page\BlankPage\fi - \let\FOid\tempID - \fi - \fi - \fi - \par - \Quadding - \ifFOBlockGrab - \FOBoxedBlock{\linewidth}% - \else - \FOBorderTop - \ifdim\FOpaddingbefore>\z@ - \vskip\FOpaddingbefore - \fi - \FOvspacebefore - \parindent\FOtextindent - \advance\leftskip by \FOpaddingstart - \advance\leftskip by \FOmarginleft - \advance\rightskip by \FOpaddingend - \advance\rightskip by \FOmarginright - \fi -% \par - \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi - \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi - \ifx\FOwrapoption\att@nowrap\obeylines\fi - \FOlabel - \fi - \ifx\XML@parent\FOFootnoteBody\else\FOSetFont{normal}\fi + \let\@x\relax + \ifnum\FOTableNesting>0 + \ifx\FOtextalign\att@centered + \centering + \fi + \let\@x\relax + \FOSetFont{normalblock}% + \vrule height \f@baselineskip depth \z@ width \z@ + \else + \ifnum\FOinList>0 + \FOlabel + \ifFOListInnerPar\par\FOvspacebefore\fi + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \else + \ifx\FObreakbefore\att@page + \let\tempID\FOid + \penalty -\@M + \let\FOid\tempID + \else + \ifx\FObreakbefore\att@oddpage + \let\tempID\FOid + \penalty -\@M + \ifodd\c@page\else\BlankPage\newpage\fi + \let\FOid\tempID + \fi + \fi + \par + \FOlabel + \Quadding + \ifFOBlockGrab + \FOBoxedBlock{\linewidth}% + \else + \FOBorderTop + \ifdim\FOpaddingbefore>\z@ + \vskip\FOpaddingbefore \fi + \FOvspacebefore + \parindent\FOtextindent + \advance\leftskip by \FOpaddingstart + \advance\leftskip by \FOmarginleft + \advance\rightskip by \FOpaddingend + \advance\rightskip by \FOmarginright + \fi +% \par + \ifx\FOwhitespace\att@pre\obeyspaces\obeylines\fi + \ifx\FOwhitespacecollapse\att@false\obeyspaces\fi + \ifx\FOwrapoption\att@nowrap\obeylines\fi + \fi + \FOSetFont{normal}% + \fi +\@x } \def\FOEndOutputBlock{% @@ -1724,8 +1325,7 @@ \ifx\XML@parent\FOListItemLabel \else \ifnum\FOinList>0 - \ifInInsertion\start@strut\fi - \ifFOListInnerPar\unskip\par\fi + \ifFOListInnerPar\par\fi \else \ifnum\FOTableNesting>0 \else @@ -1735,7 +1335,6 @@ \fi } - \def\FOEndBlockTwo{% \par \ifFOBlockGrab @@ -1747,27 +1346,22 @@ \FOBorderBottom \fi \ifx\FObreakafter\att@page - \clearpage -% \penalty -\@M + \penalty -\@M \else \ifx\FObreakafter\att@oddpage - \ifodd\c@page\cleardoublepage\else\clearpage\fi - \else - \ifx\FObreakafter\att@evenpage - \ifodd\c@page\clearpage\else\cleardoublepage\fi - \fi + \cleardoublepage \fi \fi \@tempswafalse \ifx\FOkeepwithnext\att@always\@tempswatrue\fi \ifx\FOkeepwithnextColumn\att@always\@tempswatrue\fi \ifx\FOkeepwithnextPage\att@always\@tempswatrue\fi - \if@tempswa\addpenalty{9993}\fi + \if@tempswa\nobreak\fi \FOvspaceafter -% \if@tempswa\@afterheading\fi + \if@tempswa\@afterheading\fi } -% \FOStartGrab is never called, so it seems + \def\FOStartGrab#1{% \@tempdima#1 \XFOstartindent\FOstartindent @@ -1805,7 +1399,6 @@ \vskip\FOpaddingbefore \parindent\FOtextindent\leftskip\z@\rightskip\z@ } -% \FOEndGrab is never called, so it seems \def\FOEndGrab#1{% \vspace*{\FOpaddingafter}% \end{minipage}% @@ -1818,7 +1411,6 @@ \advance\@tempdima by \FOborderbeforewidth \advance\@tempdima by \FOborderafterwidth \ifx\FOborderstyle\att@solid - \interpretwidth \ifx\FObackgroundcolor\att@transparent \fboxrule\FOborderwidth \fboxsep\FOpadding @@ -1910,88 +1502,17 @@ \expandafter\let\csname p@footnote\endcsname\relax \@footnotetext{\FOlabel#2}} -\def\start@strut{% - \vrule height \ht\strutbox depth \dp\strutbox width \z@\relax -} - \def\FOplainfootmark#1{#1} - -\newtoks\sav@everypar -\newbox\sav@labels - -%\showboxbreadth10 -%\showboxdepth10 -\gdef \@makecol {% - \ifvoid\footins - \setbox\@outputbox \box\@cclv - \else -% \showbox\footins - \setbox\@outputbox \vbox {% - \boxmaxdepth \@maxdepth - \@tempdima\dp\@cclv - \unvbox \@cclv - \vskip \skip\footins - \color@begingroup - \normalcolor - \footnoterule - \unvbox \footins - \color@endgroup - }% - \fi - \xdef\@freelist{\@freelist\@midlist}% - \global \let \@midlist \@empty - \@combinefloats - \ifvbox\@kludgeins - \@makespecialcolbox - \else - \setbox\@outputbox \vbox to\@colht {% - \@texttop - \dimen@ \dp\@outputbox - \unvbox \@outputbox - \vskip -\dimen@ - \@textbottom - }% - \fi - \global \maxdepth \@maxdepth +\long\def\FOplainfoottext#1{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \color@begingroup + #1\unskip\ifhmode\nobreak\fi\vskip\lineskip + \color@endgroup}% } - -\long\def\FOplainfoottext#1{% - \insert\footins{\relax - \reset@font\footnotesize - \FORestoreFontSize - \size@update - \interlinepenalty\interfootnotelinepenalty - \splittopskip0pt\relax - \splitmaxdepth \dp\strutbox \floatingpenalty \@MM - \hsize\columnwidth\@parboxrestore - \color@begingroup\InInsertiontrue - \xdef\Sav@FOListBlocks{\the\FOListBlocks}\FOListBlocks0\relax - \global\let\sav@if@inlabel\if@inlabel - \global\let\sav@if@nobreak\if@nobreak - \global\let\sav@if@newlist\if@newlist - \global\setbox\sav@labels\box\@labels - \expandafter\global\expandafter\sav@everypar\expandafter{\the\everypar}\global\everypar{}\relax - \FOinList0\relax - \FOListBodyfalse - #1\ifhmode\nobreak\fi - \global\FOListBlocks\Sav@FOListBlocks\relax - \global\let\if@inlabel\sav@if@inlabel - \global\let\if@nobreak\sav@if@nobreak - \global\let\if@newlist\sav@if@newlist - \global\setbox\@labels\box\sav@labels - \expandafter\global\expandafter\everypar\expandafter{\the\sav@everypar}\relax - %\vskip\lineskip - \color@endgroup}% -} -\let\FOfoottext\FOplainfoottext - -\def\FOboxedfoottext#1{ - \edef\boxedfootnotetext{\the\BoxedFootnotes\noexpand\FOplainfoottext}% - \global\BoxedFootnotes=\expandafter{\boxedfootnotetext{#1}}% -} - -\def\FOnofoottext#1{} - \ColSpecs={}% \NCols0 \RowCount0 @@ -2038,15 +1559,6 @@ %} \edef\LastLanguage{\newL}} -\def\FoTeXSetSpacingStyle{% - \ifx\FoTeXSpacingStyle\att@french - \frenchspacing - \typeout{INFO: Using french-spacing in document}% - \else - \typeout{INFO: Using normal, i.e. nonfrench-spacing in document}% - %\nonfrenchspacing - \fi -} \def\FOSetHyphenation{% \ifx\FOhyphenate\att@true \LoadLanguage{\FOlanguage}% @@ -2061,8 +1573,8 @@ \csname Weight@\FOfontweight\endcsname}% \ifx\LaTeXshape\@empty\def\LaTeXshape{m}\fi \edef\fFamName{\FOfontfamily}% -\DEBUG{#1: \FOfontweight, \FOfontstyle, - \FOfontsize, \FOtextalign, \LaTeXshape}% +%\typeout{#1 At \the\inputlineno, \FOfontweight, \FOfontstyle, +% \FOfontsize, \FOtextalign, \LaTeXshape}% \edef\f@series{\LaTeXshape}% \edef\f@shape{\csname Posture@\FOfontstyle\endcsname}% \ifx\FOfontvariant\att@smallcaps @@ -2120,69 +1632,43 @@ \set@fontsize\baselinestretch{\FOfontsizefinal}{\FOlineheight}% \fi } -\def\FOSaveFontSize{% - \computeFOfontsize - \ifx\FOlineheight\att@normal - \@tempdima\FOfontsizefinal - \multiply\@tempdima by 12 - \divide\@tempdima by 10 - \xdef\FORestoreFontSize{\noexpand\set@fontsize\noexpand\baselinestretch{\FOfontsizefinal}{\the\@tempdima}}% - \else - \xdef\FORestoreFontSize{\noexpand\set@fontsize\noexpand\baselinestretch{\FOfontsizefinal}{\FOlineheight}}% - \fi -} - \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}} -%\def\@textsubscript#1{% -% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} \def\@textsubscript#1{% - {\m@th\ensuremath{_{\mbox{#1}}}}} -\def\@textsuperscript#1{% - {\m@th\ensuremath{^{\mbox{#1}}}}} + {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}} \def\reserved@e{} - \def\FOSetPage{% - \global\bottommargin\Marginbottom -% \headsep\Margintop - \global\headsep\z@ - \global\topmargin\MasterTopMargin - \global\advance\topmargin by \SpecialOffset - \global\textheight\paperheight - \global\textwidth\paperwidth -% \advance\textheight by -\FirstHeadExtent -% \advance\textheight by -\FirstTailExtent - \global\advance\textheight by -\MasterTopMargin -% \advance\textheight by -\Margintop - \global\advance\textheight by -\MasterBottomMargin -% \advance\textheight by -\Marginbottom - \global\advance\textwidth by -\MasterLeftMargin - \global\advance\textwidth by -\MasterRightMargin + \bottommargin\Marginbottom + \headsep\Margintop + \topmargin\MasterTopMargin + \advance\topmargin by \SpecialOffset + \textheight\paperheight + \textwidth\paperwidth + \advance\textheight by -\FirstHeadExtent + \advance\textheight by -\FirstTailExtent + \advance\textheight by -\MasterTopMargin + \advance\textheight by -\Margintop + \advance\textheight by -\MasterBottomMargin + \advance\textheight by -\Marginbottom + \advance\textwidth by -\MasterLeftMargin + \advance\textwidth by -\MasterRightMargin \FOpdfsetpagesize{\paperwidth}{\paperheight} - \global\@colht\textheight - \global\@colroom\textheight - \global\vsize\textheight - \global\columnwidth\textwidth - \global\hsize\columnwidth - \global\linewidth\hsize - \gdef\headheight{12pt}% -% if we are in the middle of a list, we have to redo some of the list assignments - \FOResetPageParts + \@colht\textheight + \@colroom\textheight + \vsize\textheight + \linewidth\textwidth + \columnwidth\textwidth + \hsize\columnwidth \linewidth\hsize + \def\headheight{12pt}% \DEBUG{Page size is \the\textwidth/\the\textheight, on paper \the\paperwidth/\the\paperheight,^^J with paper margins \the\MasterRightMargin/\the\MasterLeftMargin, and region margins \the\topmargin/\the\MasterBottomMargin;^^J footskip is \the\footskip, headsep is \the\headsep^^J evensidemargin \the\evensidemargin, oddsidemargin \the\oddsidemargin}% + \global\@specialpagetrue } - -\def\FOResetPageParts{ - \expandafter\ifx\csname This@LineWidth\endcsname\relax\else - \global\linewidth\This@LineWidth\relax - \fi -} - % don't ask \def\supppdf{supp-pdf} \let\FOinputIfFileExists\InputIfFileExists @@ -2234,5 +1720,5 @@ \g@addto@macro\Gin@extensions{,.gif} \@namedef{Gin@rule@.eps}#1{{pdf}{.pdf}{`epstopdf #1}} \@namedef{Gin@rule@.gif}#1{{png}{.png}{`giftopng #1}} -\errorstopmode + \endinput diff --git a/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt b/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt index 8bdbe94be2c..4ddb49bd1eb 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt +++ b/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt @@ -1,8 +1,8 @@ -% $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt#1 $, $Date: 2004/02/09 $ +% $Id: //depot/Master/texmf/tex/xmltex/passivetex/fotex.xmt#90 $, $Date: 2002/06/25 $ % -% PassiveTeX version 1.25 +% PassiveTeX version 1.17 % -% Copyright 2003 Sebastian Rahtz/Oxford University +% Copyright 2002 Sebastian Rahtz/Oxford University % <sebastian.rahtz@oucs.ox.ac.uk> % % Permission is hereby granted, free of charge, to any person obtaining @@ -19,34 +19,6 @@ % Includes fixes from Tomas Bures <ghort@pauline.vellum.cz> % Yura Zotov <yznews@hotbox.ru> % Anton V. Boyarshinov <boyarsh@ru.echo.fr> -% Dirk Roorda <dirk.roorda@planet.nl> - - -% MODIFICATIONS IN XMLTEX (Dirk) -% allow an explicit inheritance of attributes - -\gdef\XML@attrib@x#1#2{ - \gdef\XML@tempb##1#1##2##3##4\relax\relax{ - \global\let\inheritexplicit\relax - {\set@display@protect - \expandafter\ifx\csname#2\endcsname\inherit - \global\let\inheritexplicit\noexpand - \fi}% - \ifx\inheritexplicit\relax - \def##2{#2}% - \fi - ##1##4\relax\relax}} - -% test whether an attribute was explicitly set on an element - -\gdef\explicitattribute#1{ - { \expandafter\def\csname#1-test\endcsname{\global\def\isexplicit{1}} - \global\let\isexplicit\relax - \def\XML@doattribute##1##2##3{\csname##2-test\endcsname} - \the\XML@attribute@toks - } -} - \DeclareNamespace{fotex}{http://www.tug.org/fotex} \DeclareNamespace{fo}{http://www.w3.org/1999/XSL/Format} \def\string@autoauto{autoauto} @@ -56,33 +28,31 @@ \XMLstring\file@urlprefix<>url(</> \XMLstring\file@prefix<>file://</> \XMLstring\file@shortprefix<>file:</> -\XMLstring\prop@width<>proportional-column-width(1)</> +\XMLstringX\prop@width<>proportional-column-width(1)</> \XMLstringX\@staticafter<>xsl-after</> \XMLstringX\@staticbefore<>xsl-before</> \XMLstringX\@staticstart<>xsl-start</> +\XMLstring\att@labelend<>label-end()</> +\XMLstring\att@bodystart<>body-start()</> \XMLstringX\att@NaN<>NaN</> -\XMLstringX\att@after<>after</> \XMLstringX\att@all<>all</> \XMLstringX\att@always<>always</> \XMLstringX\att@any<>any</> \XMLstringX\att@auto<>auto</> -\XMLstringX\att@autoeven<>auto-even</> \XMLstringX\att@autoodd<>auto-odd</> +\XMLstringX\att@autoeven<>auto-even</> +\XMLstringX\att@endonodd<>end-on-odd</> +\XMLstringX\att@endoneven<>end-on-even</> \XMLstringX\att@baseline<>baseline</> -\XMLstringX\att@before<>before</> -\XMLstringX\att@black<>black</> \XMLstringX\att@blank<>blank</> +\XMLstringX\att@black<>black</> \XMLstringX\att@bottom<>bottom</> \XMLstringX\att@centered<>center</> -\XMLstringX\att@endoneven<>end-on-even</> -\XMLstringX\att@endonodd<>end-on-odd</> -\XMLstringX\att@even<>even</> -\XMLstringX\att@evenpage<>even-page</> \XMLstringX\att@false<>false</> -\XMLstringX\att@first<>first</> \XMLstringX\att@first@starting@within@page<>first-starting-within-page</> -\XMLstringX\att@french<>french</> -\XMLstringX\att@last@starting@within@page<>last-starting-within-page</> +\XMLstringX\att@first<>first</> +\XMLstringX\att@even<>even</> +\XMLstringX\att@odd<>odd</> \XMLstringX\att@lr@tb<>lr-tb</> \XMLstringX\att@maximum<>maximum</> \XMLstringX\att@maximumuniform<>maximum-uniform</> @@ -92,7 +62,6 @@ \XMLstringX\att@none<>none</> \XMLstringX\att@normal<>normal</> \XMLstringX\att@nowrap<>no-wrap</> -\XMLstringX\att@odd<>odd</> \XMLstringX\att@oddpage<>odd-page</> \XMLstringX\att@page<>page</> \XMLstringX\att@page@sequence<>page-sequence</> @@ -101,28 +70,25 @@ \XMLstringX\att@relative<>relative</> \XMLstringX\att@repeat<>repeat</> \XMLstringX\att@replace<>replace</> -\XMLstringX\att@scaletofit<>scale-to-fit</> \XMLstringX\att@scroll<>scroll</> +\XMLstringX\att@scaletofit<>scale-to-fit</> \XMLstringX\att@show<>show</> \XMLstringX\att@smallcaps<>small-caps</> \XMLstringX\att@solid<>solid</> \XMLstringX\att@static<>static</> \XMLstringX\att@sub<>sub</> \XMLstringX\att@super<>super</> -\XMLstringX\att@thick<>thick</> -\XMLstringX\att@thin<>thin</> -\XMLstringX\att@tiny<>true</> \XMLstringX\att@top<>top</> \XMLstringX\att@transparent<>transparent</> \XMLstringX\att@true<>true</> +\XMLstringX\att@tiny<>true</> +\XMLstringX\att@thin<>thin</> +\XMLstringX\att@thick<>thick</> \XMLstringX\att@uniform<>uniform</> \XMLstringX\att@use@font@metrics<>use-font-metrics</> \XMLstringX\att@visible<>visible</> \XMLstringX\att@xsl@any<>xsl-any</> -\XMLstringX\att@xsl@footnote@separator<>xsl-footnote-separator</> \XMLstringX\att@yes<>yes</> -\XMLstring\att@bodystart<>body-start()</> -\XMLstring\att@labelend<>label-end()</> \XMLstringX\leader@pattern@space<>space</> \XMLstringX\leader@pattern@rule<>rule</> \XMLstringX\leader@pattern@dots<>dots</> @@ -383,17 +349,15 @@ %<length> | <percentage> | inherit \XMLnamespaceattributeX{fo}{last-line-end-indent}{\FOlastlineendindent}{\inherit} %none | reference-area | page | inherit - \XMLnamespaceattribute{fo}{leader-length.maximum}{\FOleaderlengthmaximum}{\textwidth} -% leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100percent - \XMLnamespaceattributeX{fo}{leader-alignment}{\FOleaderalignment}{\inherit} - \XMLnamespaceattributeX{fo}{leader-length}{\FOleaderlength}{\inherit} +\XMLnamespaceattributeX{fo}{leader-alignment}{\FOleaderalignment}{\inherit} +%<length-range> | inherit +\XMLnamespaceattributeX{fo}{leader-length}{\FOleaderlength}{\inherit} %space | rule | dots | use-content | inherit - \XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} +\XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} %use-font-metrics | <length> | inherit - \XMLnamespaceattributeX{fo}{leader-pattern-width}{\FOleaderpatternwidth}{\inherit} +\XMLnamespaceattributeX{fo}{leader-pattern-width}{\FOleaderpatternwidth}{\inherit} %<length> | <percentage> | auto | inherit - \XMLnamespaceattribute{fo}{leader-length.optimum}{\FOleaderlengthoptimum}{0pt} - \XMLnamespaceattributeX{fo}{leader-length.minimum}{\FOleaderlengthminimum}{\z@}\XMLnamespaceattributeX{fo}{left}{\FOleft}{auto} +\XMLnamespaceattributeX{fo}{left}{\FOleft}{auto} %normal | <length> | <space> | inherit \XMLnamespaceattributeX{fo}{letter-spacing}{\FOletterspacing}{\inherit} %auto | alphabetic | traditional @@ -638,7 +602,6 @@ % with namespaces. \XMLnamespaceattributeX{fo}{fotex:placement}{\FOkplacement}{} \XMLname{fo:inline-container}{\FOInlineContainer} -\XMLname{fo:footnote-body}{\FOFootnoteBody} \XMLname{fo:list-item-label}{\FOListItemLabel} \XMLname{fo:list-item-body}{\FOListItemBody} \XMLname{fo:table-cell}{\FOTableCell} @@ -661,7 +624,7 @@ \gdef\FOborderseparation{\z@} \gdef\FOborderspacing{\z@} \gdef\FOcaptionside{before} - \gdef\FOcolor{black} + \gdef\FOcolor{} \gdef\FOcountry{none} \gdef\FOdirection{ltr} \gdef\FOdisplayalign{auto} @@ -688,7 +651,7 @@ \gdef\FOlanguage{none} \gdef\FOlastlineendindent{\z@} \gdef\FOleaderalignment{none} - \gdef\FOleaderlength{} + \gdef\FOleaderlength{\z@} \gdef\FOleaderpattern{space} \gdef\FOleaderpatternwidth{} \gdef\FOletterspacing{normal} @@ -739,13 +702,12 @@ \gdef\FOkplacement{} \XMLelement{fo:root} - {\XMLnamespaceattributeX{fo}{fotex:spacing-style}{\FoTeXSpacingStyle}{normal}} + {} {\documentclass{article} \usepackage{fotex} \begin{document} \pagestyle{empty} \FOSetHyphenation - \FoTeXSetSpacingStyle %\ignorewhitespace } {\end{document}} @@ -797,60 +759,53 @@ \XMLelement{fo:block} {\SpaceAttributes} {% - \ifx\FOspan\att@all - \ifnum\NColumns>1\relax - \interendmulticols - \fi - \fi - \ifnum\FOwidows>1\relax\widowpenalty10000\relax\else\widowpenalty0\relax\fi - \ifnum\FOorphans>1\relax\clubpenalty10000\relax\else\clubpenalty0\relax\fi \FOBlockGrabfalse \FOexpandattributes \FOSetHyphenation - \ifFOinOutput + %\edef\SavedNColumns{\NColumns} + \ifx\XML@parent\FOListItemLabel + \def\w@t{\FOListBlock}% + \def\@whattodonext{\FOEndBlock}% + \else + \ifFOinOutput \ifx\FObackgroundcolor\att@transparent \ifx\FOborderstyle\att@solid - \FOBlockGrabtrue + \FOBlockGrabtrue \fi \else - \FOBlockGrabtrue + \FOBlockGrabtrue \fi \def\w@t{\FOOutputBlock}% \def\@whattodonext{\FOEndOutputBlock}% - \DEBUG{Start of Output Block, \expandafter\meaning\w@t, \expandafter\meaning\@whattodonext}% - \else - \ifx\XML@parent\FOListItemLabel - \def\w@t{\FOListBlock}% - \def\@whattodonext{\FOEndBlock}% - \else + \else % we care if a block is inside a table cell - \ifnum\FOinTable>1\relax - \FOinTable1\relax - \def\w@t{\FOBoxedBlock{\CurrentCellWidth}}% - \def\@whattodonext{\FOEndBoxedBlock} - \else + \ifnum\FOinTable>\z@ + \def\w@t{\FOBoxedBlock{\CurrentCellWidth}}% + \def\@whattodonext{\FOEndBoxedBlock} + \else % we care if a block is a second or subsequent child of a list body - \ifx\XML@parent\FOListItemBody - \global\advance\FOListBlocks by 1\relax% - \ifnum\FOListBlocks<2\relax\else\FOListInnerPartrue\fi - \else + \ifx\XML@parent\FOListItemBody + \global\advance\FOListBlocks by 1% + \ifnum\FOListBlocks=1\relax\else\FOListInnerPartrue\fi + \else % but also if its nested within a list body block - \ifFOListBody - \FOListInnerPartrue - \fi - \fi - \ifx\FObackgroundcolor\att@transparent - \ifx\FOborderstyle\att@solid - \FOBlockGrabtrue - \fi - \else - \FOBlockGrabtrue - \fi - \def\@whattodonext{\FOEndBlock} - \def\w@t{\FONormalBlock}% + \ifFOListBody + \FOListInnerPartrue + \fi \fi - \fi + \ifx\FObackgroundcolor\att@transparent + \ifx\FOborderstyle\att@solid + \FOBlockGrabtrue + \fi + \else + \FOBlockGrabtrue + \fi + \def\@whattodonext{\FOEndBlock} + \def\w@t{\FONormalBlock}% + \fi + \fi \fi +%\typeout{Block \the\inputlineno, \meaning\w@t, \meaning\@whattodonext}% \w@t \ifx\FOkeeptogether\att@always\samepage\fi \ifx\FOkeeptogetherColumn\att@always\samepage\fi @@ -861,11 +816,6 @@ \ifx\FOkeeptogetherColumn\att@always\samepage\fi \ifx\FOkeeptogetherPage\att@always\samepage\fi \@whattodonext - \ifx\FOspan\att@all - \ifnum\NColumns>1\relax - \interbeginmulticols{\NColumns}% - \fi - \fi } \XMLelement{fo:character} @@ -880,9 +830,9 @@ \XMLelement{fo:external-graphic} { %auto | <length> | <percentage> | inherit -\XMLattributeX{content-height}{\FOcontentheight}{auto} +\XMLattribute{content-height}{\FOcontentheight}{auto} %auto | <length> | <percentage> | inherit -\XMLattributeX{content-width}{\FOcontentwidth}{auto} +\XMLattribute{content-width}{\FOcontentwidth}{auto} } { {\utfeight@protect@chars\expandafter\FOfiletest\FOsrc\@empty\@empty\@empty\@empty\@empty\@empty\@empty\@}% @@ -902,12 +852,12 @@ \fi \fi \ifx\FOcontentwidth\att@scaletofit - \setkeys{Gin}{width=\hsize}% + \setkeys{Gin}{width=\linewidth}% \else \ifx\FOcontentwidth\att@auto\else\FOSetGWidth\fi \fi \ifx\FOcontentheight\att@scaletofit - \setkeys{Gin}{height=\vsize}% + \setkeys{Gin}{height=\textheight}% \else \ifx\FOcontentheight\att@auto\else\FOSetGHeight\fi \fi @@ -940,66 +890,131 @@ \XMLelement{fo:flow} {} - {\global\SimplePMRefs1\relax - \FOSetHyphenation - \ifnum\PrevNColumns>1\relax - \else - \clearpage - \fi + {\FOSetHyphenation + \clearpage \DEBUG{New page, \the\c@page, \PageNumber}% \ifx\PageNumber\att@auto \else - \ifx\PageNumber\att@autoeven - \ifodd\c@page - \BlankPage - \fi - \else - \ifx\PageNumber\att@autoodd - \ifodd\c@page - \else - \BlankPage - \fi - \else - \setcounter{page}{\PageNumber}% - \fi - \fi - \fi + \ifx\PageNumber\att@autoeven + \ifodd\c@page\hbox{}\newpage\fi + \else + \ifx\PageNumber\att@autoodd + \ifodd\c@page\else\hbox{}\newpage\fi + \else + \setcounter{page}{\PageNumber}% + \fi + \fi + \fi \ifx\@empty\pendingID\else \@bsphack \protected@write\@mainaux{}% - {\string\newlabel{\pendingID}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{}{}}}% + {\string\newlabel{\pendingID}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{\pendingID}{}}}% \@esphack \hyper@@anchor{\pendingID}{\relax}% \global\let\pendingID\@empty \fi - \DEBUG{^^JStart page sequence, using layout \CurrentPageMaster, at page \the\c@page}% + \DEBUG{^^JStart page sequence, using layout \CurrentPageMaster, at page \the\c@page} - \setaccordingtomaster - \xdef\PrevNColumns{\NColumns}% - \ForcePageSetuptrue - \ifnum\NColumns>1\relax - \nobeginmulticols{\NColumns}% - \fi + \@ifundefined{Atomic:\CurrentPageMaster} + { + \@ifundefined{First:\CurrentPageMaster} + { + \ifx\FOinitialpagenumber\att@auto + \ifodd\c@page + \DEBUG{Master \CurrentPageMaster: no first page, use odd page} + \edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} + \else + \DEBUG{Master \CurrentPageMaster: no first page, use even page} + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} + \fi + \else + \ifx\FOinitialpagenumber\att@autoeven + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} + \else + \ifx\FOinitialpagenumber\att@autoodd + \edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} + \else + \ifodd\FOinitialpagenumber + \edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname} + \else + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PFirst{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PFirst{\csname Even:\CurrentPageMaster\endcsname}} + \fi + \fi + \fi + \fi + } + { + \edef\PFirst{\csname First:\CurrentPageMaster\endcsname} + } + \@ifundefined{Blank:\CurrentPageMaster} + {\edef\PBlank{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PBlank{\csname Blank:\CurrentPageMaster\endcsname}} + \@ifundefined{Even:\CurrentPageMaster} + {\edef\PEven{\csname Odd:\CurrentPageMaster\endcsname}} + {\edef\PEven{\csname Even:\CurrentPageMaster\endcsname}} + \edef\POdd{\csname Odd:\CurrentPageMaster\endcsname} + } + { + \let\PFirst\CurrentPageMaster + \let\PBlank\CurrentPageMaster + \let\POdd\CurrentPageMaster + \let\PEven\CurrentPageMaster + } + \DEBUG{ first page master is [\PFirst]} + \DEBUG{ odd page master is [\POdd]} + \DEBUG{ even page master is [\PEven]} + \DEBUG{ blank page master is [\PBlank]} + \expandafter\Pass\csname\POdd:xsl-region-body\endcsname\\ + \csname Atomic:\POdd\endcsname + \oddsidemargin\MasterLeftMargin + \evensidemargin\MasterLeftMargin + \advance\evensidemargin by \SpecialOffset + \advance\oddsidemargin by \SpecialOffset + \@ifundefined{Atomic:\PEven}{\DEBUG{no master for Atomic:\PEven}} + {\csname Atomic:\PEven\endcsname + \evensidemargin\MasterLeftMargin + \advance\evensidemargin by \SpecialOffset + } + \edef\EvenHeadExtent{\csname\PEven:before-extent\endcsname} + \edef\EvenHead{Static:\csname\PEven:before\endcsname} + \edef\EvenTailExtent{\csname\PEven:after-extent\endcsname} + \edef\EvenTail{Static:\csname\PEven:after\endcsname} + \edef\FirstHeadExtent{\csname\PFirst:before-extent\endcsname} + \edef\FirstHead{Static:\csname\PFirst:before\endcsname} + \edef\FirstTailExtent{\csname\PFirst:after-extent\endcsname} + \edef\FirstTail{Static:\csname\PFirst:after\endcsname} + \edef\OddHeadExtent{\csname\POdd:before-extent\endcsname} + \edef\OddHead{Static:\csname\POdd:before\endcsname} + \edef\OddTailExtent{\csname\POdd:after-extent\endcsname} + \edef\OddTail{Static:\csname\POdd:after\endcsname} + \edef\BlankHeadExtent{\csname\PBlank:before-extent\endcsname} + \edef\BlankHead{Static:\csname\PBlank:before\endcsname} + \edef\BlankTailExtent{\csname\PBlank:after-extent\endcsname} + \edef\BlankTail{Static:\csname\PBlank:after\endcsname} + \FOSetPage + \ifnum\NColumns>1\begin{multicols}{\NColumns}\fi % \ifnum\NColumns>1\MulticolPendingtrue % \begin{multicols}{\NColumns}\fi } { - \ForcePageSetupfalse - \ifnum\NColumns>1\relax - \noendmulticols - \else - \clearpage - \fi + \ifnum\NColumns>1\end{multicols}\fi + \clearpage \ifx\ForcePage\att@auto \else % remember that we'll do a \clearpage next time anyway. % so leave here on wrong sort of page \ifx\ForcePage\att@endoneven - \ifodd\c@page\else\BlankPage\fi + \ifodd\c@page\else\BlankPage\newpage\fi \else \ifx\ForcePage\att@endonodd - \ifodd\c@page\BlankPage\fi + \ifodd\c@page\BlankPage\newpage\fi \fi \fi \fi @@ -1014,7 +1029,7 @@ \XMLelement{fo:footnote} {} {\xmlgrab} - {\FOSaveFontSize\xmltextwochildren\FOplainfootmark\FOfoottext#1} + {\xmltextwochildren\FOplainfootmark\FOplainfoottext#1} \XMLelement{fo:page-number-citation} {\XMLattributeX{ref-id}{\FOrefid}{}} @@ -1022,15 +1037,14 @@ {\fopagecitation} \XMLelement{fotex:sort} - {\XMLattributeX{range-char}{\FOrangechar}{\textendash}} + {} {\let\fopagecitation\fosortpagecitation \global\sorttoks{}} {\global\sortcount-2\let\@elt\focompress@elt \let\fosep\@empty \let\foheld\relax \the\sorttoks - \ifx\foheld\relax\else\FOrangechar\fi\foheld - } + \foheld} \XMLelement{fo:wrapper} {} @@ -1042,47 +1056,28 @@ { \leavevmode \ifx\FOleaderpattern\leader@pattern@rule - \ifx\FOrulestyle\rule@style@dashed - \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu-\mkern1.5mu$}\hfil}% - \else - \ifx\FOrulestyle\rule@style@dotted - \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil}% - \else - \ifdim\FOrulethickness>\z@ - \def\w@t{\leaders\hrule height \FOrulethickness\hfill}% - \else - \def\w@t{\hfill}% - \fi - \fi - \fi -\else - \ifx\FOleaderpattern\leader@pattern@dots - \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}% - \else % space - \def\w@t{\hfill}% - \fi -\fi -\ifx\@empty\FOleaderlength - \PercentToDimen{\FOleaderlengthoptimum}% - \edef\leaderopt{\the\@tempdima}% - \PercentToDimen{\FOleaderlengthminimum}% - \edef\leadermin{\the\@tempdima}% - \PercentToDimen{\FOleaderlengthmaximum}% - \edef\leadermax{\the\@tempdima}% - \@tempdima\leaderopt\relax - \advance\@tempdima-\leadermin\relax - \@tempdimb\leadermax\relax - \advance\@tempdimb-\leaderopt\relax - \LeaderLength\leaderopt plus \@tempdimb minus \@tempdima\relax -\else - \PercentToDimen{\FOleaderlength}% - \LeaderLength\@tempdima\relax -\fi -\ifdim\LeaderLength=\z@ - \w@t + \ifx\FOrulestyle\rule@style@dashed + \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu-\mkern1.5mu$}\hfil}% + \else + \ifx\FOrulestyle\rule@style@dotted + \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil}% + \else + \ifdim\FOrulethickness>\z@ + \def\w@t{\leaders\hrule height \FOrulethickness\hfill}% + \else + \def\w@t{\hfill}% + \fi + \fi + \fi \else - \hbox to \LeaderLength{\w@t}% + \ifx\FOleaderpattern\leader@pattern@dots + \def\w@t{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}% + \else % space + \def\w@t{\hfill}% + \fi \fi +\PercentToDimen{\FOleaderlength}% +\ifdim\@tempdima=\z@\w@t\else\hbox to \@tempdima{\w@t}\fi } {} @@ -1129,29 +1124,27 @@ \XMLelement{fo:list-block} {\SpaceAttributes} - {\ifx\FOstartindent\att@bodystart + { + \ifx\FOstartindent\att@bodystart \let\FOstartindent\z@ \fi \ifx\FOendindent\att@labelend \let\FOendindent\z@ \fi - %\FOSetFont{normal}% + \FOSetFont{normal}% \advance\FOinList by 1\relax - %\ifnum\FOinList>1\relax\leavevmode\fi - \edef\This@LineWidth{\the\linewidth}% + \ifnum\FOinList>1\relax\leavevmode\fi \begin{list}{}{% \itemindent=\FOstartindent - \PercentToDimen{\FOprovisionaldistancebetweenstarts}% - \leftmargin=\@tempdima\relax + \leftmargin=\FOprovisionaldistancebetweenstarts \advance\leftmargin by \FOmarginleft \rightmargin=\FOmarginright - \labelwidth=\@tempdima\relax + \labelwidth=\FOprovisionaldistancebetweenstarts \advance\labelwidth by -\FOprovisionallabelseparation \expandafter\csname List\FOtextalign\endcsname \labelsep\FOprovisionallabelseparation \itemsep\z@ \parsep\z@ - \partopsep\z@ \topsep\z@ \parskip\z@ \ifx\@empty\FOspacebefore @@ -1163,13 +1156,11 @@ \else \topsep\FOspacebefore \fi - }% - \edef\This@LineWidth{\the\linewidth}% - } - {\end{list}% - \global\linewidth\This@LineWidth\relax - \advance\FOinList by -1\relax -% \par + } + } + {\end{list} + \advance\FOinList by -1 + \par } \XMLelement{fo:list-item-body} @@ -1177,9 +1168,8 @@ {\ifx\FOstartindent\att@bodystart \let\FOstartindent\z@ \fi - \edef\This@FOListBlocks{\the\FOListBlocks}% - \FOListBodytrue\global\FOListBlocks0} - {\global\FOListBlocks\This@FOListBlocks\relax} + \FOListBodytrue\FOListBlocks0} + {} \XMLelement{fo:list-item-label} {} @@ -1194,7 +1184,8 @@ \XMLelement{fo:list-item} {\SpaceAttributes} - {\FOSetHyphenation + { + \FOSetHyphenation \ifx\@empty\FOspacebefore \@tempdima\FOspacebeforeoptimum \advance\@tempdima by -\FOspacebeforeminimum @@ -1202,7 +1193,7 @@ \advance\@tempdimb by \FOspacebeforemaximum \vskip\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima \else - \ifdim\FOspacebefore=0pt\relax\else\vskip\FOspacebefore\fi + \vskip\FOspacebefore \fi \FOlabel} {} @@ -1325,7 +1316,6 @@ \end{sidewaystable} \fi \fi - \NoTableFinish } \XMLelement{fo:table-body} @@ -1333,7 +1323,6 @@ { \FOFirstCelltrue \FOinTable1 - \saveinterlineskip \expandafter\NoTableStart{\TableHeader}% } { @@ -1357,14 +1346,11 @@ {\xmlgrab} {\FOlabel \FOexpandattributes - \FOinTable2 \NoTableCell{#1}} \XMLelement{fo:table-column} - { - \XMLattributeX{text-align}{\FOtextalign}{\inherit} - } + {} { \@tempcnta0 \loop\ifnum\FOnumbercolumnsrepeated>\@tempcnta @@ -1387,20 +1373,14 @@ \XMLelement{fo:table} {} { - \FOexpandattributes \global\ColSpecs={}\NCols0 \TableWidth\linewidth \advance\TableWidth by -\FOmarginleft \advance\TableWidth by -\FOmarginright \gdef\TableHeader{} \NoTableSetup - \vbox\bgroup\FOBorderTop -% \vskip2\lineskip - - } - {\FOBorderBottom\egroup - \NoTableFinish } + {} \XMLelement{fo:inline} {} @@ -1412,7 +1392,9 @@ \fi \FOlabel \ifx\FOborderstyle\att@solid - \interpretwidth + \ifx\FOborderwidth\att@thin\def\FOborderwidth{0.4pt}\fi + \ifx\FOborderwidth\att@medium\def\FOborderwidth{0.8pt}\fi + \ifx\FOborderwidth\att@thick\def\FOborderwidth{1.2pt}\fi \FOboxedsequence{#1}% \else \FO@inlinesequence{#1}% @@ -1457,13 +1439,13 @@ {\xmlgrab} {\begingroup \utfeight@protect@chars -\ifx\FOretrieveposition\att@first@starting@within@page - \xdef\FOthismark{\firstmark}% +\ifx\FOretrieveposition\FirstOnPage + \xdef\FOthismark{\topmark}% \else - \ifx\FOretrieveposition\att@last@starting@within@page + \ifx\FOretrieveposition\LastOnPage \xdef\FOthismark{\botmark}% \else - \xdef\FOthismark{\firstmark}% + \xdef\FOthismark{\topmark}% \fi \fi \xdef\FOthisretrieveclassname{\FOretrieveclassname} @@ -1518,23 +1500,21 @@ \XMLelement{fo:page-sequence-master} {} - {\global\SimplePMRefs0\relax + { \DEBUG{Page sequence master: \FOmastername} \let\Granpa\FOmastername } - {\global\SimplePMRefs0\relax} + {} \XMLelement{fo:single-page-master-reference} {} - {\global\advance\SimplePMRefs1\relax - \DEBUG{ (single page \the\SimplePMRefs\space in \Granpa: use master \FOmasterreference)} + {\DEBUG{ (single page in \Granpa: use master \FOmasterreference)} \begingroup \utfeight@protect@chars - \expandafter\xdef\csname Lead:\the\SimplePMRefs:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} \endgroup } {} @@ -1544,10 +1524,10 @@ {\DEBUG{ (multiple pages in \Granpa: use master \FOmasterreference)} \begingroup \utfeight@protect@chars -% \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} - \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} -% \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} + \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} \endgroup } {} @@ -1623,18 +1603,18 @@ \expandafter\xdef\csname\FOMaster:after-extent\endcsname{\FOextent} } { -% \ifdim\InnerTopMargin>\FOmargintop\def\FOmargintop{\InnerTopMargin}\fi -% \ifdim\InnerBottomMargin>\FOmarginbottom\def\FOmarginbottom{\InnerBottomMargin}\fi -% \ifdim\InnerRightMargin>\FOmarginright\def\FOmarginright{\InnerRightMargin}\fi -% \ifdim\InnerLeftMargin>\FOmarginleft\def\FOmarginleft{\InnerLeftMargin}\fi + \ifdim\InnerTopMargin>\FOmargintop\def\FOmargintop{\InnerTopMargin}\fi + \ifdim\InnerBottomMargin>\FOmarginbottom\def\FOmarginbottom{\InnerBottomMargin}\fi + \ifdim\InnerRightMargin>\FOmarginright\def\FOmarginright{\InnerRightMargin}\fi + \ifdim\InnerLeftMargin>\FOmarginleft\def\FOmarginleft{\InnerLeftMargin}\fi \DEBUG{Define page master \FOmargin, \FOMaster, \FOmarginright/\FOmarginleft} \begingroup \utfeight@protect@chars \expandafter\xdef\csname Atomic:\FOMaster\endcsname{ - \MasterTopMargin\FOmargintop\advance\MasterTopMargin\InnerTopMargin\relax - \MasterBottomMargin\FOmarginbottom\advance\MasterBottomMargin\InnerBottomMargin\relax - \MasterRightMargin\FOmarginright\advance\MasterRightMargin\InnerRightMargin\relax - \MasterLeftMargin\FOmarginleft\advance\MasterLeftMargin\InnerLeftMargin\relax + \MasterTopMargin\FOmargintop + \MasterBottomMargin\FOmarginbottom + \MasterRightMargin\FOmarginright + \MasterLeftMargin\FOmarginleft \paperwidth\FOpagewidth \paperheight\FOpageheight } diff --git a/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty b/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty index 522f7a6296e..72fc5ade4c6 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty +++ b/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty @@ -1,10 +1,10 @@ -%% File: $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/mlnames.sty#1 $ $Date: 2004/02/09 $ Copyright 1999 Sebastian Rahtz +%% File: $Id: //depot/Master/texmf/tex/xmltex/passivetex/mlnames.sty#20 $ $Date: 2002/06/25 $ Copyright 1999 Sebastian Rahtz %% %% This package may be distributed under the terms of the LaTeX Project Public %% License, as described in lppl.txt in the base LaTeX distribution. %% Either version 1.0 or, at your option, any later version. %% -\ProvidesPackage{mlnames}[2002/07/31, some XSL and Unicode support material, Sebastian Rahtz] +\ProvidesPackage{mlnames}[2001/01/10, some XSL and Unicode support material, Sebastian Rahtz] % \DeclareFontFamily{T1}{pzd}{} \DeclareFontShape{T1}{pzd}{m}{n}{<->pzdr}{} @@ -137,7 +137,7 @@ \def\Weight@medium{} \def\Weight@normal{} \def\Weight@semibold{sb} -\def\Weight@bold{b} +\def\Weight@bold{bx} \def\Weight@extrabold{eb} \def\Weight@ultrabold{ub} \def\Weight@false{} @@ -252,8 +252,6 @@ \def\L@SH{\selectlanguage{serbocroat}} \def\L@SI{\selectlanguage{slovene}} \def\L@SK{\selectlanguage{slovak}} -\expandafter\def\csname L@en_GB\endcsname{\selectlanguage{ukenglish}} -\expandafter\def\csname L@en_US\endcsname{\selectlanguage{english}} \def\L@US{\selectlanguage{english}} \def\L@none{\selectlanguage{english}} \def\L@br{\selectlanguage{portuguese}} @@ -353,16 +351,9 @@ \let\Q@justify\Q@justified \let\startQ@\startQ@justified \let\endQ@\endQ@justified - \def\Q@end{% raggedleft, I hope -% \let\newline\@centercr -% \leftskip\StartIndent plus 1fill% -% \parfillskip\z@skip -% \let\newline\@centercr - \leftskip\StartIndent plus 1fill % - \rightskip\EndIndent - \@rightskip\rightskip + \leftskip\StartIndent plus 1fil% \parfillskip\z@skip } \def\Q@centered{% @@ -374,9 +365,9 @@ } \def\Q@center{% \let\newline\@centercr - \rightskip-\StartIndent plus 1fill% + \rightskip-\StartIndent plus 1fil% \@rightskip\rightskip - \leftskip-\EndIndent plus 1fill% + \leftskip-\EndIndent plus 1fil% \parfillskip\z@skip } \let\Q@left\Q@start diff --git a/Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty b/Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty deleted file mode 100644 index be1105f0fab..00000000000 --- a/Master/texmf-dist/tex/xmltex/passivetex/nomulticol.sty +++ /dev/null @@ -1,1065 +0,0 @@ -%% -%% This is file `nomulticol.sty', -%% a tweak in package multicol.sty [2000/07/10 v1.5z multicolumn formatting (FMi)] -%% Tweaked by Dirk Roorda 2003/01/09 -%% -%% purpose: to have the \begin{multicols} \end{multicols} functionality without -%% putting the material inside a group -%% -%% reason: in PassiveTeX a fo:flow is embedded in a multicols environment. -%% But the fo:block span="all" must be able to interrupt this. -%% However, sayin \end{multicols} just before and \begin{multicols}{N} just after -%% does not work, because it makes the attributes, set between the start of the flow -%% and the beginning of the block, invisible. -%% That's why a grouping-transparent multicol setup is needed. -%% -%% method: -%% providing macros \nobeginmulticols \noendmulticols that do essentially the same -%% but do not create a group. -%% I just removed the crucial \begingroup and \endgroup from \mult@@cols and \endmulticols. -%% Instead of relying on the TeX group restore mechanism, I have added macros -%% \save@mult@settings and \restore@mult@settings to mimick the grouping as far -%% as the settings for the multicol package are concerned. - -%% -%% This is file `multicol.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% multicol.dtx (with options: `package,badness,check,marktrace,nobalance,colbreak') -%% -%% This is a generated file. -%% -%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 -%% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% -%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -%% -------------------------------------------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.2 -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -%% -%% This file may only be distributed together with a copy of the LaTeX -%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' -%% without such generated files. -%% -%% The list of all files belonging to the LaTeX `Tools Bundle' is -%% given in the file `manifest.txt'. -%% -%% Package `multicol' to use with LaTeX2e -%% Copyright 1989-2000 Frank Mittelbach -%% -%% In addition to the terms of LPPL any distributed version -%% (unchanged or modified) of multicol has to keep the statement -%% about the moral obligation for using multicol. In case of major -%% changes where this would not be appropriate the author of the -%% changed version should contact the copyright holder. -%% -%% -%% Moral obligation for using multicol: -%% ------------------------------------ -%% -%% Users of multicol who wish to include or use multicol or a modified -%% version in a proprietary and commercially market product are asked -%% under certain conditions (see below) for the payment of a license -%% fee. The size of this fee is to be determined, in each instance, -%% by the commercial user, depending on his/her judgment of the value of -%% multicol for his/her product. -%% -%% -%% The conditions for this are as follows: -%% -%% The producer of a proprietary and commercially market product -%% that involves typesetting using multicol is asked to determine -%% the value of a license fee for using multicol if -%% -%% - the product is a document and the producer has decided to -%% include multicol to typeset (parts of) the document or has -%% directed the author of the document to include multicol (for -%% example, by providing a class file to be used by the author) -%% -%% - the product is a LaTeX class or package that includes multicol -%% -%% -%% There is no moral obligation in case -%% -%% - the product is a document but producer has not directed -%% the author to include multicol (in that case the moral obligation -%% lies with the author of the document) -%% -%% - the product does not involve typesetting, e.g., consists, for -%% example, of distributing multicol and its documentation. -%% -%% - the product is not proprietary, i.e., is made available as free -%% software itself (which doesn't prohibit its commercial marketing) -%% -%% - multicol is used for non-commercial purposes -%% -%% -%% Determinating a license fee might result in a license fee of zero -%% (i.e., no payment) in case a producer has determined that the use -%% of multicol has no enhancing effect on the product. This is a -%% plausible scenario, i.e., in the above two cases the producer is -%% only asked to evaluate the value of multicol for the product -%% not for the payment of a license fee per se (which might or might -%% not follow from this evaluation). -%% -%% The license fee, if any, can be payed either to the LaTeX3 fund -%% (see ltx3info.txt in the base LaTeX distribution) or to the author of -%% the program who can be contacted at -%% -%% Frank.Mittelbach@latex-project.org -%% -\NeedsTeXFormat{LaTeX2e}[1997/12/01] -\ProvidesPackage{nomulticol} - [2003/01/09 v1.5z multicolumn formatting (FMi)] -%% \CheckSum{1451} -%% \CharacterTable -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -%% Digits \0\1\2\3\4\5\6\7\8\9 -%% Exclamation \! Double quote \" Hash (number) \# -%% Dollar \$ Percent \% Ampersand \& -%% Acute accent \' Left paren \( Right paren \) -%% Asterisk \* Plus \+ Comma \, -%% Minus \- Point \. Solidus \/ -%% Colon \: Semicolon \; Less than \< -%% Equals \= Greater than \> Question mark \? -%% Commercial at \@ Left bracket \[ Backslash \\ -%% Right bracket \] Circumflex \^ Underscore \_ -%% Grave accent \` Left brace \{ Vertical bar \| -%% Right brace \} Tilde \~} -%% -\DeclareOption{twocolumn} - {\PackageWarning{nomulticol}{May not work - with the twocolumn option}} -\newcount\c@tracingmulticols -\DeclareOption{errorshow} - {\c@tracingmulticols\z@} -\DeclareOption{infoshow} - {\c@tracingmulticols\@ne} -\DeclareOption{balancingshow} - {\c@tracingmulticols\tw@} -\DeclareOption{markshow} - {\c@tracingmulticols\thr@@} -\DeclareOption{debugshow} - {\c@tracingmulticols5\relax} -\ProcessOptions - -%% -%% Start Additions by Dirk Roorda -%% - -\def\show@mult@settings{% - \typeout{LINEWIDTH=SAVED=\sav@linewidth; CURRENT=\the\linewidth}% - \typeout{COLUMNWIDTH=SAVED=\sav@columnwidth; CURRENT=\the\columnwidth}% - \typeout{FULL@WIDTH=SAVED=\sav@full@width; CURRENT=\the\full@width}% - \typeout{HSIZE=SAVED=\sav@hsize; CURRENT=\the\hsize}% - \typeout{VSIZE=SAVED=\sav@vsize; CURRENT=\the\vsize}% - \typeout{BASELINESKIP=SAVED=\sav@baselineskip; CURRENT=\the\baselineskip}% - \typeout{EMERGENCYSTRETCH=SAVED=\sav@emergencystretch; CURRENT=\the\emergencystretch}% - \typeout{PRETOLERANCE=SAVED=\sav@pretolerance; CURRENT=\the\pretolerance}% - \typeout{TOLERANCE=SAVED=\sav@tolerance; CURRENT=\the\tolerance}% - \typeout{HBADNESS=SAVED=\sav@hbadness; CURRENT=\the\hbadness}% - \typeout{VBADNESS=SAVED=\sav@vbadness; CURRENT=\the\vbadness}% - \typeout{PARSHAPE=SAVED=\sav@parshape; CURRENT=\the\parshape}% - \typeout{@TOTALLEFTMARGIN=SAVED=\sav@totalleftmargin; CURRENT=\the\@totalleftmargin}% - \typeout{MULTICOL@LEFTMARGIN=SAVED=\sav@multicol@leftmargin; CURRENT=\the\multicol@leftmargin}% - \typeout{@COLROOM=SAVED=\sav@colroom; CURRENT=\the\@colroom}% - \typeout{DOUBLECOL@NUMBER=SAVED=\sav@doublecol@number; CURRENT=\the\doublecol@number}% - \typeout{@TEMPDIMA=SAVED=\sav@tempdima; CURRENT=\the\@tempdima}% - \typeout{FOOTINS=SAVED=\sav@count@footins; CURRENT=\the\count\footins}% - \typeout{FOOTINS=SAVED=\sav@skip@footins; CURRENT=\the\skip\footins}% -% - \typeout{COL@NUMBER=SAVED=\sav@col@number; CURRENT=\the\col@number}% - \typeout{PAGE@FREE=SAVED=\sav@page@free; CURRENT=\the\page@free}% - \typeout{@TEMPSKIPA=SAVED=\sav@tempskipa; CURRENT=\the\@tempskipa}% -} - -\def\explain@mult@settings{% - \typeout{linewidth=\meaning\linewidth}% - \typeout{columnwidth=\meaning\columnwidth}% - \typeout{full-width=\meaning\full@width}% - \typeout{hsize=\meaning\hsize}% - \typeout{vsize=\meaning\vsize}% - \typeout{baselineskip=\meaning\baselineskip}% - \typeout{emergencystretch=\meaning\emergencystretch}% - \typeout{pretolerance=\meaning\pretolerance}% - \typeout{tolerance=\meaning\tolerance}% - \typeout{hbadness=\meaning\hbadness}% - \typeout{vbadness=\meaning\vbadness}% - \typeout{parshape=\meaning\parshape}% - \typeout{-totalleftmargin=\meaning\@totalleftmargin}% - \typeout{multicol-leftmargin=\meaning\multicol@leftmargin}% - \typeout{-colroom=\meaning\@colroom}% - \typeout{doublecol-number=\meaning\doublecol@number}% - \typeout{-tempdima=\meaning\@tempdima}% - \typeout{-tempskipa=\meaning\@tempskipa}% - \typeout{page-free=\meaning\page@free}% - \typeout{col-number=\meaning\col@number}% -} - -\def\save@mult@settings{% - \xdef\sav@linewidth{\the\linewidth}% - \xdef\sav@columnwidth{\the\columnwidth}% - \xdef\sav@full@width{\the\full@width}% - \xdef\sav@hsize{\the\hsize}% - \xdef\sav@vsize{\the\vsize}% - \xdef\sav@baselineskip{\the\baselineskip}% - \xdef\sav@emergencystretch{\the\emergencystretch}% - \xdef\sav@pretolerance{\the\pretolerance}% - \xdef\sav@tolerance{\the\tolerance}% - \xdef\sav@hbadness{\the\hbadness}% - \xdef\sav@vbadness{\the\vbadness}% - \xdef\sav@parshape{\the\parshape}% - \xdef\sav@totalleftmargin{\the\@totalleftmargin}% - \xdef\sav@multicol@leftmargin{\the\multicol@leftmargin}% - \xdef\sav@colroom{\the\@colroom}% - \xdef\sav@doublecol@number{\the\doublecol@number}% - \xdef\sav@tempdima{\the\@tempdima}% - \xdef\sav@count@footins{\the\count\footins}% - \xdef\sav@skip@footins{\the\skip\footins}% - \global\let\sav@dblfloat\@dblfloat - \global\let\sav@end@dblfloat\end@dblfloat - \xdef\sav@output{\the\output}% - \global\let\sav@reserved@c\reserved@c -% - \xdef\sav@col@number{\the\col@number}% - \xdef\sav@page@free{\the\page@free}% - \xdef\sav@tempskipa{\the\@tempskipa}% - \global\let\sav@reserved@a\reserved@a - \global\let\sav@reserved@b\reserved@b - \global\let\sav@reserved@d\reserved@d - \global\let\sav@let@token\@let@token - \global\let\sav@footnotetext\@footnotetext - \global\let\sav@orig@footnotetext\orig@footnotetext -} - -\def\restore@mult@settings{% - \global\linewidth\sav@linewidth\relax - \global\columnwidth\sav@columnwidth\relax - \global\full@width\sav@full@width\relax - \global\hsize\sav@hsize\relax - \global\vsize\sav@vsize\relax - \global\baselineskip\sav@baselineskip\relax - \global\emergencystretch\sav@emergencystretch\relax - \global\pretolerance\sav@pretolerance\relax - \global\tolerance\sav@tolerance\relax - \global\hbadness\sav@hbadness\relax - \global\vbadness\sav@vbadness\relax - \global\parshape\sav@parshape\relax - \global\@totalleftmargin\sav@totalleftmargin\relax - \global\multicol@leftmargin\sav@multicol@leftmargin\relax - \global\@colroom\sav@colroom\relax - \global\doublecol@number\sav@doublecol@number\relax - \global\@tempdima\sav@tempdima\relax - \global\count\footins\sav@count@footins\relax - \global\skip\footins\sav@skip@footins\relax - \global\let\@dblfloat\sav@dblfloat - \global\let\end@dblfloat\sav@end@dblfloat - \global\expandafter\output\expandafter{\sav@output}% - \global\let\reserved@c\sav@reserved@c -% - \global\col@number\sav@col@number\relax - \global\page@free\sav@page@free\relax - \global\@tempskipa\sav@tempskipa\relax - \global\let\reserved@a\sav@reserved@a - \global\let\reserved@b\sav@reserved@b - \global\let\reserved@d\sav@reserved@d - \global\let\@let@token\sav@let@token - \global\let\@footnotetext\sav@footnotetext - \global\let\orig@footnotetext\sav@orig@footnotetext -} - -\def\nobeginmulticols#1{% -\typeout{^^JSTART #1 COLUMNS}% - \save@mult@settings - \global\col@number#1\relax - \ifnum\col@number<\tw@ - \PackageWarning{multicol}% - {Using `\number\col@number' - columns doesn't seem a good idea.^^J - I therefore use two columns instead}% - \global\col@number\tw@ \fi - \ifnum\col@number>10 - \PackageError{multicol}% - {Too many columns}% - {Current implementation doesn't - support more than 10 columns.% - \MessageBreak - I therefore use 10 columns instead}% - \global\col@number10 \fi - \global\let\orig@footnotetext\@footnotetext - \long\gdef\@footnotetext##1{\begingroup - \columnwidth\textwidth - \orig@footnotetext{##1}\endgroup}% - \@ifnextchar[\nomult@cols{\nomult@cols[]}} - -\def\nomult@cols[#1]{\@ifnextchar[% - {\nomult@@cols{#1}}% - {\nomult@@cols{#1}[\premulticols]}} - -\def\nomult@@cols#1[#2]{% - \par - \ifinner \global\@boxedmulticolstrue - \else - \ifnum \doublecol@number>\z@ - \global\@boxedmulticolstrue - \fi - \fi - \mult@info\z@ - {Starting environment with - \the\col@number\space columns% - \if@boxedmulticols\MessageBreak - (boxed mode)\fi - }% - \enough@room{#2}% - #1\par\addvspace\multicolsep -% \begingroup - \prepare@multicols - \if@boxedmulticols - \global\setbox\mult@box\vbox\bgroup - \fi - \ignorespaces} - -\def\noendmulticols{\par - \if@boxedmulticols - \egroup - %\balance@columns - \return@nonemptymark{first}% - \kept@firstmark - \return@nonemptymark{bot}% - \kept@botmark - \page@sofar - \global\let\kept@firstmark\l@kept@firstmark - \global\let\kept@botmark\l@kept@botmark - \mult@info\tw@ - {Restore kept marks to\MessageBreak - first: \meaning\kept@firstmark - \MessageBreak bot\space\space: - \meaning\kept@botmark }% - \else - \penalty\z@ - \global\output{\balance@columns@out}\eject - \ifvbox\partial@page - \unvbox\partial@page\fi - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \mult@info\tw@ - {Make kept marks empty}% - \fi -% \@checkend{multicols}% -% \endgroup - \global\c@unbalance\z@ - \if@boxedmulticols\else - \reinsert@footnotes - \ifdim \pagegoal=\maxdimen - \global\vsize\@colroom - \else - \enough@room\postmulticols - \fi - \fi - \addvspace\multicolsep - \mult@info\z@ - {Ending environment - \if@boxedmulticols - \space(boxed mode)\fi - }% -\typeout{^^JSTOP \the\col@number\space COLUMNS}% - \restore@mult@settings -} - -%% -%% End Additions by Dirk Roorda -%% - -%% -%% The following code is unmodified, except that many local -%% statements have been globalized -%% - -\newif\if@boxedmulticols -\global\@boxedmulticolsfalse - -\newbox\mult@box - -\def\enough@room#1{% - \if@boxedmulticols\else - \par - \bgroup\@nobreakfalse\addpenalty\z@\egroup - \global\page@free\pagegoal - \global\advance\page@free -\pagetotal - \global\@tempskipa#1\relax - \mult@info\z@ - {Current page:\MessageBreak - height=% - \the\pagegoal: used \the\pagetotal - \space -> free=\the\page@free - \MessageBreak - needed \the\@tempskipa - \space(for #1)}% - \ifdim\page@free<#1\newpage \fi - \fi} - -\newif\ifmult@just@prepared - -\def\prepare@multicols{% - \global\multicol@leftmargin\@totalleftmargin - \global\@totalleftmargin\z@ - \global\parshape\z@ - \global\doublecol@number\col@number - \global\multiply\doublecol@number\tw@ - \global\advance\doublecol@number\mult@rightbox - \if@boxedmulticols - \global\let\l@kept@firstmark\kept@firstmark - \global\let\l@kept@botmark\kept@botmark - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \else - \nointerlineskip {\global\topskip\z@\null}% - \global\output{% - \global\setbox\partial@page\vbox - {% - \ifvoid\partial@page\else - \PackageError{multicol}% - {Error saving partial page}% - {The part of the page before - the multicols environment was - nearly full with^^Jthe result - that starting the environment - will produce an overfull - page. Some^^Jtext may be lost! - Please increase \premulticols - either generally or for this% - ^^Jenvironment by specifying a - suitable value in the second - optional argument to^^Jthe - multicols environment.} - \unvbox\partial@page - \box\last@line - \fi - \unvbox\@cclv - \global\setbox\last@line\lastbox - }% - \prep@keptmarks - \global\let\kept@topmark\firstmark - }\eject - \global\advance\@colroom-\ht\partial@page - \set@mult@vsize\relax - \global\output{\multi@column@out}% - \init@mult@footins - \reinsert@footnotes - \fi - \global\vbadness\@Mi \global\hbadness5000 - \global\tolerance\multicoltolerance - \global\pretolerance\multicolpretolerance - \setemergencystretch\col@number\hsize - \set@floatcmds - \global\advance\baselineskip\multicolbaselineskip - \global\hsize\linewidth \global\advance\hsize\columnsep - \global\advance\hsize-\col@number\columnsep - \global\divide\hsize\col@number - \global\full@width\linewidth - \global\linewidth\hsize - \global\columnwidth\hsize - \global\mult@just@preparedtrue -%\typeout{SETTING JUSTPREPARED to TRUE}% -} - -\def\refreshmulticols{% -%\typeout{REFRESH?}% - \ifmult@just@prepared -%\typeout{NO, JUSTPREPARED!}% - \else -%\typeout{YES}% - \global\multicol@leftmargin\@totalleftmargin - \global\@totalleftmargin\z@ - \global\parshape\z@ - \global\doublecol@number\col@number - \global\multiply\doublecol@number\tw@ - \global\advance\doublecol@number\mult@rightbox - \if@boxedmulticols - \global\let\l@kept@firstmark\kept@firstmark - \global\let\l@kept@botmark\kept@botmark - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \else - \nointerlineskip {\global\topskip\z@\null}% - \global\advance\@colroom-\ht\partial@page - \set@mult@vsize\relax - \init@mult@footins - % \reinsert@footnotes - \fi - \global\vbadness\@Mi \global\hbadness5000 - \global\tolerance\multicoltolerance - \global\pretolerance\multicolpretolerance - \setemergencystretch\col@number\hsize - \set@floatcmds - % \global\advance\baselineskip\multicolbaselineskip - \global\hsize\linewidth \global\advance\hsize\columnsep - \global\advance\hsize-\col@number\columnsep - \global\divide\hsize\col@number - \global\full@width\linewidth - \global\linewidth\hsize - \global\columnwidth\hsize - \global\mult@just@preparedtrue -%\typeout{SETTING JUSTPREPARED to TRUE}% - \fi -} - -\def\init@mult@footins{% - \global\multiply\count\footins\col@number - \global\multiply\skip \footins\col@number -} - -\def\set@mult@vsize#1{% - \global\vsize\@colroom - \global\@tempdima\baselineskip - \global\advance\@tempdima-\topskip - \global\advance\vsize\@tempdima - \global\vsize\col@number\vsize - \global\advance\vsize-\@tempdima - #1\global\advance\vsize\c@collectmore\baselineskip} - -\newdimen\multicol@leftmargin -\newcount\c@unbalance -\newcount\c@collectmore -\newcount\doublecol@number -\newcount\multicoltolerance -\newcount\multicolpretolerance -\newdimen\full@width -\newdimen\page@free -\newdimen\premulticols -\newdimen\postmulticols -\newskip\multicolsep -\newskip\multicolbaselineskip -\newbox\partial@page -\newbox\last@line -\global\c@unbalance = 0 -\global\c@collectmore = 0 -\global\col@number = 1 -\global\multicoltolerance = 9999 -\global\multicolpretolerance = -1 -\global\premulticols = 50pt -\global\postmulticols= 20pt -\global\multicolsep = 12pt plus 4pt minus 3pt -\global\multicolbaselineskip=0pt - -\def\process@cols#1#2{\global\count@#1\relax - \loop - #2% - \global\advance\count@\tw@ - \ifnum\count@<\doublecol@number - \repeat} - -\def\page@sofar{% - \process@cols\mult@rightbox - {\ifvoid\count@ - \setbox\count@\hbox to\hsize{}% - \else - \wd\count@\hsize - \fi}% - \mult@info\z@ - {Column spec:\MessageBreak - (\the\multicol@leftmargin\space --> - \the\full@width\space = \the\hsize - \space x \the\col@number)% - }% -\ifvmode\else\errmessage{Multicol Error}\fi - \moveright\multicol@leftmargin - \hbox to\full@width{% - \process@cols\mult@gfirstbox{\box\count@ - \hss{\normalcolor\vrule\@width\columnseprule}\hss}% - \box\mult@rightbox - \rlap{\phantom p}% - }% -} - -\def\reinsert@footnotes{\ifvoid\footins\else - \insert\footins{}\fi} - -\def\multi@column@out{% - \ifnum\outputpenalty <-\@M - \speci@ls - \else - \global\mult@just@preparedfalse -%\typeout{SETTING JUSTPREPARED TO FALSE}% - \ifvoid\colbreak@box - \else - \mult@info\@ne{Re-adding forced - break(s) for splitting}% - \setbox\@cclv\vbox{% - \unvbox\colbreak@box - \penalty-\@Mv\unvbox\@cclv}% - \fi - \splittopskip\topskip - \splitmaxdepth\maxdepth - \global\dimen@\@colroom - \global\divide\skip\footins\col@number - \ifvoid\footins - \else - \leave@mult@footins - \fi - \process@cols\mult@gfirstbox{% - \setbox\count@\vsplit\@cclv to\dimen@ - \set@keptmarks - \ifshr@nking - \setbox\count@\vbox to\dimen@{\unvbox\count@\vfill}% - \fi - }% - \global\setbox\mult@rightbox\vsplit\@cclv to\dimen@ - \set@keptmarks - \ifshr@nking - \global\setbox\mult@rightbox\vbox to\dimen@{\unvbox\mult@rightbox\vfill}% - \fi - \ifvoid\@cclv - \else - \unvbox\@cclv - \penalty\outputpenalty - \ifvoid\footins - \else - \PackageWarning{multicol}% - {I moved some lines to - the next page.\MessageBreak - Footnotes on page - \thepage\space might be wrong}% - \fi - \ifnum \c@tracingmulticols>\thr@@ - \hrule\allowbreak - \fi - \fi - \ifx\@empty\kept@firstmark - \global\let\firstmark\kept@topmark - \global\let\botmark\kept@topmark - \else - \global\let\firstmark\kept@firstmark - \global\let\botmark\kept@botmark - \fi - \global\let\topmark\kept@topmark - \mult@info\tw@ - {Use kept top mark:\MessageBreak - \meaning\kept@topmark - \MessageBreak - Use kept first mark:\MessageBreak - \meaning\kept@firstmark - \MessageBreak - Use kept bot mark:\MessageBreak - \meaning\kept@botmark - \MessageBreak - Produce first mark:\MessageBreak - \meaning\firstmark - \MessageBreak - Produce bot mark:\MessageBreak - \meaning\botmark - \@gobbletwo}% - \setbox\@cclv\vbox{\unvbox\partial@page\page@sofar}% - \@makecol\@outputpage - \global\let\kept@topmark\botmark - \global\let\kept@firstmark\@empty - \global\let\kept@botmark\@empty - \mult@info\tw@ - {(Re)Init top mark:\MessageBreak - \meaning\kept@topmark - \@gobbletwo}% - \global\@colroom\@colht - \process@deferreds - \@whilesw\if@fcolmade\fi{\@outputpage - \global\@colroom\@colht - \process@deferreds}% - \mult@info\@ne - {Colroom:\MessageBreak - \the\@colht\space - after float space removed - = \the\@colroom \@gobble}% - \set@mult@vsize \global - \fi -} - -\def\leave@mult@footins{% - \global\advance\dimen@-\skip\footins - \global\advance\dimen@-\ht\footins -} - -\def\speci@ls{% - \ifnum\outputpenalty <-\@Mi - \ifnum \outputpenalty<-\@MM - \PackageError{multicol}{Document end - inside multicols environment}\@ehd - \@specialoutput - \else - \ifnum\outputpenalty = -\@Mv - \mult@info\@ne{Forced column - break seen}% - \global\advance\vsize-\pagetotal - \global\setbox\colbreak@box - \vbox{\ifvoid\colbreak@box - \else - \unvbox\colbreak@box - \penalty-\@Mv - \fi - \unvbox\@cclv} - \reinsert@footnotes - \else - \PackageWarning{multicol}% - {Floats and marginpars not - allowed inside `multicols' - environment! - \@gobble}% - \unvbox\@cclv\reinsert@footnotes - \xdef\@freelist{\@freelist\@currlist}% - \gdef\@currlist{}% - \fi - \fi - \else \@doclearpage \fi -} - -\def\process@deferreds{% - \@floatplacement - \@tryfcolumn\@deferlist - \if@fcolmade\else - \begingroup - \let\@tempb\@deferlist - \gdef\@deferlist{}% - \let\@elt\@scolelt - \@tempb \endgroup - \fi} - -\newif\ifshr@nking - -\def\raggedcolumns{% - \@bsphack\global\shr@nkingtrue\@esphack} - -\def\flushcolumns{% - \@bsphack\global\shr@nkingfalse\@esphack} - -\def\balance@columns@out{% - \global\setbox\mult@box\vbox{% - \ifvoid\colbreak@box\else - \unvbox\colbreak@box\break - \mult@info\@ne{Re-adding - forced break(s) in balancing}% - \fi - \unvbox\@cclv}% - \balance@columns - \global\vsize\@colroom - \global\advance\vsize\ht\partial@page - \unvbox\partial@page - \return@nonemptymark{first}\kept@firstmark - \return@nonemptymark{bot}\kept@botmark - \page@sofar - \penalty\z@ -} - -\def\balance@columns{% - \get@keptmarks\mult@box - \global\setbox\mult@box\vbox{% - \penalty-\@M - \unvbox\mult@box - \remove@discardable@items - }% - \global\@tempdima\topskip - \global\splittopskip\@tempdima - \@plus\multicolundershoot - \@minus\multicolovershoot - \splitmaxdepth\maxdepth - \setbox\@tempboxa\vsplit\mult@box to\z@ - \global\@tempdima\ht\mult@box - \global\advance\@tempdima\dp\mult@box - \global\divide\@tempdima\col@number - \global\count@\@tempdima - \global\divide\count@\baselineskip - \global\dimen@\count@\baselineskip - \global\advance\dimen@\topskip - \ifdim \dimen@ >\@tempdima - \global\advance\dimen@-\baselineskip - \fi - \global\advance\dimen@\c@unbalance\baselineskip - \mult@info\@ne - {Balance columns\on@line: - \ifnum\c@unbalance=\z@\else - (off balance=\number\c@unbalance)\fi - \@gobbletwo}% - \ifnum\dimen@<\topskip - \mult@info\@ne - {Start value - \the\dimen@ \space -> - \the\topskip \space (corrected)}% - \global\dimen@\topskip - \fi - \global\vbadness\@M - \global\vfuzz \col@number\baselineskip - \global\last@try-\p@ - \loop - {\process@cols\mult@grightbox - {\global\setbox\count@ - \box\voidb@x}}% - \global\setbox\mult@grightbox - \copy\mult@box - \global\too@badfalse - {\process@cols\mult@firstbox{% - \global\setbox\count@ - \vsplit\mult@grightbox to\dimen@ - \ifnum\c@tracingmulticols>\@ne - \@tempcnta\count@ - \advance\@tempcnta-\mult@grightbox - \divide\@tempcnta \tw@ - \message{^^JColumn - \number\@tempcnta\space - badness: \the\badness\space}% - \fi - \ifnum\badness>\c@columnbadness - \ifnum\c@tracingmulticols>\@ne - \message{too bad - (>\the\c@columnbadness)}% - \fi - \global\too@badtrue - \fi - }}% - \global\boxmaxdepth\maxdepth - \global\setbox\mult@grightbox - \vbox{\unvbox\mult@grightbox}% - \global\setbox\mult@nat@firstbox - \vbox{\unvcopy\mult@firstbox}% - \ifnum\c@tracingmulticols>\@ne - \message{^^JFirst column - = \the\dimen@\space - (\the\ht\mult@nat@firstbox)}\fi - \ifnum\c@tracingmulticols>\@ne - \message{<> last column = - \the\ht\mult@grightbox^^J}% - \fi - \ifdim\ht\mult@grightbox >\dimen@ - \global\too@badtrue - \ifnum\c@tracingmulticols>\@ne - \typeout{Rejected: last - column too large!}% - \fi - \else - \setbox\@tempboxa - \copy\mult@grightbox - \setbox\z@\vsplit\@tempboxa to\maxdimen - \ifvoid\@tempboxa - \global\setbox\mult@grightbox - \vbox to\dimen@ - {\unvbox\mult@grightbox}% - \ifnum\c@tracingmulticols>\@ne - \message{Final badness: - \the\badness}% - \fi - \ifnum\badness>\c@finalcolumnbadness - \global\setbox\mult@grightbox - \vbox to\dimen@ - {\unvbox\mult@grightbox\vfill}% - \ifnum\c@tracingmulticols>\@ne - \message{ setting natural - (> \the\c@finalcolumnbadness)}% - \fi - \fi - \else - \global\too@badtrue - \ifnum\c@tracingmulticols>\@ne - \typeout{Rejected: unprocessed - forced break(s) in last column!}% - \fi - \fi - \fi - \ifdim\ht\mult@nat@firstbox<\dimen@ - \ifdim\ht\mult@nat@firstbox>\last@try - \global\too@badtrue - \ifnum\c@tracingmulticols>\@ne - \typeout{Retry: using natural - height of first column!}% - \fi - \global\dimen@\ht\mult@nat@firstbox - \global\last@try\dimen@ - \global\advance\dimen@-\p@ - \fi - \fi - \iftoo@bad - \global\advance\dimen@\p@ - \repeat - \if@boxedmulticols\else - \ifdim\dimen@>\@colroom - \global\dimen@\@colroom - \fi - \fi - \process@cols\mult@rightbox - {\@tempcnta\count@ - \advance\@tempcnta\@ne - \setbox\count@\vbox to\dimen@ - {% - \vskip \z@ - \@plus-\multicolundershoot - \@minus-\multicolovershoot - \unvbox\@tempcnta - \ifshr@nking\vfill\fi}}% -} - -\newbox\mult@rightbox -\newbox\mult@grightbox -\newbox\mult@gfirstbox -\newbox\mult@firstbox -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa\newbox\@tempa -\newbox\@tempa - -\global\let\@tempa\relax - -\@ifundefined{emergencystretch} - {\newdimen\emergencystretch}{} - -\def\setemergencystretch#1#2{% - \global\emergencystretch 4pt - \global\multiply\emergencystretch#1} - -\def\set@floatcmds{% - \global\let\@dblfloat\@dbflt - \gdef\end@dblfloat{\par - \vskip\z@ - \egroup - \color@endbox - \@largefloatcheck - \outer@nobreak - \ifnum\@floatpenalty<\z@ - \@cons\@deferlist\@currbox - \fi - \ifnum\@floatpenalty=-\@Mii - \@Esphack - \fi}} - -\def\kept@topmark{{}{}} - -\global\let\kept@firstmark\@empty -\global\let\kept@botmark\@empty - -\def\return@nonemptymark#1#2{% - \ifx#2\@empty - \else - \mult@info\tw@ - {Returned #1 mark:\MessageBreak - \meaning#2}% - \toks@\expandafter{#2}% - \mark{\the\toks@}% - \nobreak - \fi} - -\def\get@keptmarks#1{% - \begingroup - \vbadness\@M - \setbox#1\copy#1% - \setbox#1\vsplit#1to\maxdimen - \set@keptmarks - \endgroup -} - -\def\set@keptmarks{% - \ifx\kept@firstmark\@empty - \expandafter\gdef\expandafter - \kept@firstmark - \expandafter{\splitfirstmark}% - \ifx\kept@firstmark\@empty\else - \mult@info\tw@ - {Set kept first mark:\MessageBreak - \meaning\kept@firstmark% - \@gobbletwo}% - \fi - \fi - \expandafter\gdef\expandafter\@tempa - \expandafter{\splitbotmark}% - \ifx\@tempa\@empty\else - \global\let\kept@botmark\@tempa - \mult@info\tw@ - {Set kept bot mark:\MessageBreak - \meaning\kept@botmark% - \@gobbletwo}% - \fi}% - -\def\prep@keptmarks{% - \if@boxedmulticols \else - \get@keptmarks\partial@page - \fi} - -\def\remove@discardable@items{% - \unskip\unpenalty\unkern - \unskip\unpenalty\unkern - \unskip\unpenalty\unkern - \unskip\unpenalty\unkern -} - -\newif\iftoo@bad -\newcount\c@columnbadness -\global\c@columnbadness=10000 - -\newcount\c@finalcolumnbadness -\global\c@finalcolumnbadness=9999 - -\newdimen\last@try -\newdimen\multicolovershoot -\global\multicolovershoot=2pt - -\newdimen\multicolundershoot -\global\multicolundershoot=2pt - -\newbox\mult@nat@firstbox - -\def\mult@info#1#2{% - \ifnum\c@tracingmulticols>#1% - \GenericWarning - {(multicol)\@spaces\@spaces}% - {Package multicol: #2}% - \fi -} - -\@namedef{multicols*}{% - \ifinner - \PackageWarning{multicol}% - {multicols* inside a box does - not make sense.\MessageBreak - Going to balance anyway}% - \else - \global\let\balance@columns@out - \multi@column@out - \fi - \begin{multicols} -} -\@namedef{endmulticols*}{\vfill - \end{multicols}} - -\mathchardef\@Mv=10005 - -\def\columnbreak{% - \ifnum\col@number<\tw@ - \PackageError{multicol}% - {\noexpand\columnbreak outside multicols}% - {This command can only be used within - a multicols or multicols* environment.}% - \else - \ifvmode - \penalty -\@Mv\relax - \else - \@bsphack - \vadjust{\penalty -\@Mv\relax}% - \@esphack - \fi - \fi} - -\newbox\colbreak@box - -\global\let\interbeginmulticols\nobeginmulticols -\global\let\interendmulticols\noendmulticols -\endinput -%% -%% End of file `multicol.sty'. diff --git a/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty b/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty index d3ce3e5547d..713c292a66b 100644 --- a/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty +++ b/Master/texmf-dist/tex/xmltex/passivetex/ucharacters.sty @@ -13,7 +13,7 @@ \DefineCharacter{172}{AC}{\ensuremath{\lnot }} \DefineCharacter{173}{AD}{\ensuremath{\-}} \DefineCharacter{174}{AE}{\ifmmode \circledR \else \textregistered \fi}% -\DefineCharacter{175}{AF}{\ifmmode\mbox{\textasciimacron}\else\textasciimacron\fi} +\DefineCharacter{175}{AF}{\textasciimacron } \DefineCharacter{176}{B0}{\ifmmode \mbox{\textdegree}\else \textdegree \fi}% \DefineCharacter{177}{B1}{\ensuremath{\pm }} \DefineCharacter{178}{B2}{\ensuremath{{^2}}} @@ -591,8 +591,6 @@ \DefineCharacter{1249}{4E1}{\cyrchar\cyrabhdze } \DefineCharacter{1256}{4E8}{\cyrchar\CYROTLD } \DefineCharacter{1257}{4E9}{\cyrchar\cyrotld } -\DefineCharacter{8192}{2000}{\,\fbox{\vrule height1.5ex depth0pt width0pt \hspace{0.5em}}\,} -\DefineCharacter{8193}{2001}{\,\fbox{\vrule height1.5ex depth0pt width0pt \hspace{1em}}\,} \DefineCharacter{8194}{2002}{\hspace{0.6em}} \DefineCharacter{8195}{2003}{\hspace{1em}} \DefineCharacter{8196}{2004}{\hspace{0.33em}} diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 0ca53d96782..c9e8c68887e 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -1185,7 +1185,7 @@ $standardocp='\.ocp'; # packages which have xmltex files %specialxmt= ( - 'passivetex', '\.xmt|fotex.sty', + # 'passivetex', '\.xmt|fotex.sty', ); $standardxmt='\.xmt'; diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index d9fd7fa6029..dbdfc0f3424 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -135,9 +135,9 @@ my @WorkingTLP = qw( ntgclass ntheorem-vn numline numname numprint oberdiek ocr-latex octavo ofs ogham oldstyle onlyamsmath opcit ordinalpt - pagenote paper papercdcase papertex parallel paresse parrun patch - pauldoc pbox pdf-forms-tutorial-de pdf-forms-tutorial-en pdf-trans - pdfcprot pdfcrop + pagenote paper papercdcase papertex parallel paresse parrun passivetex + patch pauldoc pbox pdf-forms-tutorial-de pdf-forms-tutorial-en + pdf-trans pdfcprot pdfcrop pdfpages pdfscreen pdfsync pdftex-def perception perltex permute petiteannonce pgf pgf-soroban pgfopts pgfplots phaistos philex philosophersimprint |