diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:47:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:47:11 +0000 |
commit | 6d6621ddda94a8d3eb3fcd67b4dcfc61335d5450 (patch) | |
tree | 8c03e4a5c591e11ec7436db74879bf1052a41f5f /Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt | |
parent | 3b927eb81270ca256a85224fda0e0812120168a3 (diff) |
trunk/Master/texmf-dist/tex/xmltex/
git-svn-id: svn://tug.org/texlive/trunk@627 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt')
-rw-r--r-- | Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt | 1664 |
1 files changed, 1664 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt b/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt new file mode 100644 index 00000000000..8bdbe94be2c --- /dev/null +++ b/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt @@ -0,0 +1,1664 @@ +% $Id: //depot/Master/texmf-dist/tex/xmltex/passivetex/fotex.xmt#1 $, $Date: 2004/02/09 $ +% +% PassiveTeX version 1.25 +% +% Copyright 2003 Sebastian Rahtz/Oxford University +% <sebastian.rahtz@oucs.ox.ac.uk> +% +% Permission is hereby granted, free of charge, to any person obtaining +% a copy of this software and any associated documentation files (the +% ``Software''), to deal in the Software without restriction, including +% without limitation the rights to use, copy, modify, merge, publish, +% distribute, sublicense, and/or sell copies of the Software, and to +% permit persons to whom the Software is furnished to do so, subject to +% the following conditions: +% +% The above copyright notice and this permission notice shall be included +% in all copies or substantial portions of the Software. +% +% 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} +\XMLstring\FirstOnPage<>first-starting-within-page</> +\XMLstring\LastOnPage<>last-starting-within-page</> +\XMLstring\LINK<>LINK</> +\XMLstring\file@urlprefix<>url(</> +\XMLstring\file@prefix<>file://</> +\XMLstring\file@shortprefix<>file:</> +\XMLstring\prop@width<>proportional-column-width(1)</> +\XMLstringX\@staticafter<>xsl-after</> +\XMLstringX\@staticbefore<>xsl-before</> +\XMLstringX\@staticstart<>xsl-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@baseline<>baseline</> +\XMLstringX\att@before<>before</> +\XMLstringX\att@black<>black</> +\XMLstringX\att@blank<>blank</> +\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@lr@tb<>lr-tb</> +\XMLstringX\att@maximum<>maximum</> +\XMLstringX\att@maximumuniform<>maximum-uniform</> +\XMLstringX\att@medium<>medium</> +\XMLstringX\att@no<>no</> +\XMLstringX\att@no@limit<>no-limit</> +\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</> +\XMLstringX\att@pre<>pre</> +\XMLstringX\att@preserve<>preserve</> +\XMLstringX\att@relative<>relative</> +\XMLstringX\att@repeat<>repeat</> +\XMLstringX\att@replace<>replace</> +\XMLstringX\att@scaletofit<>scale-to-fit</> +\XMLstringX\att@scroll<>scroll</> +\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@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</> +\XMLstringX\rule@style@dashed<>dashed</> +\XMLstringX\rule@style@dotted<>dotted</> +\XMLnamespaceattributeX{fo}{media-usage}{\FOmediausage}{} +% The "media-usage" property is used to control +% how the selected display medium is used to +% present the page(s) specified by the stylesheet. +\XMLnamespaceattributeX{fo}{text-altitude}{\FOtextaltitude}{} +% Specifies the "height" to be used for the ascent +% above the dominant baseline +\XMLnamespaceattributeX{fo}{text-depth}{\FOtextdepth}{} +% Specifies the "depth" to be used for the descent +% below the domiant baseline. +%auto | absolute | fixed | inherit +%\XMLnamespaceattributeX{fo}{absolute-position}{\FOabsoluteposition}{auto} +%link | visited | active | hover | focus +%\XMLnamespaceattributeX{fo}{active-state}{\FOactivestate}{} +%auto | <percentage> | <length> | inherit +\XMLnamespaceattributeX{fo}{alignment-adjust}{\FOalignmentadjust}{auto} +%yes | no +%\XMLnamespaceattributeX{fo}{auto-restore}{\FOautorestore}{\inherit} +%<angle> | [[ left-side | far-left | left +%| center-left | center | center-right | right | far-right | right-side +%] || behind ] | leftwards | rightwards | inherit +%\XMLnamespaceattributeX{fo}{azimuth}{\FOazimuth}{\inherit} +%[<background-color> || +%<background-image> +%|| <background-repeat> || <background-attachment> || <background-position> +%| ]]inherit +\XMLnamespaceattributeX{fo}{background}{\FObackground}{} +%scroll | fixed | inherit +%\XMLnamespaceattributeX{fo}{background-attachment}{\FObackgroundattachment}{scroll} +%<color> | transparent | inherit +\XMLnamespaceattribute{fo}{background-color}{\FObackgroundcolor}{transparent} +%<uri> | none | inherit +%\XMLnamespaceattributeX{fo}{background-image}{\FObackgroundimage}{none} +%[ [<percentage> | <length> ]{1,2} | +% [ [top | center | bottom] || [left | center | right] ] ] | inherit +%\XMLnamespaceattributeX{fo}{background-position}{\FObackgroundposition}{0\% 0\%} +%<percentage> | <length> | +%left | center | right | inherit +%\XMLnamespaceattributeX{fo}{background-position-horizontal}{\FObackgroundpositionhorizontal}{0\%} +%<percentage> | <length> | +%top | center | bottom | inherit +%\XMLnamespaceattributeX{fo}{background-position-vertical}{\FObackgroundpositionvertical}{0\%} +%repeat | repeat-x | repeat-y | no-repeat | inherit +%\XMLnamespaceattributeX{fo}{background-repeat}{\FObackgroundrepeat}{repeat} +%baseline | before-edge +%| text-before-edge | middle | after-edge +%| text-after-edge | ideographic | alphabetic | hanging | mathematical +%| inherit +%\XMLnamespaceattributeX{fo}{baseline-identifier}{\FObaselineidentifier}{} +%baseline | sub | super | <percentage> | <length> | inherit +\XMLnamespaceattributeX{fo}{baseline-shift}{\FObaselineshift}{baseline} +%blank | not-blank | any | inherit +\XMLnamespaceattributeX{fo}{blank-or-not-blank}{\FOblankornotblank}{any} +%auto | <length> | <percentage> | <length-range> | inherit +%\XMLnamespaceattributeX{fo}{block-progression-dimension}{\FOblockprogressiondimension}{auto} +%[ <border-width> || <border-style> || <color> ] | inherit +\XMLnamespaceattributeX{fo}{border}{\FOborder}{} +%<color> | inherit +\XMLnamespaceattribute{fo}{border-after-color}{\FOborderaftercolor}{\FOcolor} +%<border-style> | inherit +\XMLnamespaceattributeX{fo}{border-after-style}{\FOborderafterstyle}{none} +%<border-width> | <length-conditional> | inherit +\XMLnamespaceattribute{fo}{border-after-width}{\FOborderafterwidth}{medium} +%<color> | inherit +\XMLnamespaceattribute{fo}{border-before-color}{\FOborderbeforecolor}{\FOcolor} +%<border-style> | inherit +\XMLnamespaceattributeX{fo}{border-before-style}{\FOborderbeforestyle}{none} +%<border-width> | <length-conditional> | inherit +\XMLnamespaceattribute{fo}{border-before-width}{\FOborderbeforewidth}{medium} +\XMLnamespaceattributeX{fo}{border-collapse}{\FObordercollapse}{\inherit} +%<color>{1,4} | transparent | inherit +\XMLnamespaceattribute{fo}{border-color}{\FObordercolor}{black} +%<color> | inherit +\XMLnamespaceattribute{fo}{border-end-color}{\FOborderendcolor}{\FOcolor} +%<border-style> | inherit +\XMLnamespaceattributeX{fo}{border-end-style}{\FOborderendstyle}{none} +%<border-width> | inherit +\XMLnamespaceattributeX{fo}{border-end-width}{\FOborderendwidth}{medium} +\XMLnamespaceattributeX{fo}{border-separation}{\FOborderseparation}{\inherit} +%<length> <length>? | inherit +\XMLnamespaceattributeX{fo}{border-spacing}{\FOborderspacing}{\inherit} +%<color> | inherit +\XMLnamespaceattribute{fo}{border-start-color}{\FOborderstartcolor}{\FOcolor} +%<border-style> | inherit +\XMLnamespaceattributeX{fo}{border-start-style}{\FOborderstartstyle}{none} +%<border-width> | inherit +\XMLnamespaceattributeX{fo}{border-start-width}{\FOborderstartwidth}{medium} +%<border-style>{1,4} | inherit +\XMLnamespaceattributeX{fo}{border-style}{\FOborderstyle}{} +%<length> | <percentage> | auto | inherit +\XMLnamespaceattributeX{fo}{border-width}{\FOborderwidth}{} +\XMLnamespaceattributeX{fo}{border-bottom}{\FOborderbottom}{\LINK} +\XMLnamespaceattribute{fo}{border-bottom-color}{\FOborderbottomcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-bottom-style}{\FOborderbottomstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-bottom-width}{\FOborderbottomwidth}{\LINK} +\XMLnamespaceattributeX{fo}{border-left}{\FOborderleft}{\LINK} +\XMLnamespaceattribute{fo}{border-left-color}{\FOborderleftcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-left-style}{\FOborderleftstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-left-width}{\FOborderleftwidth}{\LINK} +\XMLnamespaceattributeX{fo}{border-right}{\FOborderright}{\LINK} +\XMLnamespaceattribute{fo}{border-right-color}{\FOborderrightcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-right-style}{\FOborderrightstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-right-width}{\FOborderrightwidth}{\LINK} +\XMLnamespaceattributeX{fo}{border-top}{\FObordertop}{\LINK} +\XMLnamespaceattribute{fo}{border-top-color}{\FObordertopcolor}{\LINK} +\XMLnamespaceattributeX{fo}{border-top-style}{\FObordertopstyle}{\LINK} +\XMLnamespaceattributeX{fo}{border-top-width}{\FObordertopwidth}{\LINK} + + +%<length> | <percentage> | auto | inherit +\XMLnamespaceattributeX{fo}{bottom}{\FObottom}{auto} +%auto | column | page | even-page | odd-page | inherit +\XMLnamespaceattributeX{fo}{break-after}{\FObreakafter}{auto} +%auto | column | page | even-page | odd-page | inherit +\XMLnamespaceattributeX{fo}{break-before}{\FObreakbefore}{auto} +%before | after | start | end | top | bottom | left | right | inherit +\XMLnamespaceattributeX{fo}{caption-side}{\FOcaptionside}{\inherit} +%<name> +\XMLnamespaceattributeX{fo}{case-name}{\FOcasename}{} +%<string> +\XMLnamespaceattributeX{fo}{case-title}{\FOcasetitle}{} +%<character> +\XMLnamespaceattribute{fo}{character}{\FOcharacter}{} +%start | end | left | right | both | none | inherit +\XMLnamespaceattributeX{fo}{clear}{\FOclear}{none} +%<shape> | auto | inherit +\XMLnamespaceattributeX{fo}{clip}{\FOclip}{auto} +%<color> | inherit +\XMLnamespaceattribute{fo}{color}{\FOcolor}{\inherit} +%<name> | inherit +\XMLnamespaceattributeX{fo}{color-profile-name}{\FOcolorprofilename}{} +%<number> | inherit +\XMLnamespaceattributeX{fo}{column-count}{\FOcolumncount}{1} +%<length> | <percentage> | inherit +\XMLnamespaceattributeX{fo}{column-gap}{\FOcolumngap}{12.0pt} +%<number> +\XMLnamespaceattributeX{fo}{column-number}{\FOcolumnnumber}{} +%<length> +\XMLnamespaceattribute{fo}{column-width}{\FOcolumnwidth}{} +%<string> | auto +%\XMLnamespaceattributeX{fo}{content-type}{\FOcontenttype}{auto} + +%none | <country> | inherit +\XMLnamespaceattributeX{fo}{country}{\FOcountry}{\inherit} +%<cue-before> || <cue-after> | inherit +%\XMLnamespaceattributeX{fo}{cue}{\FOcue}{} +%<uri> | none | inherit +%\XMLnamespaceattributeX{fo}{cue-after}{\FOcueafter}{none} +%<uri> | none | inherit +%\XMLnamespaceattributeX{fo}{cue-before}{\FOcuebefore}{none} +%<length> +%\XMLnamespaceattributeX{fo}{destination-placement-offset}{\FOdestinationplacementoffset}{\z@} +%ltr | rtl | inherit +\XMLnamespaceattributeX{fo}{direction}{\FOdirection}{\inherit} +%auto | before | center | after | inherit +\XMLnamespaceattributeX{fo}{display-align}{\FOdisplayalign}{\inherit} +%auto | autosense-script | no-change | reset-size +%| ideographic | alphabetic | hanging | mathematical | inherit +%\XMLnamespaceattributeX{fo}{dominant-baseline}{\FOdominantbaseline}{auto} +%<angle> | below | level | above | higher | lower | inherit +%\XMLnamespaceattributeX{fo}{elevation}{\FOelevation}{\inherit} +%show | hide | inherit +\XMLnamespaceattributeX{fo}{empty-cells}{\FOemptycells}{\inherit} +%<length> | inherit +\XMLnamespaceattribute{fo}{end-indent}{\FOendindent}{\inherit} +%yes | no +%\XMLnamespaceattributeX{fo}{ends-row}{\FOendsrow}{no} +%<length> | <percentage> | inherit +\XMLnamespaceattributeX{fo}{extent}{\FOextent}{0.0pt} +%<uri-reference> +\XMLnamespaceattributeX{fo}{external-destination}{\FOexternaldestination}{} +%before | start | end | left | right | none | inherit +\XMLnamespaceattributeX{fo}{float}{\FOfloat}{none} +%<name> +\XMLnamespaceattributeX{fo}{flow-name}{\FOflowname}{} +%[ [ <font-style> || <font-variant> +%|| <font-weight> ]? <font-size> [ / <line-height>]? <font-family> +%] | caption | icon | menu | message-box | small-caption | status-bar +%| inherit +\XMLnamespaceattributeX{fo}{font}{\FOfont}{\inherit} +%[[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>] | inherit +\XMLnamespaceattributeX{fo}{font-family}{\FOfontfamily}{\inherit} +%\XMLnamespaceattributeX{fo}{font-selection-strategy}{\FOselectionstrategy}{auto} +%<absolute-size> | <relative-size> | <length> | <percentage> | inherit +\XMLnamespaceattribute{fo}{font-size}{\FOfontsize}{\inherit} +%<number> | none | inherit +\XMLnamespaceattributeX{fo}{font-size-adjust}{\FOfontsizeadjust}{\inherit} +%normal | wider | narrower | ultra-condensed +% | extra-condensed | condensed | semi-condensed | semi-expanded | +% expanded | extra-expanded | ultra-expanded |inherit +\XMLnamespaceattributeX{fo}{font-stretch}{\FOfontstretch}{\inherit} +%normal | italic | oblique | backslant | inherit +\XMLnamespaceattributeX{fo}{font-style}{\FOfontstyle}{\inherit} +%normal | small-caps | inherit +\XMLnamespaceattributeX{fo}{font-variant}{\FOfontvariant}{\inherit} +%normal | bold | bolder | lighter | 100 | 200 +% | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit +\XMLnamespaceattributeX{fo}{font-weight}{\FOfontweight}{\inherit} +%auto | even | odd | end-on-even | end-on-odd | no-force | inherit +\XMLnamespaceattributeX{fo}{force-page-count}{\FOforcepagecount}{auto} +%<string> +\XMLnamespaceattributeX{fo}{format}{\FOformat}{\inherit} +%<angle> | inherit +%\XMLnamespaceattributeX{fo}{glyph-orientation-horizontal}{\FOglyphorientationhorizontal}{\inherit} +%auto | <angle> | inherit +%\XMLnamespaceattributeX{fo}{glyph-orientation-vertical}{\FOglyphorientationvertical}{\inherit} +%<character> +\XMLnamespaceattributeX{fo}{grouping-separator}{\FOgroupingseparator}{} +%<number> +%\XMLnamespaceattributeX{fo}{grouping-size}{\FOgroupingsize}{} +%<length> | <percentage> | auto | inherit +\XMLnamespaceattributeX{fo}{height}{\FOheight}{auto} +%false | true | inherit +\XMLnamespaceattributeX{fo}{hyphenate}{\FOhyphenate}{\inherit} +%<character> | inherit +\XMLnamespaceattributeX{fo}{hyphenation-character}{\FOhyphenationcharacter}{\inherit} +%auto | column | page | inherit +%\XMLnamespaceattributeX{fo}{hyphenation-keep}{\FOhyphenationkeep}{\inherit} +%no-limit | <number> | inherit +%\XMLnamespaceattributeX{fo}{hyphenation-ladder-count}{\FOhyphenationladdercount}{\inherit} +%<number> | inherit +\XMLnamespaceattributeX{fo}{hyphenation-push-character-count}{\FOhyphenationpushcharactercount}{\inherit} +%<number> | inherit +%\XMLnamespaceattributeX{fo}{hyphenation-remain-character-count}{\FOhyphenationremaincharactercount}{\inherit} +% <id> +\XMLnamespaceattributeX{fo}{id}{\FOid}{} +%yes | no +%\XMLnamespaceattributeX{fo}{indicate-destination}{\FOindicatedestination}{no} +%auto | auto-odd | auto-even | <number> | inherit +\XMLnamespaceattributeX{fo}{initial-page-number}{\FOinitialpagenumber}{auto} +%auto | <length> | <percentage> | <length-range> | inherit +%\XMLnamespaceattributeX{fo}{inline-progression-dimension}{\FOinlineprogressiondimension}{auto} +%null string | <idref> +\XMLnamespaceattributeX{fo}{internal-destination}{\FOinternaldestination}{} +%<keep> | inherit +\XMLnamespaceattributeX{fo}{keep-together}{\FOkeeptogether}{\inherit} +\XMLnamespaceattributeX{fo}{keep-together.within-line}{\FOkeeptogetherLine}{\inherit} +% since we dont support column keeps, use Page here (not) +\XMLnamespaceattributeX{fo}{keep-together.within-column}{\FOkeeptogetherColumn}{\inherit} +\XMLnamespaceattributeX{fo}{keep-together.within-page}{\FOkeeptogetherPage}{\inherit} +%<keep> | inherit +\XMLnamespaceattributeX{fo}{keep-with-next}{\FOkeepwithnext}{auto} +\XMLnamespaceattributeX{fo}{keep-with-next.within-line}{\FOkeepwithnextLine}{auto} +\XMLnamespaceattributeX{fo}{keep-with-next.within-column}{\FOkeepwithnextColumn}{auto} +\XMLnamespaceattributeX{fo}{keep-with-next.within-page}{\FOkeepwithnextPage}{auto} +%<keep> | inherit +\XMLnamespaceattributeX{fo}{keep-with-previous}{\FOkeepwithprevious}{auto} +\XMLnamespaceattributeX{fo}{keep-with-previous.within-line}{\FOkeepwithpreviousLine}{auto} +\XMLnamespaceattributeX{fo}{keep-with-previous.within-column}{\FOkeepwithpreviousColumn}{auto} +\XMLnamespaceattributeX{fo}{keep-with-previous.within-page}{\FOkeepwithpreviousPage}{auto} +%none | <language> | inherit +\XMLnamespaceattributeX{fo}{language}{\FOlanguage}{\inherit} +%<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} +%space | rule | dots | use-content | inherit + \XMLnamespaceattributeX{fo}{leader-pattern}{\FOleaderpattern}{\inherit} +%use-font-metrics | <length> | 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} +%normal | <length> | <space> | inherit +\XMLnamespaceattributeX{fo}{letter-spacing}{\FOletterspacing}{\inherit} +%auto | alphabetic | traditional +\XMLnamespaceattributeX{fo}{letter-value}{\FOlettervalue}{auto} +%ignore | preserve | treat-as-space | inherit +\XMLnamespaceattributeX{fo}{linefeed-treatment}{\FOlinefeedtreatment}{\inherit} +%normal | <length> | <number> | <percentage> | <space> | inherit +\XMLnamespaceattributeX{fo}{line-height}{\FOlineheight}{\inherit} +%consider-shifts | disregard-shifts | inherit +\XMLnamespaceattributeX{fo}{line-height-shift-adjustment}{\FOlineheightshiftadjustment}{\inherit} +%line-height | font-height | max-height | inherit +\XMLnamespaceattributeX{fo}{line-stacking-strategy}{\FOlinestackingstrategy}{\inherit} +%<margin-width>{1,4} | inherit +\XMLnamespaceattributeX{fo}{margin}{\FOmargin}{} +\XMLnamespaceattributeX{fo}{margin-left} {\FOmarginleft} {0pt} +\XMLnamespaceattributeX{fo}{margin-right} {\FOmarginright} {0pt} +\XMLnamespaceattributeX{fo}{margin-top} {\FOmargintop} {0pt} +\XMLnamespaceattributeX{fo}{margin-bottom} {\FOmarginbottom} {0pt} +%<name> +\XMLnamespaceattributeX{fo}{marker-class-name}{\FOmarkerclassname}{} +%<name> +\XMLnamespaceattributeX{fo}{master-reference}{\FOmasterreference}{} +\XMLnamespaceattributeX{fo}{master-name}{\FOmastername}{} +%<length> | <percentage> | none | inherit +\XMLnamespaceattributeX{fo}{max-height}{\FOmaxheight}{\z@} +%<number> | no-limit | inherit +\XMLnamespaceattributeX{fo}{maximum-repeats}{\FOmaximumrepeats}{no-limit} +%<length> | <percentage> | none | inherit +\XMLnamespaceattributeX{fo}{max-width}{\FOmaxwidth}{none} +%<length> | <percentage> | inherit +\XMLnamespaceattributeX{fo}{min-height}{\FOminheight}{\z@} +%<length> | <percentage> | inherit +\XMLnamespaceattributeX{fo}{min-width}{\FOminwidth}{} +%<number> +\XMLnamespaceattributeX{fo}{number-columns-repeated}{\FOnumbercolumnsrepeated}{1} +%<number> +\XMLnamespaceattributeX{fo}{number-columns-spanned}{\FOnumbercolumnsspanned}{1} +%<number> +\XMLnamespaceattributeX{fo}{number-rows-spanned}{\FOnumberrowsspanned}{1} +%odd | even | any | inherit +\XMLnamespaceattributeX{fo}{odd-or-even}{\FOoddoreven}{any} +%<integer> | inherit +\XMLnamespaceattributeX{fo}{orphans}{\FOorphans}{\inherit} +%visible | hidden | scroll | auto | inherit +\XMLnamespaceattributeX{fo}{overflow}{\FOoverflow}{auto} +%<padding-width>{1,4} | inherit +\XMLnamespaceattributeX{fo}{padding}{\FOpadding}{\z@} +%<padding-width> | <length-conditional> | inherit +\XMLnamespaceattributeX{fo}{padding-after}{\FOpaddingafter}{\z@} +%<padding-width> | <length-conditional> | inherit +\XMLnamespaceattributeX{fo}{padding-before}{\FOpaddingbefore}{\z@} +%<padding-width> | inherit +\XMLnamespaceattributeX{fo}{padding-bottom}{\FOpaddingbottom}{\z@} +%<padding-width> | inherit +\XMLnamespaceattributeX{fo}{padding-end}{\FOpaddingend}{\z@} +%<padding-width> | inherit +\XMLnamespaceattributeX{fo}{padding-left}{\FOpaddingleft}{\z@} +%<padding-width> | inherit +\XMLnamespaceattributeX{fo}{padding-right}{\FOpaddingright}{\z@} +%<padding-width> | inherit +\XMLnamespaceattributeX{fo}{padding-start}{\FOpaddingstart}{\z@} +%<padding-width> | inherit +\XMLnamespaceattributeX{fo}{padding-top}{\FOpaddingtop}{\z@} +%auto | always | avoid | left | right | inherit +\XMLnamespaceattributeX{fo}{page-break-after}{\FOpagebreakafter}{auto} +%auto | always | avoid | left | right | inherit +\XMLnamespaceattributeX{fo}{page-break-before}{\FOpagebreakbefore}{auto} +%auto | indefinite | <length> | inherit +\XMLnamespaceattribute{fo}{page-height}{\FOpageheight}{auto} +%first | last | rest | any | inherit +\XMLnamespaceattributeX{fo}{page-position}{\FOpageposition}{any} +%auto | indefinite | <length> | inherit +\XMLnamespaceattribute{fo}{page-width}{\FOpagewidth}{auto} +%[<time> | <percentage>]{1,2} | inherit +%\XMLnamespaceattributeX{fo}{pause}{\FOpause}{} +%<time> | <percentage> | inherit +%\XMLnamespaceattributeX{fo}{pause-after}{\FOpauseafter}{} +%<time> | <percentage> | inherit +%\XMLnamespaceattributeX{fo}{pause-before}{\FOpausebefore}{} +%<frequency> | x-low | low | medium | high | x-high | inherit +%\XMLnamespaceattributeX{fo}{pitch}{\FOpitch}{\inherit} +%<number> | inherit +%\XMLnamespaceattributeX{fo}{pitch-range}{\FOpitchrange}{\inherit} +%<uri> mix? repeat? | auto | none | inherit +%\XMLnamespaceattributeX{fo}{play-during}{\FOplayduring}{auto} +%static | relative | absolute | fixed | inherit +\XMLnamespaceattributeX{fo}{position}{\FOposition}{static} +%true | false | inherit +\XMLnamespaceattributeX{fo}{precedence}{\FOprecedence}{false} +%<length> | inherit +\XMLnamespaceattributeX{fo}{provisional-distance-between-starts}{\FOprovisionaldistancebetweenstarts}{\inherit} +%<length> | inherit +\XMLnamespaceattributeX{fo}{provisional-label-separation}{\FOprovisionallabelseparation}{\inherit} +% 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit +\XMLnamespaceattributeX{fo}{reference-orientation}{\FOreferenceorientation}{0} +%<idref> | inherit +%\XMLnamespaceattributeX{fo}{ref-id}{\FOrefid}{} +%xsl-region-body | xsl-region-start | xsl-region-end +%| xsl-region-before | xsl-region-after | xsl-before-float-separator +%| xsl-footnote-separator | <name> +\XMLnamespaceattributeX{fo}{region-name}{\FOregionname}{} +%before | baseline | inherit +\XMLnamespaceattributeX{fo}{relative-align}{\FOrelativealign}{\inherit} +%auto | static | relative | inherit +\XMLnamespaceattributeX{fo}{relative-position}{\FOrelativeposition}{static} +%auto | perceptual | relative-colorimetric | saturation | +% absolute-colorimetric | inherit +%\XMLnamespaceattributeX{fo}{rendering-intent}{\FOrenderingintent}{auto} +%page | page-sequence | document +%\XMLnamespaceattributeX{fo}{retrieve-boundary}{\FOretrieveboundary}{page-sequence} +%<name> +\XMLnamespaceattributeX{fo}{retrieve-class-name}{\FOretrieveclassname}{} +%first-starting-within-page | first-including-carryover | +% last-starting-within-page | last-ending-within-page +\XMLnamespaceattributeX{fo}{retrieve-position}{\FOretrieveposition}{first-starting-within-page} +%<number> | inherit +%\XMLnamespaceattributeX{fo}{richness}{\FOrichness}{\inherit} +%<length> | <percentage> | auto | inherit +\XMLnamespaceattributeX{fo}{right}{\FOright}{auto} +%<string> | none | inherit +\XMLnamespaceattributeX{fo}{role}{\FOrole}{none} +%none | dotted | dashed | solid | double | groove +% | ridge | inherit +\XMLnamespaceattributeX{fo}{rule-style}{\FOrulestyle}{\inherit} +%<length> +\XMLnamespaceattributeX{fo}{rule-thickness}{\FOrulethickness}{\inherit} +%uniform | non-uniform | inherit +\XMLnamespaceattributeX{fo}{scaling}{\FOscaling}{uniform} +%auto | integer-pixels | resample-any-method | inherit +\XMLnamespaceattributeX{fo}{scaling-method}{\FOscalingmethod}{auto} +%true | false | inherit +\XMLnamespaceattributeX{fo}{score-spaces}{\FOscorespaces}{\inherit} +%none | auto | <script> | inherit +\XMLnamespaceattributeX{fo}{script}{\FOscript}{\inherit} +%replace | new +\XMLnamespaceattributeX{fo}{show-destination}{\FOshowdestination}{replace} +%<length>{1,2} | auto | landscape | portrait | inherit +\XMLnamespaceattributeX{fo}{size}{\FOsize}{auto} +%<uri>+ | none | inherit +%\XMLnamespaceattributeX{fo}{source-document}{\FOsourcedocument}{none} +%<space> | inherit +%\XMLnamespaceattributeX{fo}{space-after}{\FOspaceafter}{\z@} +%<space> | inherit +%\XMLnamespaceattributeX{fo}{space-before}{\FOspacebefore}{\z@} +%<space> | inherit +\XMLnamespaceattributeX{fo}{space-end}{\FOspaceend}{\z@} +%<space> | inherit +\XMLnamespaceattributeX{fo}{space-start}{\FOspacestart}{\z@} +%ignore | preserve | inherit +\XMLnamespaceattributeX{fo}{space-treatment}{\FOspacetreatment}{\inherit} +%none | all | inherit +\XMLnamespaceattributeX{fo}{span}{\FOspan}{none} +%normal | none | spell-out | inherit +%\XMLnamespaceattributeX{fo}{speak}{\FOspeak}{\inherit} +%once | always | inherit +%\XMLnamespaceattributeX{fo}{speak-header}{\FOspeakheader}{\inherit} +%digits | continuous | inherit +%\XMLnamespaceattributeX{fo}{speak-numeral}{\FOspeaknumeral}{\inherit} +%code | none | inherit +%\XMLnamespaceattributeX{fo}{speak-punctuation}{\FOspeakpunctuation}{\inherit} +%<number> | x-slow | slow | medium | fast +% | x-fast | faster | slower | inherit +%\XMLnamespaceattributeX{fo}{speech-rate}{\FOspeechrate}{\inherit} +% <uri> | inherit +\XMLnamespaceattributeX{fo}{src}{\FOsrc}{} +%<length> | inherit +\XMLnamespaceattribute{fo}{start-indent}{\FOstartindent}{\inherit} +%show | hide +\XMLnamespaceattributeX{fo}{starting-state}{\FOstartingstate}{show} +%yes | no +%\XMLnamespaceattributeX{fo}{starts-row}{\FOstartsrow}{no} +%<number> | inherit +%\XMLnamespaceattributeX{fo}{stress}{\FOstress}{\inherit} +%auto | suppress | retain | inherit +\XMLnamespaceattributeX{fo}{suppress-at-line-break}{\FOsuppressatlinebreak}{auto} +%xsl-preceding | xsl-following | xsl-any | <name>[ <name>]* +\XMLnamespaceattributeX{fo}{switch-to}{\FOswitchto}{xsl-any} +%auto | fixed | inherit +\XMLnamespaceattributeX{fo}{table-layout}{\FOtablelayout}{auto} +%yes | no +\XMLnamespaceattributeX{fo}{table-omit-footer-at-break}{\FOtableomitfooteratbreak}{no} +%yes | no +\XMLnamespaceattributeX{fo}{table-omit-header-at-break}{\FOtableomitheaderatbreak}{no} +%start | center | end | justify | inside | outside +% | left | right | <string> | inherit +\XMLnamespaceattributeX{fo}{text-align}{\FOtextalign}{\inherit} +%relative | start | center | end | justify | inside +% | outside | left | right | <string> | inherit +\XMLnamespaceattributeX{fo}{text-align-last}{\FOtextalignlast}{\inherit} +%none | [ [ underline | no-underline] || [ overline | no-overline ] +%|| [ line-through | no-line-through ] || [ blink | no-blink ] ]| inherit +\XMLnamespaceattributeX{fo}{text-decoration}{\FOtextdecoration}{none} +%<length> | <percentage> | inherit +\XMLnamespaceattributeX{fo}{text-indent}{\FOtextindent}{\inherit} +%none | [<color> || <length> <length> <length>? +%,]* [<color> || <length> <length> <length>?] | inherit +\XMLnamespaceattributeX{fo}{text-shadow}{\FOtextshadow}{none} +%capitalize | uppercase | lowercase | none | +\XMLnamespaceattributeX{fo}{text-transform}{\FOtexttransform}{\inherit} +%<length> | <percentage> | auto | inherit +\XMLnamespaceattributeX{fo}{top}{\FOtop}{auto} +%auto | yes | no | inherit +\XMLnamespaceattributeX{fo}{treat-as-word-space}{\FOtreataswordspace}{auto} +%normal | embed | bidi-override | inherit +\XMLnamespaceattributeX{fo}{unicode-bidi}{\FOunicodebidi}{normal} +%baseline | middle | sub | super | text-top | +%text-bottom | <percentage> | <length> | top | bottom | inherit +\XMLnamespaceattribute{fo}{vertical-align}{\FOverticalalign}{auto} +%visible | hidden | collapse | inherit +%\XMLnamespaceattributeX{fo}{visibility}{\FOvisibility}{visible} +%[[<specific-voice> | <generic-voice> +%],]* [<specific-voice> | <generic-voice> ] | inherit +%\XMLnamespaceattributeX{fo}{voice-family}{\FOvoicefamily}{\inherit} +%<number> | <percentage> | silent | x-soft +%| soft | medium | loud | x-loud | inherit +%\XMLnamespaceattributeX{fo}{volume}{\FOvolume}{\inherit} +%normal | pre | nowrap | inherit +\XMLnamespaceattributeX{fo}{white-space}{\FOwhitespace}{\inherit} +%false | true | inherit +\XMLnamespaceattributeX{fo}{white-space-collapse}{\FOwhitespacecollapse}{\inherit} +%<integer> | inherit +\XMLnamespaceattributeX{fo}{widows}{\FOwidows}{\inherit} +%<length> | <percentage> | auto | inherit +\XMLnamespaceattributeX{fo}{width}{\FOwidth}{auto} +%normal | <length> | <space> | inherit +\XMLnamespaceattributeX{fo}{word-spacing}{\FOwordspacing}{\inherit} +%no-wrap | wrap | inherit +\XMLnamespaceattributeX{fo}{wrap-option}{\FOwrapoption}{\inherit} +%lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit +\XMLnamespaceattributeX{fo}{writing-mode}{\FOwritingmode}{lr-tb} +%<country-language> | inherit +%\XMLnamespaceattributeX{fo}{xml:lang}{\FOxmllang}{\inherit} +%auto | <integer> | inherit +\XMLnamespaceattributeX{fo}{z-index}{\FOzindex}{auto} +%------------------------------- +\XMLnamespaceattributeX{fotex}{column-align}{\FOcolumnalign}{} + +% Added attribute which controls table-placement. +% It has the same syntax as LaTeX (e.g. !tbh) +% Since XMLTeX doesn't process well attributes from another namespace, +% I must use the workaround +% 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} +\XMLname{fo:table-row}{\FOTableRow} +\def\SpaceAttributes{ + \XMLattributeX{space-after.optimum}{\FOspaceafteroptimum}{\z@} + \XMLattributeX{space-after.maximum}{\FOspaceaftermaximum}{\z@} + \XMLattributeX{space-after.minimum}{\FOspaceafterminimum}{\z@} + \XMLattributeX{space-before.optimum}{\FOspacebeforeoptimum}{\z@} + \XMLattributeX{space-before.maximum}{\FOspacebeforemaximum}{\z@} + \XMLattributeX{space-before.minimum}{\FOspacebeforeminimum}{\z@} + \XMLattributeX{space-after}{\FOspaceafter}{} + \XMLattributeX{space-before}{\FOspacebefore}{} +} +\gdef\Defaultx@fontfamily{Times-Roman} +\gdef\FOheadindent{\z@} + \gdef\FOautorestore{no} + \gdef\FOazimuth{center} + \gdef\FObordercollapse{collapse} + \gdef\FOborderseparation{\z@} + \gdef\FOborderspacing{\z@} + \gdef\FOcaptionside{before} + \gdef\FOcolor{black} + \gdef\FOcountry{none} + \gdef\FOdirection{ltr} + \gdef\FOdisplayalign{auto} + \gdef\FOelevation{level} + \gdef\FOemptycells{show} + \gdef\FOendindent{\z@} + \gdef\FOfont{} + \gdef\FOfontfamily{Times-Roman} + \gdef\FOfontsizeadjust{none} + \gdef\FOfontsize{medium} + \gdef\FOfontstretch{normal} + \gdef\FOfontstyle{normal} + \gdef\FOfontvariant{normal} + \gdef\FOfontweight{normal} + \gdef\FOformat{1} + \gdef\FOglyphorientationhorizontal{0} + \gdef\FOglyphorientationvertical{auto} + \gdef\FOhyphenate{false} + \gdef\FOhyphenationcharacter{-} + \gdef\FOhyphenationkeep{none} + \gdef\FOhyphenationladdercount{no-limit} + \gdef\FOhyphenationpushcharactercount{2} + \gdef\FOhyphenationremaincharactercount{2} + \gdef\FOlanguage{none} + \gdef\FOlastlineendindent{\z@} + \gdef\FOleaderalignment{none} + \gdef\FOleaderlength{} + \gdef\FOleaderpattern{space} + \gdef\FOleaderpatternwidth{} + \gdef\FOletterspacing{normal} + \gdef\FOlinefeedtreatment{treat-as-space} + \gdef\FOlineheight{normal} + \gdef\FOlineheightshiftadjustment{consider-shifts} + \gdef\FOlinestackingstrategy{line-height} + \gdef\FOorphans{2} + \gdef\FOpagebreakinside{auto} + \gdef\FOpitch{medium} + \gdef\FOpitchrange{50} + \gdef\FOprovisionaldistancebetweenstarts{24.0pt} + \gdef\FOprovisionallabelseparation{6.0pt} + \gdef\FOrelativealign{before} + \gdef\FOrichness{50} + \gdef\FOrulestyle{solid} + \gdef\FOrulethickness{1.0pt} + \gdef\FOscorespaces{true} + \gdef\FOscript{auto} + \gdef\FOspacetreatment{preserve} +% \gdef\FOspeak{normal} +% \gdef\FOspeakheader{once} +% \gdef\FOspeaknumeral{continuous} +% \gdef\FOspeakpunctuation{none} +% \gdef\FOspeechrate{medium} + \gdef\FOstartindent{\z@} +% \gdef\FOstress{50} + \gdef\FOtextalign{start} + \gdef\FOtextalignlast{relative} + \gdef\FOtextindent{\z@} + \gdef\FOtexttransform{none} +% \gdef\FOvoicefamily{} + \gdef\FOvolume{medium} + \gdef\FOwhitespace{normal} + \gdef\FOwhitespacecollapse{true} + \gdef\FOwidows{2} + \gdef\FOwordspacing{normal} + \gdef\FOwrapoption{wrap} +%<margin-width> | inherit + \gdef\FOmarginbottom{\z@} +%<margin-width> | inherit +\gdef\FOmarginleft{\z@} +%<margin-width> | inherit +\gdef\FOmarginright{\z@} +%<margin-width> | inherit +\gdef\FOmargintop{} + +\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}} + + +\XMLelement{fotex:inlinemath} + {} + {\(} + {\)} + + +\XMLelement{fotex:equation} + {} + {\begin{equation}} + {\end{equation}} + + +\XMLelement{fotex:displaymath} + {} + {\begin{displaymath}} + {\end{displaymath}} + +\XMLelement{fotex:eqnarray} + {} + {\xmlgrab} + {\begin{gather*}#1\end{gather*}} + +\XMLelement{fotex:subeqn} + {} + {\xmlgrab} + {\ifx\FOid\@empty + \gdef\w@t{#1\nonumber\\} + \else +% needs the global version + \gdef\w@t{#1\label{\temp}\\} + \fi + \aftergroup\w@t} + +\XMLelement{fotex:bookmark} + { + \XMLattributeX{fotex-bookmark-level}{\FOTEXbookmarklevel}{0} + \XMLattributeX{fotex-bookmark-label}{\FOTEXbookmarklabel}{} + } + {\xmlgrab} + {\protectCS\FOTEXbookmarklabel + \let\ignorespaces\@empty + \pdfbookmark[\FOTEXbookmarklevel]{#1}{\FOTEXbookmarklabel}} + +\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 + \ifx\FObackgroundcolor\att@transparent + \ifx\FOborderstyle\att@solid + \FOBlockGrabtrue + \fi + \else + \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 +% 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 + % 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 + % 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}% + \fi + \fi + \fi + \w@t + \ifx\FOkeeptogether\att@always\samepage\fi + \ifx\FOkeeptogetherColumn\att@always\samepage\fi + \ifx\FOkeeptogetherPage\att@always\samepage\fi + %\usewhitespace\ignorespaces + } + {\ifx\FOkeeptogether\att@always\samepage\fi + \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} + {} + { + \ifx\FOverticalalign\att@auto + \let\FOverticalalign\FObaselineshift + \fi + \FO@character{\FOcharacter}} + {} + +\XMLelement{fo:external-graphic} + { +%auto | <length> | <percentage> | inherit +\XMLattributeX{content-height}{\FOcontentheight}{auto} +%auto | <length> | <percentage> | inherit +\XMLattributeX{content-width}{\FOcontentwidth}{auto} +} + { +{\utfeight@protect@chars\expandafter\FOfiletest\FOsrc\@empty\@empty\@empty\@empty\@empty\@empty\@empty\@}% +\ifx\FOwidth\att@auto + \ifx\FOheight\att@auto% + \relax% + \else% + \def\FOcontentheight{\FOheight}% + \def\FOcontentwidth{auto}% + \fi +\else + \def\FOcontentwidth{\FOwidth}% + \ifx\FOheight\att@auto% + \def\FOcontentheight{auto}% + \else% + \def\FOcontentheight{\FOheight}% + \fi +\fi +\ifx\FOcontentwidth\att@scaletofit + \setkeys{Gin}{width=\hsize}% +\else + \ifx\FOcontentwidth\att@auto\else\FOSetGWidth\fi +\fi +\ifx\FOcontentheight\att@scaletofit + \setkeys{Gin}{height=\vsize}% +\else + \ifx\FOcontentheight\att@auto\else\FOSetGHeight\fi +\fi +\def\aligntype{center} +\ifthenelse{\equal{\FOtextalign}{right}}{\def\aligntype{flushright}}{} +\ifthenelse{\equal{\FOtextalign}{left}}{\def\aligntype{flushleft}}{} +\def\Picscaled{\begin{\aligntype}\includegraphics{\FOsrcname}\end{\aligntype}} +\ifx\FOscaling\att@uniform\else\setkeys{Gin}{keepaspectratio=false}\fi +%\csname startQ@\FOtextalign\endcsname +\ifx\FOborderstyle\att@solid\fbox{\Picscaled}\else\Picscaled\fi +%\csname endQ@\FOtextalign\endcsname + } +{} + + +\XMLelement{fo:block-container} + {} + {} + {} + +\XMLelement{fo:float} + {\XMLattributeX{float}{\FOfloat}{float}} + {\ifx\FOfloat\att@none + \begin{figure}[!htp] + \else + \begin{figure} + \fi + \FOlabel} + {\end{figure}} + +\XMLelement{fo:flow} + {} + {\global\SimplePMRefs1\relax + \FOSetHyphenation + \ifnum\PrevNColumns>1\relax + \else + \clearpage + \fi + \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\@empty\pendingID\else + \@bsphack + \protected@write\@mainaux{}% + {\string\newlabel{\pendingID}{{}{\expandafter\FOgeneratePage\FOformat\@null}{}{}{}}}% + \@esphack + \hyper@@anchor{\pendingID}{\relax}% + \global\let\pendingID\@empty + \fi + + \DEBUG{^^JStart page sequence, using layout \CurrentPageMaster, at page \the\c@page}% + + \setaccordingtomaster + \xdef\PrevNColumns{\NColumns}% + \ForcePageSetuptrue + \ifnum\NColumns>1\relax + \nobeginmulticols{\NColumns}% + \fi +% \ifnum\NColumns>1\MulticolPendingtrue +% \begin{multicols}{\NColumns}\fi + } + { + \ForcePageSetupfalse + \ifnum\NColumns>1\relax + \noendmulticols + \else + \clearpage + \fi + \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 + \else + \ifx\ForcePage\att@endonodd + \ifodd\c@page\BlankPage\fi + \fi + \fi + \fi + } + +\XMLelement{fo:footnote-body} + {} + {} + {} + + +\XMLelement{fo:footnote} + {} + {\xmlgrab} + {\FOSaveFontSize\xmltextwochildren\FOplainfootmark\FOfoottext#1} + +\XMLelement{fo:page-number-citation} + {\XMLattributeX{ref-id}{\FOrefid}{}} + {} + {\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 + } + +\XMLelement{fo:wrapper} + {} + {\FOSetFont{wrapper}\FOlabel} + {} + +\XMLelement{fo:leader} + {} + { +\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 +\else + \hbox to \LeaderLength{\w@t}% +\fi + } + {} + +\catcode`\/\active + +\XMLelement{fo:basic-link} + { +\XMLattributeX{target-presentation-context}{\FOtargetpresentationcontext}{} +\XMLattributeX{target-processing-context}{\FOtargetprocessingcontext}{} +\XMLattributeX{target-stylesheet}{\FOtargetstylesheet}{} + } + {\xmlgrab} + { +\ifx\FOverticalalign\att@auto + \let\FOverticalalign\FObaselineshift +\fi +\begingroup +\utfeight@protect@chars\xdef\temp{\FOinternaldestination}% +\endgroup +\let\FOinternaldestination\temp +\begingroup +\utfeight@protect@chars\xdef\temp{\FOexternaldestination}% +\endgroup +\let\FOexternaldestination\temp + \ifx\FOindicatedestination\att@yes + \setkeys{Hyp}{pdfborder={0 0 1}} + \fi + \ifx\FOexternaldestination\@empty + \hyperlink{\FOinternaldestination}{\FO@inlinesequence{#1}}% + \let\FOinternaldestination\@empty + \else + \href{\FOexternaldestination}{#1} +% this breaks any real content in the link text +% \expandafter\@basiclink\relax#1//\@nil#1\@nil\FOexternaldestination\@nil% + \let\FOexternaldestination\@empty + \fi + } +\catcode`\/=12 + +\XMLelement{fo:inline-container} + {} + {} + {} + +\XMLelement{fo:list-block} + {\SpaceAttributes} + {\ifx\FOstartindent\att@bodystart + \let\FOstartindent\z@ + \fi + \ifx\FOendindent\att@labelend + \let\FOendindent\z@ + \fi + %\FOSetFont{normal}% + \advance\FOinList by 1\relax + %\ifnum\FOinList>1\relax\leavevmode\fi + \edef\This@LineWidth{\the\linewidth}% + \begin{list}{}{% + \itemindent=\FOstartindent + \PercentToDimen{\FOprovisionaldistancebetweenstarts}% + \leftmargin=\@tempdima\relax + \advance\leftmargin by \FOmarginleft + \rightmargin=\FOmarginright + \labelwidth=\@tempdima\relax + \advance\labelwidth by -\FOprovisionallabelseparation + \expandafter\csname List\FOtextalign\endcsname + \labelsep\FOprovisionallabelseparation + \itemsep\z@ + \parsep\z@ + \partopsep\z@ + \topsep\z@ + \parskip\z@ + \ifx\@empty\FOspacebefore + \@tempdima\FOspacebeforeoptimum + \advance\@tempdima by -\FOspacebeforeminimum + \@tempdimb\FOspacebeforeoptimum + \advance\@tempdimb by \FOspacebeforemaximum + \topsep\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima + \else + \topsep\FOspacebefore + \fi + }% + \edef\This@LineWidth{\the\linewidth}% + } + {\end{list}% + \global\linewidth\This@LineWidth\relax + \advance\FOinList by -1\relax +% \par + } + +\XMLelement{fo:list-item-body} + {} + {\ifx\FOstartindent\att@bodystart + \let\FOstartindent\z@ + \fi + \edef\This@FOListBlocks{\the\FOListBlocks}% + \FOListBodytrue\global\FOListBlocks0} + {\global\FOListBlocks\This@FOListBlocks\relax} + +\XMLelement{fo:list-item-label} + {} + {\xmlgrab} + {\ifx\FOstartindent\att@bodystart + \let\FOstartindent\z@ + \fi + \ifx\FOendindent\att@labelend + \let\FOendindent\z@ + \fi + \savebox{\ItemBox}{#1}\item[#1]\FOlabel} + +\XMLelement{fo:list-item} + {\SpaceAttributes} + {\FOSetHyphenation + \ifx\@empty\FOspacebefore + \@tempdima\FOspacebeforeoptimum + \advance\@tempdima by -\FOspacebeforeminimum + \@tempdimb\FOspacebeforeoptimum + \advance\@tempdimb by \FOspacebeforemaximum + \vskip\FOspacebeforeoptimum plus \@tempdimb minus \@tempdima + \else + \ifdim\FOspacebefore=0pt\relax\else\vskip\FOspacebefore\fi + \fi + \FOlabel} + {} + +\XMLelement{fo:page-number} + {} + {} + {\expandafter\FOgeneratePage\FOformat\@null} + + +\XMLelement{fo:page-sequence} + {} + {\let\CurrentPageMaster\FOmasterreference + \let\pendingID\FOid + \let\PageNumber\FOinitialpagenumber + \let\ForcePage\FOforcepagecount + \FOSetHyphenation + \LoadLanguage{\FOlanguage} + } + {} + +\XMLelement{fo:region-after} + {} + {\ifx\FOregionname\@empty + \def\FOregionname{xsl-region-after} + \fi + \DEBUG{ Link [\FOMaster:after] to \FOregionname} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname\FOMaster:after\endcsname{\FOregionname} + \expandafter\xdef\csname\FOMaster:after-extent\endcsname{\FOextent} + \endgroup + } + {} + + +\XMLelement{fo:region-before} + {} + {\ifx\FOregionname\@empty + \def\FOregionname{xsl-region-before} + \fi + \DEBUG{ Link [\FOMaster:before] to \FOregionname} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname\FOMaster:before\endcsname{\FOregionname} + \expandafter\xdef\csname\FOMaster:before-extent\endcsname{\FOextent} + \endgroup + } + {} + +\XMLelement{fo:region-body} + {} + { + \ifx\FOmargin\@empty\relax\else + \let\FOmarginright\FOmargin + \let\FOmarginleft\FOmargin + \let\FOmargintop\FOmargin + \let\FOmarginbottom\FOmargin + \fi + \xdef\InnerBottomMargin{\FOmarginbottom} + \xdef\InnerTopMargin{\FOmargintop} + \xdef\InnerLeftMargin{\FOmarginleft} + \xdef\InnerRightMargin{\FOmarginright} + \ifx\FOregionname\@empty + \def\FOregionname{xsl-region-body} + \fi + \DEBUG{ Set up [\FOMaster:\FOregionname] body content: \FOcolumngap|\FOcolumncount|\FOmarginbottom|\FOmargintop|} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname\FOMaster:\FOregionname\endcsname{\FOcolumngap|\FOcolumncount|\FOmarginbottom|\FOmargintop|} + \endgroup + } + {} + +\XMLelement{fo:static-content} + {} + {\xmlgrab} + {\protectCS\FOflowname + \FOSetStatic{#1}{\FOflowname}} + +\XMLelement{fo:table-and-caption} + {} + { + \global\ColSpecs={}\NCols0 + \TableWidth\linewidth + \advance\TableWidth by -\tabcolsep + \advance\TableWidth by -\FOmarginleft + \advance\TableWidth by -\FOmarginright + \gdef\TableHeader{} + \NoTableSetup + \ifx\XML@parent\FOInlineContainer + \ifnum\FOreferenceorientation=0 + \FOlabel + \else + \begin{sidewaystable}\FOlabel + \fi + \else + \ifnum\FOreferenceorientation=0 +% We process FOkplacement atribute to override the placement of the table. + \ifx\FOkplacement\@empty + \begin{table}[!htbp]\FOlabel + \else + \edef\ktable{\noexpand\begin{table}[\FOkplacement]} + \ktable\FOlabel + \fi + \else + \begin{sidewaystable}\FOlabel + \fi + \fi + } + {\ifx\XML@parent\FOInlineContainer + \ifnum\FOreferenceorientation=0 + \else + \end{sidewaystable} + \fi + \else + \ifnum\FOreferenceorientation=0 + \end{table} + \else + \end{sidewaystable} + \fi + \fi + \NoTableFinish + } + +\XMLelement{fo:table-body} + { } + { + \FOFirstCelltrue + \FOinTable1 + \saveinterlineskip + \expandafter\NoTableStart{\TableHeader}% + } +{ + \ifnum\NCols<1 + \typeout{Table end of no cols defined} + \fi + \NoTableEnd +} + + +\XMLelement{fo:table-caption} + {} + {} + {\par} + +\XMLelement{fo:table-cell} + { + \XMLattributeX{ends-row}{\FOendsrow}{false} + \XMLattributeX{starts-row}{\FOstartsrow}{false} + } + {\xmlgrab} + {\FOlabel + \FOexpandattributes + \FOinTable2 + \NoTableCell{#1}} + + +\XMLelement{fo:table-column} + { + \XMLattributeX{text-align}{\FOtextalign}{\inherit} + } + { + \@tempcnta0 + \loop\ifnum\FOnumbercolumnsrepeated>\@tempcnta + \advance\@tempcnta by 1 + {\NoTableColumn}% + \repeat + } + {} + +\XMLelement{fo:table-header} + {} + {\xmlgrab} + {\gdef\TableHeader{#1}} + +\XMLelement{fo:table-row} + {} + {\xmlgrab} + {\NoTableRow{#1}} + +\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} + {} + {\xmlgrab} + { + %\usewhitespace\ignorespaces + \ifx\FOverticalalign\att@auto + \let\FOverticalalign\FObaselineshift + \fi + \FOlabel + \ifx\FOborderstyle\att@solid + \interpretwidth + \FOboxedsequence{#1}% + \else + \FO@inlinesequence{#1}% + \fi} + +\XMLelement{fo:bidi-override} + {} + {\xmlgrab} + {\typeout{fo:bidi-override NOT IMPLEMENTED}} + +\XMLelement{fo:color-profile} + {} + {\xmlgrab} + {\typeout{fo:color-profile NOT IMPLEMENTED}} + +\XMLelement{fo:declarations} + {} + {\xmlgrab} + {\typeout{fo:declarations NOT IMPLEMENTED}} + +\XMLelement{fo:initial-property-set} + {} + {\xmlgrab} + {\typeout{fo:initial-property-set NOT IMPLEMENTED}} + +\XMLelement{fo:instream-foreign-object} + {} + {\xmlgrab} + {\typeout{fo:instream-foreign-object NOT IMPLEMENTED}} + +\XMLelement{fo:marker} + {} + {\xmlgrab} + {\toks@{}% + \expandafter\FOaddmarker\FOmarks\relax{}% + \toks@\expandafter{\the\expandafter\toks@\expandafter{\FOmarkerclassname}{#1}}% + \xdef\FOmarks{\the\toks@}% + \mark{\FOmarks}} + +\XMLelement{fo:retrieve-marker} + {} + {\xmlgrab} + {\begingroup + \utfeight@protect@chars +\ifx\FOretrieveposition\att@first@starting@within@page + \xdef\FOthismark{\firstmark}% +\else + \ifx\FOretrieveposition\att@last@starting@within@page + \xdef\FOthismark{\botmark}% + \else + \xdef\FOthismark{\firstmark}% + \fi +\fi + \xdef\FOthisretrieveclassname{\FOretrieveclassname} + \endgroup + \expandafter\FOgetmarker\FOthismark\relax\relax} + +\XMLelement{fo:multi-case} + {} + {\xmlgrab} + {\typeout{fo:multi-case NOT IMPLEMENTED}} + +\XMLelement{fo:multi-properties} + {} + {\xmlgrab} + {\typeout{fo:multi-properties NOT IMPLEMENTED}} + +\XMLelement{fo:multi-property-set} + {} + {\xmlgrab} + {\typeout{fo:multi-property-set NOT IMPLEMENTED}} + +\XMLelement{fo:multi-switch} + {} + {\xmlgrab} + {\typeout{fo:multi-switch NOT IMPLEMENTED}} + +\XMLelement{fo:multi-toggle} + {} + {\xmlgrab} + {\typeout{fo:multi-toggle NOT IMPLEMENTED}} + +\XMLelement{fo:region-end} + {} + {\xmlgrab} + {\typeout{fo:region-end NOT IMPLEMENTED}} + +\XMLelement{fo:region-start} + {} + {\xmlgrab} + {\typeout{fo:region-start NOT IMPLEMENTED}} + +\XMLelement{fo:table-footer} + {} + {\xmlgrab} + {\typeout{fo:table-footer NOT IMPLEMENTED}} + + +\XMLelement{fo:layout-master-set} + {} + {\DEBUG{Start defining page masters}} + {\DEBUG{Finish defining page masters}} + +\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)} + \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} + \endgroup + } + {} + +\XMLelement{fo:repeatable-page-master-reference} + {} + {\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} + \endgroup + } + {} + + +\XMLelement{fo:repeatable-page-master-alternatives} + {} + { + \DEBUG{ (complex page layout with alternatives)} + } + {} + + +\XMLelement{fo:conditional-page-master-reference} + {} + { + \ifx\FOoddoreven\att@even + \DEBUG{ Even page for \Granpa: \FOmasterreference} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname Even:\Granpa\endcsname{\FOmasterreference} + \endgroup + \else + \ifx\FOoddoreven\att@odd + \DEBUG{ Odd page for \Granpa: \FOmasterreference} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} + \endgroup + \else + \ifx\FOpageposition\att@first + \DEBUG{ First page for \Granpa: \FOmasterreference} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname First:\Granpa\endcsname{\FOmasterreference} + \endgroup + \else + \ifx\FOblankornotblank\att@blank + \DEBUG{ Blank page for \Granpa: \FOmasterreference} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname Blank:\Granpa\endcsname{\FOmasterreference} + \endgroup + \else + \DEBUG{ Default page for \Granpa: \FOmasterreference} + \begingroup + \utfeight@protect@chars + \expandafter\xdef\csname Odd:\Granpa\endcsname{\FOmasterreference} + \endgroup + \fi + \fi + \fi + \fi + } + {} + + + +\XMLelement{fo:simple-page-master} + {} + {\let\FOMaster\FOmastername + \ifx\FOmargin\@empty\relax\else + \let\FOmarginright\FOmargin + \let\FOmarginleft\FOmargin + \let\FOmargintop\FOmargin + \let\FOmarginbottom\FOmargin + \fi + \ifx\FOpagewidth\att@auto\edef\FOpagewidth{\paperwidth}\fi + \ifx\FOpageheight\att@auto\edef\FOpageheight{\paperheight}\fi + \expandafter\xdef\csname\FOMaster:after\endcsname{DummyRegion} + \expandafter\xdef\csname\FOMaster:before\endcsname{DummyRegion} + \expandafter\xdef\csname\FOMaster:before-extent\endcsname{\FOextent} + \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 + \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 + \paperwidth\FOpagewidth + \paperheight\FOpageheight + } + \endgroup + } +\endinput + +%%% white space hacking to try at some point +\ignorewhitespace +in the code for fo:root +and +\usewhitespace\ignorespaces +(to turn on white space, except for any white space at the start of the +element) at the end of any elements that take character data. + +definitions something like' +\def\ignorewhitespace{ + \UnicodeCharacter{13}{ \ignorespaces} + \UnicodeCharacter{32}{ \ignorespaces} + \UnicodeCharacter{9}{ \ignorespaces} +} +\def\usewhitespace{ + \UnicodeCharacter{13}{} + \UnicodeCharacter{32}{} + \UnicodeCharacter{9}{} +} + |