\def\filedate{1997/05/05} \def\fileversion{0.32} \def\docdate {1997/03/09} % % \iffalse % File: jadetex.dtx Copyright (C) 1996,1997 % Sebastian Rahtz % % Permission is hereby granted, free of charge, to any person obtaining % a copy of this software and 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. % % THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS % OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF % MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. % IN NO EVENT SHALL SEBASTIAN RAHTZ BE LIABLE FOR ANY CLAIM, DAMAGES OR % OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, % ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR % OTHER DEALINGS IN THE SOFTWARE. % %<*driver> \documentclass{ltxdoc} \usepackage{times,array,longtable,colortbl} \makeatletter \def\arraybackslash{\let\\=\@arraycr} \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} \makeatother \EnableCrossrefs \CodelineIndex \begin{document} \title{JADE DSSSL \TeX{} backend macros.\thanks{This file has version number \fileversion, last revised \filedate.}} \author{Sebastian Rahtz\\Email: \texttt{s.rahtz@elsevier.co.uk}} \date{\filedate} \maketitle \tableofcontents \DocInput{jadetex.dtx} \end{document} % % \fi % \CheckSum{1983} % \section{Introduction} % Developed from the skeleton by David Megginson % (\texttt{dmeggins@microstar.com}), who maintains Jade's % \texttt{TeXFOTBuilder} module. % % This file can either be loaded before the Jade output % or (better) made into a format file for fast loading; it % sits on top of \LaTeX, so do: % \begin{verbatim} % initex \&latex jadetex.ltx '\dump' % \end{verbatim} % If you really want speed and memory, % prepare a even more cut down \LaTeX with unneeded chunks cut out. % (such as the picture environment, cross-referencing etc). Be careful % and be legal, please. % % We build on \LaTeX, but do not need a lot of the paraphernalia % of the document classes, so we just load the \texttt{minimal} class, % designed for this purpose. We also need access to % input and output font encoding, color, graphics inclusion, and % headers and footers; so we load some standard packages. The % \texttt{inputenc} option is temporary, and needs more thought. % Eventually we want Unicode input working, with Omega. %<*package> % \begin{macrocode} \documentclass[]{minimal} \RequirePackage{graphics,color} \RequirePackage[dsssl]{inputenc} \RequirePackage[T1]{fontenc} \RequirePackage{fancyhdr} \RequirePackage{textcomp} \makeatletter % \end{macrocode} % \section{Inherited characteristics} % Here we list the default values; non-inherited characteristics % will always be specified. % \begin{macrocode} \def\AlignLeader{} \def\AsisWrapIndent{} \def\BackgroundColor{} \def\BackgroundLayer{} \def\BackgroundTile{} \def\BorderAlignment{} \def\BorderOmitAtBreak{} \def\BorderPresent{} \def\BorderPriority{} \def\BoxBorderAlignment{} \def\BoxCornerRadius{} \def\BoxOpenEnd{} \def\BoxType{} \def\CellBackground{} \def\CellCrossed{} \def\CellRowAlignment{} \def\Color{} \def\Country{} \def\DisplayAlignment{} \def\EndIndent{\z@} \def\EndMargin{} \def\ExpandTabs{} \def\FieldAlign{start} \def\FieldWidth{0pt} \def\FillingDirection{} \def\FirstLineStartIndent{0pt} \def\FloatOutLineNumbers{} \def\FloatOutMarginalia{} \def\FloatOutSidelines{} \def\FontFamilyName{Times Roman} \def\FontName{ptm} % Use Adobe Times Roman by default \def\FontPosture{normal} \def\FontProportionateWidth{medium} \def\FontSize{10pt} \def\FontStructure{} \def\FontWeight{medium} \def\GlyphAlignmentMode{} \def\GlyphReorderMethod{} \def\GlyphSubstMethod{} \def\HangingPunct{} \def\Hyphenate{} \def\HyphenationKeep{} \def\HyphenationLadderCount{} \def\HyphenationMethod{} \def\HyphenationPushCharCount{} \def\HyphenationRemainCharCount{} \def\IgnoreRecordEnd{} \def\ImplicitBidiMethod{} \def\InhibitLineBreaks{} \def\InputWhitespaceTreatment{} \def\JustifyGlyphSpaceMaxAdd{} \def\JustifyGlyphSpaceMaxRemove{} \def\KernMode{} \def\Kern{} \def\Language{} \def\LastLineEndIndent{} \def\LastLineJustifyLimit{} \def\LastLineQuadding{} \def\Layer{} \def\Ligature{} \def\LineBreakingMethod{} \def\LineCap{} \def\LineCompositionMethod{} \def\LineJoin{} \def\LineNumberSep{} \def\LineNumberSide{} \def\LineRepeat{} \def\LineSpacing{12pt} \def\Lines{} \def\MarginaliaKeepWithPrevious{} \def\MarginaliaSep{} \def\MarginaliaSide{} \def\MathDisplayMode{inline} \def\MinLeaderRepeat{} \def\NumberedLines{} \def\OrphanCount{} \def\PositionPreference{} \def\PrincipalModeSimultaneous{} \def\Quadding{} \def\ScoreSpaces{} \def\SidelineSep{} \def\SidelineSide{} \def\SpanWeak{} \def\Span{} \def\StartIndent{\z@} \def\StartMargin{} \def\TableAutoWidthMethod{} \def\TableCornerRadius{} \def\TablePartOmitMiddleFooter{} \def\TablePartOmitMiddleHeader{} \def\TruncateLeader{} \def\WidowCount{} \def\WritingMode{} \def\AlignLeader{1}% true \def\BreakAfter{0}% false \def\BreakAfterPriority{0}% \def\BreakBefore{0}% false \def\BreakBeforePriority{0}% \def\CoalesceId{0}% false \def\EntitySystemId{}% [required] \def\EscapementDirection{}% [=writing-mode] \def\IdrefAddress{}% \def\IsDisplay{0}% false \def\Keep{0}% false \def\KeepWithNext{0}% false \def\KeepWithPrevious{0}% false \def\MayViolateKeepAfter{0}% false \def\MayViolateKeepBefore{0}% false \def\NotationSystemId{}% [required] \def\Orientation{}% [required] \def\PositionPointShift{\z@} \def\PositionPointShiftFactor{} \def\PositionPointX{}% ?? \def\PositionPointY{}% ?? \def\PositionPreference{0}% false \def\ScaleType{}% maxuniform =scale \def\ScaleX{}% [n/a] =scale \def\ScaleY{}% [n/a] =scale \def\ScoreLength{}% ?? \def\ScoreType{}% [required] =type \def\SpaceAfterConditional{0}% false =space-after \def\SpaceAfterForce{0}% false =space-after \def\SpaceAfterMax{0pt}% =space-after \def\SpaceAfterMaxFactor{0}% =space-after \def\SpaceAfterMin{0pt}% =space-after \def\SpaceAfterMinFactor{0}% =space-after \def\SpaceAfterNominal{0pt}% =space-after \def\SpaceAfterNominalFactor{0}% =space-after \def\SpaceAfterPriority{0}% =space-after \def\SpaceBeforeConditional{0}% false \def\SpaceBeforeForce{0}% false \def\SpaceBeforeMax{0pt}% \def\SpaceBeforeMaxFactor{0}% \def\SpaceBeforeMin{0pt}% \def\SpaceBeforeMinFactor{0}% \def\SpaceBeforeNominal{0pt}% \def\SpaceBeforeNominalFactor{0}% \def\SpaceBeforePriority{0}% \newdimen\CurrentSpaceNominal \newdimen\CurrentSpaceMin \newdimen\CurrentSpaceMax \CurrentSpaceNominal0pt \CurrentSpaceMax0pt \CurrentSpaceMin0pt \newdimen\LastSpaceNominal \newdimen\LastSpaceMin \newdimen\LastSpaceMax \LastSpaceNominal0pt \LastSpaceMax0pt \LastSpaceMin0pt \def\LastSpaceConditional{0}% false \def\LastSpaceForce{0}% false \def\LastSpaceMaxFactor{0}% \def\LastSpaceMinFactor{0}% \def\LastSpaceNominalFactor{0}% \def\LastSpacePriority{0}% \def\TruncateLeader{0}% false \def\Width{}% [required] * \def\Length{}% [context] \def\MaxHeight{}% [contextual] \def\MaxWidth{}% [contextual] \def\TableWidth{\hsize}% \def\ColumnIndex{}% [contextual] =column-number? \def\HeaderMargin{0pt} \def\FooterMargin{0pt} \def\LeftMargin{0pt} \def\RightMargin{0pt} \def\TopMargin{0pt} \def\BottomMargin{0pt} \def\PageWidth{211mm} \def\PageHeight{297mm} \edef\OldFontSize{\FontSize} \edef\OldLineSpacing{\LineSpacing} \edef\OldFontPosture{\FontPosture} \edef\OldFontProportionateWidth{\FontProportionateWidth} \edef\OldFontWeight{\FontWeight} \edef\OldFontFamilyName{\FontFamilyName} \let\ColorRed\@empty \let\Label\@empty \let\ElementIndex\@empty \def\startNode#1{% \ifx\\#1\\\else \let\ProcessingMode\@empty #1% \ifx\ProcessingMode\@empty\else \let\Label\@empty\let\ElementIndex\@empty \fi % \typeout{Node <\Label> or <\ElementIndex> -- pending at \the\inputlineno}% \fi } \def\endNode{% \let\Label\@empty \let\ElementIndex\@empty } \def\PageLabel#1{% \@bsphack\protected@write\@auxout{}% {\string\pagelabel{#1}{\thepage}}\@esphack} \def\pagelabel#1#2{\global\@namedef{p@#1}{#2}} \def\Pageref#1{\expandafter\@Setref\csname p@#1\endcsname{#1}} \def\@Setref#1#2{% \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{Reference `#2' on page \thepage \space undefined}% \else\hyper@@link[Page]{}{page.#1}{#1}\fi} % \def\insertCurrentNodePageNumber#1{% \bgroup \SetupICs{#1}% \InlineNIC \ifx\Label\@empty \Pageref{\ElementIndex}% \else \Pageref{\Label}% \fi \endInlineNIC \endSetupICs \egroup } % \end{macrocode} %\section{Atomic flow objects} % \begin{macrocode} \def\insertAlignmentPoint#1{} % \end{macrocode} % \subsection{Maths} % \subsubsection{General math sequences} % \begin{macrocode} \def\@display{display} % \end{macrocode} % We are likely to meet nested math sequences, so maintain a counter % to determine if we are at the outer level, and should turn % math (display or inline) off or on. % \begin{macrocode} \newcount\Mathcount \def\startMathSequence#1{% \bgroup \SetupICs{#1}% \startFO \global\advance\Mathcount by 1% \let\Action\relax \ifnum\Mathcount=1 \ifx\MathDisplayMode\@display\let\Action\Dmath\else\let\Action\Imath\fi \fi \Action } \def\endMathSequence{% \global\advance\Mathcount by -1% \let\Action\relax \ifnum\Mathcount=0 \ifx\MathDisplayMode\@display\let\Action\endDmath\else\let\Action\Imath\fi \fi \Action \endSetupICs \egroup } \def\Dmath{\vskip\MinLeading$\displaystyle } \def\endDmath{$\vskip\MinLeading} \def\Imath{$} \def\Cleanmath{\def\startNode##1{}\def\endNode##1{}% \def\startMathSequence##1{}\def\endMathSequence##1{}} % \end{macrocode} % \subsubsection{Fences} % \begin{macrocode} \newcount\Fencecount \Fencecount0 \newsavebox{\fencebox} \def\startFenceSerial#1#2\startFenceOpen#3#4\endFenceOpen#5\startFenceClose#6#7\endFenceClose#8\endFenceSerial{#1\startFO% % % #1: fence characteristics % #2: fence contents % #3,#4: open characteristics, open character % #6,#7: close characteristics, close character % \global\advance\Fencecount by 1 \begingroup \Cleanmath %\typeout{Fence level \the\Fencecount #4 and #7}% \ifx\\#4\\\left.\else\left#4\fi #2% \ifx\\#7\\\right.\else\right#7\fi \endgroup \global\advance\Fencecount by -1 } % \end{macrocode} % \subsubsection{Fractions} % These simply translate into |{Numerator \over Denominator}| % \begin{macrocode} \def\startFractionSerial#1{#1\startFO\bgroup} \def\endFractionSerial{\egroup} \def\startFractionDenominator{} \def\endFractionDenominator{} \def\startFractionNumerator{} \def\endFractionNumerator{\over } \def\insertFractionBar{} % \end{macrocode} % \subsubsection{Marks} % Waiting to be implemented. % \begin{macrocode} \def\startMarkOver#1#2\endMarkOver{} \def\startMarkUnder#1#2\endMarkUnder{} \def\startMarkSerial#1{} \def\endMarkSerial{} % \end{macrocode} % \subsubsection{Operators/limits} % \begin{macrocode} \def\startMathOperatorSerial#1{#1\startFO} \def\endMathOperatorSerial{} \def\startMathOperatorOperator#1#2\endMathOperatorOperator{#1% \mathop{#2}} \def\startMathOperatorLowerLimit#1{#1_\bgroup\Cleanmath} \def\endMathOperatorLowerLimit{\egroup} \def\startMathOperatorUpperLimit#1{#1^\bgroup\Cleanmath} \def\endMathOperatorUpperLimit{\egroup} % \end{macrocode} % \subsubsection{Radicals} % This only works for square roots at present. % \begin{macrocode} \def\startRadicalSerial#1\insertRadicalRadicalDefaulted#2#3\startRadicalDegree#4#5\endRadicalDegree#6\endRadicalSerial{#1\startFO% \ifx\\#5\\\\ensuremath{sqrt{#3}}\else\ensuremath{\root #5 \of {#3}}\fi} % \end{macrocode} % \subsubsection{Grids} % \begin{macrocode} \newcount\GridCells \newcount\GridRows \def\startGrid#1{#1% \startFO \GridCells0\GridRows0 \begin{array}{*{\NColumns}{c}}% } \def\endGrid{\end{array}% } \def\startGridCell#1{#1\startFO \global\advance\GridCells by 1 \ifnum\GridCells>\NColumns\global\GridCells1\\ \fi } \def\endGridCell{% \ifnum\GridCells<\NColumns\let\Action\NewColumn\else\let\Action\relax\fi \Action } \def\NewColumn{&} %\typeout{Grid Column \the\GridCells, of \NColumns} % \end{macrocode} % \subsubsection{Superscript, subscript} % \begin{macrocode} \def\startSubscript#1#2\endSubscript{#1_{#2}} \def\startSuperscript#1#2\endSuperscript{#1^{#2}} % \end{macrocode} % \subsubsection{Unmath} % \begin{macrocode} \def\startUnmath#1#2\endUnmath{% {\SetupICs{#1}\mbox{#2}\endSetupICs}% } % \end{macrocode} % \subsection{External Graphic flow object class (clause 12.6.15)} % \begin{macrocode} \def\insertExternalGraphic#1{#1% \ExternalGraphicNIC \ifcase\IsDisplay\or\par\fi \expandafter\IncludeGraphic\EntitySystemId\\% \ifcase\IsDisplay\or\par\fi \endExternalGraphicNIC } \def\IncludeGraphic{\@ifnextchar<{\@IncludeGraphic}{\@IncludeGraphic<>}} \def\@IncludeGraphic<#1>#2\\{\includegraphics{#2}} \def\insertPageNumber#1{#1\arabic{page}} \def\insertParagraphBreak#1{\par} % \def\horizontal{horizontal} \def\LineThickness{1pt} \def\insertRule#1{\bgroup \par \SetupICs{#1}% \RuleNIC \ifx\Orientation\horizontal \hrule \ifx\Length\@empty\else width \Length \fi height \LineThickness \relax \else \hrule width \LineThickness \ifx\Length\@empty\else height \Length \fi \relax \fi \par \endRuleNIC \endSetupICs \egroup } % \end{macrocode} % \subsection{Tables} % \begin{macrocode} \def\insertTableAfterColumnBorder#1{#1} \def\insertTableAfterRowBorder#1{#1} \def\insertTableBeforeColumnBorder#1{#1} \def\insertTableBeforeRowBorder#1{#1} \def\insertTableCellAfterColumnBorder#1{#1} \def\insertTableCellAfterRowBorder#1{#1} \def\insertTableCellBeforeColumnBorder#1{#1} \def\insertTableCellBeforeRowBorder#1{#1} \def\insertTableColumn#1{#1} % \end{macrocode} % \section{Non-atomic flow objects} % \subsection{Box flow object class} % \begin{macrocode} \def\startBox#1#2\endBox{#1\fbox{#2}} % \end{macrocode} % \subsection{Display group flow object class (clause 12.6.2)} % \begin{macrocode} \def\fps@float{tbp} \def\ftype@float{1} \newcounter{infloat} % \stepcounter{infloat}% % \ifnum\value{infloat}>1\else % %\@float{float} % \fi % \addtocounter{infloat}{-1}% % \ifnum\value{infloat}=0 % %\end@float{float} % \fi \def\startDisplayGroup#1{#1% \DisplayGroupNIC \ifnum\Mathcount>0\relax\else\par\fi \startFO% } \def\endDisplayGroup{% \ifnum\Mathcount>0\relax\else \par \fi \endDisplayGroupNIC } % \end{macrocode} % \subsection{Leader flow object class} % \begin{macrocode} \newsavebox{\leaderbox} \def\startLeader#1{#1\begin{LRbox}{\dssslbox}} \def\endLeader{\end{LRbox}\leaders\box\dssslbox\hfill} % \end{macrocode} % \subsection{Line Field flow object class} % Field align can be \emph{start}, \emph{end}, or \emph{center}. % \begin{macrocode} \newsavebox\dssslbox \def\LRbox#1{% \edef\reserved@a{% \endgroup \setbox#1\hbox{% \begingroup\aftergroup}% \def\noexpand\@currenvir{\@currenvir}}% \reserved@a \@endpefalse \color@setgroup\ignorespaces } \def\endLRbox{\color@endgroup} \def\startLineField#1{\bgroup \SetupICs{#1}% \LineFieldNIC \startFO% \begin{LRbox}{\dssslbox}% } \def\endLineField{% \end{LRbox}% \makebox[\FieldWidth][\csname Fld@\FieldAlign\endcsname]{% \usebox{\dssslbox}% \EndSetFont}% \endLineFieldNIC \endSetupICs \egroup } % % \end{macrocode} % \subsection{Link flow object class (clause 12.6.28.3)} % \begin{macrocode} \def\startLink#1{\begingroup\SetupICs{#1} %\ifx\Label\@empty\let\Label\ElementIndex\fi \hyper@linkstart{\Label}% } \def\endLink{\hyper@linkend\endSetupICs\endgroup} % \end{macrocode} % \subsection{Marginalia flow object class (clause 12.6.28.4)} % \begin{macrocode} \def\startMarginalia#1{#1\startFO} \def\endMarginalia{} % \end{macrocode} % \subsection{Paragraph flow object class (clause 12.6.6)} %\begin{longtable}{|P{.2\textwidth}|l|P{.25\textwidth}|l|l|} %\hline %\itshape %Characteristic& %\itshape Inh.&\itshape Values&\itshape Default&\itshape Dsssl-o\\ %\hline %\endhead %\hline %\endfoot %lines&I&wrap, asis, asis-wrap*, asis-truncate*, none&wrap&Partial\\ %\rowcolor{yellow} %asis-truncate-char&I&\#f, \emph{char object}& &Ignore\\ %asis-wrap-char&I&\#f, \emph{char object}& &Ignore\\ %\rowcolor{yellow} %asis-wrap-indent&I&\emph{length-spec}& &Ignore\\ %first-line-align&I&\#f, \emph{char object}& &Ignore\\ %\rowcolor{yellow} %alignment-point-offset&I&\#f, \emph{number between 0 and 100}& &Ignore\\ %ignore-record-end?&I&\#f, \#t&\#f&Standard\\ %\rowcolor{yellow} %expand-tabs?&I&\#f, \emph{integer greater than zero}&8&Standard\\ %line-spacing&I&\emph{length-spec}&12pt&Standard\\ %\rowcolor{yellow} %line-spacing-priority&I&force, \emph{integer}&0&Default\\ %min-pre-line-spacing&I&\#f, \emph{length-spec}&\#f&Default\\ %\rowcolor{yellow} %min-post-line-spacing&I&\#f, \emph{length-spec}&\#f&Default\\ %min-leading&I&\#f, \emph{length-spec}&\#f&Standard\\ %\rowcolor{yellow} %first-line-start-indent&I&\emph{length-spec}&0m&Standard\\ %last-line-end-indent&I&\emph{length-spec}&0m&Default\\ %\rowcolor{yellow} %hyphenation-char&I&\emph{character}& &Ignore\\ %hyphenation-method&I&\#f, \emph{public identifier}&\#f&Default\\ %\rowcolor{yellow} %hyphenation-ladder-count&I&\#f, \emph{integer greater than zero}&\#f&Default\\ %hyphenation-remain-char-count&I&\emph{positive integer}&2&Ignore\\ %\rowcolor{yellow} %hyphenation-push-char-count&I&\emph{positive integer}&2&Ignore\\ %hyphenation-keep&I&\#f, spread, page, column&\#f&Default\\ %\rowcolor{yellow} %hyphenation-exceptions&I&\emph{list of strings}&empty list&Default\\ %line-breaking-method&I&\#f, \emph{public identifier}&\#f&Default\\ %\rowcolor{yellow} %line-composition-method&I&\#f, \emph{public identifier}&\#f&Default\\ %implicit-bidi-method&I&\#f, \emph{public identifier}& &Default\\ %\rowcolor{yellow} %glyph-alignment-mode&I&base, center, top, bottom, font&font&Default\\ %font-family-name&I&\#f, \emph{string}&iso-serif&Standard\\ %\rowcolor{yellow} %font-weight&I&\#f, not-applicable*, ultra-light*, extra-light*, light, semi-light*, medium, semi-bold*, bold, extra-bold*, ultra-bold*&medium&Partial\\ %font-posture&I&\#f, not-applicable*, upright, oblique, back-slanted-oblique*, italic, back-slanted-italic*&upright&Partial\\ %\rowcolor{yellow} %font-structure&I&\#f, not-applicable, solid, outline&solid&Default\\ %font-proportionate-width&I&\#f, not-applicable*, ultra-condensed*, extra-condensed*, condensed, semi-condensed*, medium, semi-expanded*, expanded, extra-expanded*, ultra-expanded*&medium&Partial\\ %\rowcolor{yellow} %font-name&I&\#f, \emph{public identifier}& &Standard\\ %font-size&I&\emph{length}&10pt&Standard\\ %\rowcolor{yellow} %numbered-lines?&I&\#f, \#t&\#t&Ignore\\ %line-number&I&\#f, \emph{unlabeled sosofo}& &Ignore\\ %\rowcolor{yellow} %line-number-side&I&start, end, spread-inside, spread-outside, page-inside, page-outside& &Ignore\\ %line-number-sep&I&\emph{length-spec}& &Ignore\\ %\rowcolor{yellow} %quadding&I&start, end, spread-inside*, spread-outside*, page-inside*, page-outside*, center, justify*&start&Partial\\ %last-line-quadding&I&relative, start, end, spread-inside, spread-outside, page-inside, page-outside, center, justify&relative&Default\\ %\rowcolor{yellow} %last-line-justify-limit&I&\emph{length-spec}&0&Ignore\\ %justify-glyph-space-max-add&I&\emph{length-spec}&0m&Ignore\\ %\rowcolor{yellow} %justify-glyph-space-max-remove&I&\emph{length-spec}&0m&Ignore\\ %hanging-punct?&I&\#f, \#t&\#f&Default\\ %\rowcolor{yellow} %widow-count&I&\emph{positive integer}&2&Default\\ %orphan-count&I&\emph{positive integer}&2&Default\\ %\rowcolor{yellow} %language&I&\#f, \emph{ISO 639 language code}&\#f&Standard\\ %country&I&\#f, \emph{ISO 3166 country code}&\#f&Standard\\ %\rowcolor{yellow} %position-preference&N&\#f, top, bottom&\#f&Ignore\\ %writing-mode&I&left-to-right, right-to-left, top-to-bottom&left-to-right&Default\\ %\rowcolor{yellow} %start-indent&I&\emph{length-spec}&0m&Standard\\ %end-indent&I&\emph{length-spec}&0m&Standard\\ %\rowcolor{yellow} %span&I&\emph{integer greater than zero}&1&Default\\ %span-weak?&I&\#f, \#t&\#f&Default\\ %\rowcolor{yellow} %space-before&N&\emph{display space}&no space before &Standard\\ %space-after&N&\emph{display space}&no space after &Standard\\ %\rowcolor{yellow} %keep-with-previous?&N&\#f, \#t&\#f&Standard\\ %keep-with-next?&N&\#f, \#t&\#f&Standard\\ %\rowcolor{yellow} %break-before&N&\#f, page, page-region*, column*, column-set*&\#f&Partial\\ %break-after&N&\#f, page, page-region*, column*, column-set*&\#f&Partial\\ %\rowcolor{yellow} %keep&N&\#f, page, column-set*, column*, \#t*&\#f&Partial\\ %may-violate-keep-before?&N&\#f, \#t&\#f&Default\\ %\rowcolor{yellow} %may-violate-keep-after?&N&\#f, \#t&\#f&Default\\ %\end{longtable} % \begin{macrocode} \newif\ifPlainMode \PlainModetrue \def\startParagraph#1{% \ifPlainMode\begingroup\fi \SetupICs{#1}% \ifPlainMode \ParagraphNIC\fi \startFO } \def\endParagraph{% \par \ifPlainMode \endParagraphNIC\fi \endSetupICs \ifPlainMode\endgroup\else\\\fi } % \end{macrocode} % \subsection{Score flow object class (clause 12.6.17)} % \begin{macrocode} \def\startScore#1{#1} \def\endScore{} % \end{macrocode} % \subsection{Scroll flow object class (clause 12.6.28.1)} % \begin{macrocode} \def\startScroll{\startSimplePageSequence} \def\endScroll{\endSimplePageSequence} % \end{macrocode} % \subsection{Sequence flow object class (clause 12.6.1)} % \begin{macrocode} \newdimen\CurPosShift\CurPosShift\z@ \newif\if@Raised \def\startSequence#1{% \ifPlainMode\begingroup\fi \SetupICs{#1}% \startFO \@Raisedfalse \ifdim\PositionPointShift=\CurPosShift \else \@tempdima\PositionPointShift \ifdim\PositionPointShift>\CurPosShift \advance\@tempdima by -\CurPosShift \else \advance\@tempdima by \CurPosShift \fi \CurPosShift\PositionPointShift \@Raisedtrue \fi \if@Raised\leavevmode\raise\@tempdima\hbox\bgroup\fi } \def\endSequence{% \if@Raised\egroup\fi \EndSetFont \endSetupICs \ifPlainMode\endgroup\fi } % \end{macrocode} % \subsection{Side Line flow object class} % \begin{macrocode} \def\startSideLine#1{#1} \def\endSideLine{} % \end{macrocode} % \subsection{Simple Page Sequence flow object class (clause 12.6.3)} % Look out for the canonical 1in margins! % \begin{macrocode} \def\startSimplePageSequence#1{#1% \headsep\HeaderMargin \footskip\FooterMargin \oddsidemargin\LeftMargin \evensidemargin\LeftMargin \topmargin\TopMargin \def\headheight{12pt} \paperwidth\PageWidth \paperheight\PageHeight \ifx\pdfimage\@undefined \else \global\pdfpagewidth\paperwidth \global\pdfpageheight\paperheight \fi \textheight\paperheight \textwidth\paperwidth \advance\textheight by -\TopMargin \advance\textheight by -\HeaderMargin \advance\textheight by -\BottomMargin \advance\textheight by -\FooterMargin \advance\textwidth by -\LeftMargin \advance\textwidth by -\RightMargin \DisplayNIC \let\pageFontSize\FontSize \let\pageLineSpacing\LineSpacing \let\pageFontPosture\FontPosture \let\pageFontProportionateWidth\FontProportionateWidth \let\pageFontWeight\FontWeight \let\pageFontFamilyName\FontFamilyName \newpage } \def\endSimplePageSequence{% \endDisplayNIC \newpage } % \end{macrocode} % \subsection{Headers and footers} % \begin{macrocode} \def\SimplePageSequenceCenterFooter#1{\Setfoot[C]{#1}} \def\SimplePageSequenceCenterHeader#1{\Sethead[C]{#1}} \def\SimplePageSequenceLeftFooter#1{\Setfoot[L]{#1}} \def\SimplePageSequenceLeftHeader#1{\Sethead[L]{#1}} \def\SimplePageSequenceRightFooter#1{\Setfoot[R]{#1}} \def\SimplePageSequenceRightHeader#1{\Sethead[R]{#1}} % \def\SimplePageSequenceFirstBackCenterFooter#1{\Setfoot[C]{#1}} \def\SimplePageSequenceFirstBackCenterHeader#1{\Sethead[C]{#1}} \def\SimplePageSequenceFirstBackLeftFooter#1{\Setfoot[L]{#1}} \def\SimplePageSequenceFirstBackLeftHeader#1{\Sethead[L]{#1}} \def\SimplePageSequenceFirstBackRightFooter#1{\Setfoot[R]{#1}} \def\SimplePageSequenceFirstBackRightHeader#1{\Sethead[R]{#1}} \def\SimplePageSequenceFirstFrontCenterFooter#1{\Setfoot[C]{#1}} \def\SimplePageSequenceFirstFrontCenterHeader#1{\Sethead[C]{#1}} \def\SimplePageSequenceFirstFrontLeftFooter#1{\Setfoot[L]{#1}} \def\SimplePageSequenceFirstFrontLeftHeader#1{\Sethead[L]{#1}} \def\SimplePageSequenceFirstFrontRightFooter#1{\Setfoot[R]{#1}} \def\SimplePageSequenceFirstFrontRightHeader#1{\Sethead[R]{#1}} % \def\SimplePageSequenceOtherBackCenterFooter#1{\Setfoot[CE]{#1}} \def\SimplePageSequenceOtherBackLeftFooter#1{\Setfoot[LE]{#1}} \def\SimplePageSequenceOtherBackRightFooter#1{\Setfoot[RE]{#1}} \def\SimplePageSequenceOtherBackRightHeader#1{\Sethead[RE]{#1}} \def\SimplePageSequenceOtherBackCenterHeader#1{\Sethead[CE]{#1}} \def\SimplePageSequenceOtherBackLeftHeader#1{\Sethead[LE]{#1}} % \def\SimplePageSequenceOtherFrontCenterFooter#1{\Setfoot[CO]{#1}} \def\SimplePageSequenceOtherFrontLeftFooter#1{\Setfoot[LO]{#1}} \def\SimplePageSequenceOtherFrontRightFooter#1{\Setfoot[RO]{#1}} \def\SimplePageSequenceOtherFrontRightHeader#1{\Sethead[RO]{#1}} \def\SimplePageSequenceOtherFrontCenterHeader#1{\Sethead[CO]{#1}} \def\SimplePageSequenceOtherFrontLeftHeader#1{\Sethead[LO]{#1}} \def\Sethead[#1]#2{\ifx\\#2\\\relax\else \fancyhead[#1]{\setnormal#2}\fi} \def\Setfoot[#1]#2{\ifx\\#2\\\relax\else \fancyfoot[#1]{\setnormal#2}\fi} % \end{macrocode} % \subsection{Table flow object class} % For the present, until we learn to count columns, set them all % to left aligned, and have more than we usually need. This % is going to be very hard to get right. % \begin{macrocode} \def\@full{full} \def\startTable#1{#1% \ifx\TableWidth\@full\def\TableWidth{\hsize}\fi \TableNIC \startFO \global\PlainModefalse \tabskip 1em plus.5em minus .5em \halign to \TableWidth\bgroup ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil& ##\hfil\cr } \def\endTable{% \cr \egroup \global\PlainModetrue \endTableNIC } % \end{macrocode} % \subsection{Table Cell flow object class} % \begin{macrocode} \def\startTableCell#1#2\endTableCell{% \TableCellNIC\startFO#2&\endTableCellNIC } % \end{macrocode} % \subsection{Table Part flow object class} % \begin{macrocode} \def\startTablePart#1{#1\startFO} \def\endTablePart{} % \end{macrocode} % \subsection{Table Row flow object class} % \begin{macrocode} \def\startTableRow#1{#1} \def\endTableRow{\cr} % \end{macrocode} % \subsection{Character mapping} % \begin{macrocode} \def\insertCharacter#1{#1% \expandafter\ifx\csname Ch@\Ch\endcsname\relax <\Ch>\typeout{Warning: Unknown character \Ch, at \the\inputlineno}% \else\csname Ch@\Ch\endcsname\fi } % \end{macrocode} %\section{Auxiliary macros} % |\startFO| should be called at the beginning of every object % that can be meaningfully labelled. Its this that creates an anchor, % not the |\startNode|, to avoid duplicates and wastage. % \begin{macrocode} \def\startFO{% %\ifx\Label\@empty\let\Label\ElementIndex\fi \ifx\Label\@empty\else \@ifundefined{x@\Label}{% % \typeout{Node <\Label> defined at line \the\inputlineno}% \bgroup \hyper@anchorstart{\Label}\hyper@anchorend \PageLabel{\Label}% \egroup \expandafter\let\csname x@\Label\endcsname\@empty \let\Label\@empty \let\ElementIndex\@empty }{}% \fi } % \end{macrocode} %\subsection{DisplayNIC} % \begin{macrocode} \def\@force{force} \newdimen\LastDisplaySpace \newcount\DisplayStack \newcount\LastDisplayStack \let\savedSpaceBeforeMin\SpaceBeforeMin \let\savedSpaceBeforeMax\SpaceBeforeMax \let\savedSpaceBeforeNominal\SpaceBeforeNominal \let\savedSpaceBeforePriority\SpaceBeforePriority \DisplayStack0 \LastDisplayStack-1 \def\DisplayNIC{% \advance\DisplayStack by 1 \ifnum\DisplayStack>\LastDisplayStack \def\SpaceBeforePriority{force}% \def\LastSpaceBeforePriority{0}% \else \vskip-\lastskip \fi \let\savedSpaceAfterMin\SpaceAfterMin \let\savedSpaceAfterMax\SpaceAfterMax \let\savedSpaceAfterNominal\SpaceAfterNominal \let\savedSpaceAfterPriority\SpaceAfterPriority % \begingroup \ifx\BreakBefore\relax\else \csname Break@\BreakBefore\endcsname \fi \CurrentSpaceMin=\SpaceBeforeMin \CurrentSpaceNominal=\SpaceBeforeNominal \CurrentSpaceMax=\SpaceBeforeMax % \edef\CurrentSpacePriority{\SpaceBeforePriority}% % \end{macrocode} % See if either display space priority is set to `force'; % if so, use that set of values; % if both priorities are `force', add values together % \begin{macrocode} \ifx\SpaceBeforePriority\@force \ifx\LastSpacePriority\@force \advance\CurrentSpaceMin by \LastSpaceMin \advance\CurrentSpaceNominal by \LastSpaceNominal \advance\CurrentSpaceMin by \LastSpaceMax \fi \else \ifx\LastSpacePriority\@force \CurrentSpaceMin=\LastSpaceMin \CurrentSpaceNominal=\LastSpaceNominal \CurrentSpaceMax=\LastSpaceMax % \end{macrocode} % See if the priority of either set is higher, if so use that % \begin{macrocode} \else \ifnum\CurrentSpacePriority>\LastSpacePriority \relax \else \ifnum\LastSpacePriority>\CurrentSpacePriority \CurrentSpaceMin=\LastSpaceMin \CurrentSpaceNominal=\LastSpaceNominal \CurrentSpaceMax=\LastSpaceMax \else % \end{macrocode} % So the priorities are equal; take the one with the larger nominal % \begin{macrocode} \ifdim\CurrentSpaceNominal>\LastSpaceNominal \relax \else \ifdim\LastSpaceNominal>\CurrentSpaceNominal \CurrentSpaceMin=\LastSpaceMin \CurrentSpaceNominal=\LastSpaceNominal \CurrentSpaceMax=\LastSpaceMax \else % \end{macrocode} % Dang, the nominals are equal. Take the larger minimum, and smaller % maximum % \begin{macrocode} \ifdim\LastSpaceMax<\CurrentSpaceMax \CurrentSpaceMax\LastSpaceMax \fi \ifdim\LastSpaceMin>\CurrentSpaceMin \CurrentSpaceMin\LastSpaceMin \fi \fi \fi \fi \fi \fi \fi \@tempdima\CurrentSpaceNominal \advance\@tempdima by -\CurrentSpaceMin \@tempdimb\CurrentSpaceNominal \advance\@tempdimb by -\CurrentSpaceMax \vskip \CurrentSpaceNominal plus \@tempdimb minus \@tempdima %\typeout{[\the\CurrentSpaceNominal, % \the\@tempdima, \the\@tempdimb], at \the\inputlineno}% \rightskip\EndIndent \leftskip\StartIndent \ifx\Quadding\@empty\relax \else\csname Q@\Quadding\endcsname\fi \ifx\Lines\@empty\relax \else\csname Lines@\Lines\endcsname\fi \ifx\FirstLineStartIndent\@empty\relax \else\parindent\FirstLineStartIndent\fi \ifx\InputWhitespaceTreatment\@empty\relax \else\csname White@\InputWhitespaceTreatment\endcsname\fi \let\Keep\relax \let\BreakBefore\relax \let\BreakAfter\relax \let\KeepWithPrevious\relax \let\MayViolateKeepBefore\relax \let\MayViolateKeepAfter\relax \def\SpaceBeforeMin{\z@}% \def\SpaceBeforeMax{\z@}% \def\SpaceBeforeNominal{\z@}% \def\SpaceBeforePriority{0}% \def\SpaceAfterMin{\z@}% \def\SpaceAfterMax{\z@}% \def\SpaceAfterNominal{\z@}% \def\SpaceAfterPriority{0}% } \def\endDisplayNIC{% \ifnum\KeepWithNext=1\nobreak\fi \endgroup \global\LastSpaceNominal=\savedSpaceAfterNominal \global\LastSpaceMax=\savedSpaceAfterMax \global\LastSpaceMin=\savedSpaceAfterMin \global\edef\LastSpacePriority{\savedSpaceAfterPriority}% \@tempdima\savedSpaceAfterNominal \advance\@tempdima by -\savedSpaceAfterMin \@tempdimb\savedSpaceAfterNominal \advance\@tempdimb by -\savedSpaceAfterMax \vskip \savedSpaceAfterNominal plus \@tempdimb minus \@tempdima \global\LastDisplayStack=\DisplayStack \advance\DisplayStack by -1 } % \end{macrocode} %\subsection{InlineNIC} % \begin{macrocode} \def\InlineNIC{% \begingroup } \def\endInlineNIC{% \let\BreakBeforePriority\relax \let\BreakAfterPriority\relax \endgroup } % \end{macrocode} %\subsection{Other NIC setups} % \begin{macrocode} \def\DisplayGroupNIC{% \DisplayNIC } \def\endDisplayGroupNIC{% \endDisplayNIC } \def\ExternalGraphicNIC{% \DisplayNIC \InlineNIC } \def\endExternalGraphicNIC{% \endInlineNIC \endDisplayNIC } \def\BoxNIC{% \DisplayNIC \InlineNIC } \def\endBoxNIC{% \endInlineNIC \endDisplayNIC } \def\ExternalGraphicNIC{% \DisplayNIC \InlineNIC } \def\endExternalGraphicNIC{% \endInlineNIC \endDisplayNIC } \def\BoxNIC{% \DisplayNIC \InlineNIC } \def\endBoxNIC{% \endInlineNIC \endDisplayNIC } \def\RuleNIC{% \DisplayNIC \InlineNIC } \def\endRuleNIC{% \endInlineNIC \endDisplayNIC } \def\LeaderNIC{% \InlineNIC } \def\LeaderNIC{% \InlineNIC } \def\TableNIC{% \DisplayNIC } \def\endTableNIC{% \endDisplayNIC } \def\TableColumnNIC{} \def\endTableColumnNIC{} \def\TableCellNIC{} \def\endTableCellNIC{} \def\GridNIC{} \def\endGridNIC{} \def\GridCellNIC{} \def\endGridCellNIC{} \let\ParagraphNIC\DisplayNIC \let\LineFieldNIC\InlineNIC \let\endParagraphNIC\endDisplayNIC \let\endLineFieldNIC\endInlineNIC % \end{macrocode} %\subsection{Inherited characteristics} % \begin{macrocode} \newif\ifNeedsSelect \def\SetupICs#1{#1% \let\current@f@series\f@series \let\current@f@shape\f@shape \let\current@f@family\f@family \let\current@f@size\f@size \edef\LaTeXshape{\csname Width@\FontProportionateWidth\endcsname \csname Weight@\FontWeight\endcsname}% \ifx\LaTeXshape\@empty\def\LaTeXshape{m}\fi \fontseries{\LaTeXshape}% \fontshape{\csname Posture@\FontPosture\endcsname}% \fontfamily{% \expandafter\ifx\csname Family@\FontFamilyName\endcsname\relax \csname Family@\DefaultFontFamilyName\endcsname \else \csname Family@\FontFamilyName\endcsname \fi }% \fontsize{\FontSize}{\LineSpacing}% \NeedsSelecttrue \ifx\f@size\current@f@size\relax\NeedsSelectfalse\fi \ifx\f@family\current@f@family\relax\NeedsSelectfalse\fi \ifx\f@shape\current@f@shape\relax\NeedsSelectfalse\fi \ifx\f@series\current@f@series\relax\NeedsSelectfalse\fi %\ifNeedsSelect \selectfont %\fi \ifx\ColorRed\@empty\relax\else \RGBColor{\ColorRed}{\ColorGreen}{\ColorBlue}% \fi } \def\endSetupICs{} \def\RGBColor#1#2#3{% \c@lor@RGB@rgb{#1}\@tempa \c@lor@RGB@rgb{#2}\@tempb \c@lor@RGB@rgb{#3}\@tempc % \typeout{Set Color \@tempa, \@tempb, \@tempc}% \color[rgb]{\@tempa, \@tempb, \@tempc}% } \def\c@lor@RGB@rgb#1#2{% \dimen@#1\p@ \divide\dimen@\@cclv \edef#2{\strip@pt\dimen@}} \def\EndSetFont{% \ifx\csname\FontPosture Over\endcsname\relax \relax\else\csname\FontPosture Over\endcsname\fi } % \DeclareFontFamily{T1}{pzd}{} \DeclareFontShape{T1}{pzd}{m}{n}{<->pzdr}{} % \def\DefaultFontFamilyName{unknown} \def\Family@unknown{} \def\Family@Arial{phv} \def\Family@Wingdings{pzd} \def\Family@Helvetica{phv} \def\Family@Palatino{ppl} \def\Family@Bookman{pbk} \def\Family@Courier{pcr} \def\Family@LucidaSans{hls} \def\Family@LucidaBright{hlc} \def\Family@ComputerModern{cmr} \def\Family@Courier{pcr} \expandafter\def\csname Family@Avant Garde\endcsname{pag} \expandafter\def\csname Family@New Century Schoolbook\endcsname{pnc} \expandafter\def\csname Family@Times Roman\endcsname{ptm} \expandafter\def\csname Family@Times New Roman\endcsname{ptm} \expandafter\def\csname Family@Courier New\endcsname{pcr} \expandafter\def\csname Family@Gill Sans\endcsname{pgs} \expandafter\def\csname Family@iso-serif\endcsname{ptm} \expandafter\def\csname Family@iso-sanserif\endcsname{phv} \expandafter\def\csname Family@iso-monocase\endcsname{pcr} \def\Family@dctt{dctt} % \def\Posture@upright{n} \def\Posture@normal{n} \def\Posture@math{it} \def\Posture@oblique{sl} \expandafter\def\csname Posture@back-slanted-oblique\endcsname{ui} \def\Posture@italic{it} \expandafter\def\csname Posture@back-slanted-italic\endcsname{ui} % \expandafter\def\csname Weight@ultra-light\endcsname{ul} \expandafter\def\csname Weight@extra-light\endcsname{el} \def\Weight@light{l} \expandafter\def\csname Weight@semi-light\endcsname{sl} \def\Weight@medium{} \expandafter\def\csname Weight@semi-bold\endcsname{sb} \def\Weight@bold{b} \expandafter\def\csname Weight@extra-bold\endcsname{eb} \expandafter\def\csname Weight@ultra-bold\endcsname{ub} \expandafter\def\csname Weight@false\endcsname{} % \expandafter\def\csname Width@ultra-condensed\endcsname{uc} \expandafter\def\csname Width@extra-condensed\endcsname{ec} \expandafter\def\csname Width@condensed\endcsname{c} \expandafter\def\csname Width@semi-condensed\endcsname{sc} \expandafter\def\csname Width@medium\endcsname{} \expandafter\def\csname Width@semi-expanded\endcsname{sx} \expandafter\def\csname Width@expanded\endcsname{x} \expandafter\def\csname Width@extra-expanded\endcsname{ex} \expandafter\def\csname Width@ultra-expanded\endcsname{ux} % \expandafter\def\csname italic Over\endcsname{\@@italiccorr} % \def\Q@justify{} \def\Q@start{} \def\Q@center{% \let\\\@centercr \rightskip\EndIndent plus 1fil% \leftskip\StartIndent plus 1fil% \parfillskip\z@skip\parindent\z@ } \def\Q@pageoutside{% \let\\\@centercr \leftskip\StartIndent plus 1fil% \rightskip\EndIndent \parfillskip\z@skip } \def\Q@pageinside{% \let\\\@centercr \rightskip\EndIndent plus 1fil% \leftskip\StartIndent \parfillskip\z@skip } \def\JObeylines{% \@tempswafalse \def\par{% \if@tempswa \leavevmode \null \@@par\penalty\interlinepenalty \else \@tempswatrue \ifhmode\@@par\penalty\interlinepenalty\fi \fi}% \obeylines\everypar \expandafter{\the\everypar \unpenalty}% } \newif\if@obeylines\@obeylinesfalse \def\Lines@asis{\JObeylines\@obeylinestrue} \def\Lines@wrap{\@obeylinesfalse} \expandafter\def\csname Lines@asis-truncate\endcsname{% \JObeylines\@obeylinestrue} \expandafter\def\csname Lines@asis-wrap\endcsname{\@obeylinesfalse} % \def\Fld@start{l} \def\Fld@center{c} \def\Fld@end{r} % \def\White@preserve{% \catcode`\ =\active\@vobeyspaces} % \def\Break@page{\newpage} \def\Break@{} % % Here are some characters we have encountered for which % we know the mappings. \def\DefineCharacter#1#2{% \expandafter\def\csname Ch@#1\endcsname{#2{}} } %=============================================== \DefineCharacter{279}{\ensuremath{\doteq}} %edot \DefineCharacter{289}{\ensuremath{\gtrdot}} %gdot \DefineCharacter{338}{\OE} %OElig \DefineCharacter{339}{\oe} %oelig \DefineCharacter{732}{\ifmmode\tilde{}\else\~{}\fi} \DefineCharacter{915}{\ifmmode\Gamma\else\textGamma\fi} %Gamma \DefineCharacter{916}{\ifmmode\Delta\else\textDelta\fi} %Delta \DefineCharacter{920}{\ifmmode\Theta\else\textTheta\fi} %Theta \DefineCharacter{923}{\ifmmode\Lambda\else\textLambda\fi} %Lambda \DefineCharacter{926}{\ifmmode\Xi\else\textXi\fi} %Xi \DefineCharacter{928}{\ifmmode\Pi\else\textPi\fi} %Pi \DefineCharacter{931}{\ifmmode\Sigma\else\textSigma\fi} %Sigma \DefineCharacter{931}{\ifmmode\varTheta\else\textvarTheta\fi} \DefineCharacter{933}{\ensuremath{\Upsilon}} %Upsi \DefineCharacter{934}{\ifmmode\Phi\else\textPhi\fi} %Phi \DefineCharacter{936}{\ifmmode\Psi\else\textPsi\fi} %Psi \DefineCharacter{937}{\ifmmode\Omega\else\textOmega\fi} %Omega \DefineCharacter{945}{\ifmmode\alpha\else\textalpha\fi} %alpha \DefineCharacter{946}{\ifmmode\beta\else\textbeta\fi} %beta \DefineCharacter{947}{\ifmmode\gamma\else\textgamma\fi} %gamma \DefineCharacter{948}{\ifmmode\delta\else\textdelta\fi} %delta \DefineCharacter{949}{\ifmmode\epsilon\else\textepsilon\fi} %delta \DefineCharacter{950}{\ifmmode\zeta\else\textzeta\fi} %zeta \DefineCharacter{951}{\ifmmode\eta\else\texteta\fi} %eta \DefineCharacter{953}{\ifmmode\iota\else\textiota\fi} %iota \DefineCharacter{954}{\ifmmode\kappa\else\textkappa\fi} %kappa \DefineCharacter{955}{\ifmmode\lambda\else\textlambda\fi} %lambda \DefineCharacter{956}{\ifmmode\mu\else\textmu\fi} %mu \DefineCharacter{957}{\ifmmode\nu\else\textnu\fi} %nu \DefineCharacter{958}{\ifmmode\xi\else\textxi\fi} %xi \DefineCharacter{960}{\ensuremath{\pi}} %pi \DefineCharacter{963}{\ifmmode\sigma\else\textsigma\fi} %sigma \DefineCharacter{964}{\ifmmode\tau\else\texttau\fi} %tau \DefineCharacter{967}{\ifmmode\chi\else\textchi\fi} %chi \DefineCharacter{968}{\ifmmode\psi\else\textpsi\fi} %psi \DefineCharacter{989}{\ensuremath{\digamma}} %gammad \DefineCharacter{1041}{\CYRBuki} %Bcy \DefineCharacter{1043}{\CYRGlagol} %Gcy \DefineCharacter{1046}{\CYRJu} %ZHcy \DefineCharacter{1047}{\CYRSemlja} %Zcy \DefineCharacter{1048}{\CYRIsche} %Icy \DefineCharacter{1049}{\CYRSchiwete} %Jcy \DefineCharacter{1050}{\CYRKako} %Kcy \DefineCharacter{1051}{\CYRLjudi} %Lcy \DefineCharacter{1055}{\CYRPakoy} %Pcy \DefineCharacter{1059}{\CYRU} %Ucy \DefineCharacter{1060}{\CYRFert} %Fcy \DefineCharacter{1061}{\CYRTscherw} %KHcy \DefineCharacter{1062}{\CYRZui} %TScy \DefineCharacter{1064}{\CYRScha} %SHcy \DefineCharacter{1065}{\CYRSchtscha} %SHCHcy \DefineCharacter{1066}{\CYRJerr} %HARDcy \DefineCharacter{1067}{\CYRJerui} %Ycy \DefineCharacter{1068}{\CYRJher} %SOFTcy \DefineCharacter{1069}{\CYRDsche} %Ecy \DefineCharacter{1070}{\CYRtjsche} %YUcy \DefineCharacter{1071}{\CYRZelo} %YAcy \DefineCharacter{1073}{\CYRbuki} %bcy \DefineCharacter{1074}{\CYRwjedi} %vcy \DefineCharacter{1075}{\CYRglagol} %gcy \DefineCharacter{1076}{\CYRdobro} %dcy \DefineCharacter{1078}{\CYRju} %zhcy \DefineCharacter{1079}{\CYRsemlja} %zcy \DefineCharacter{1080}{\CYRische} %icy \DefineCharacter{1081}{\CYRschiwete} %jcy \DefineCharacter{1082}{\CYRkako} %kcy \DefineCharacter{1083}{\CYRljudi} %lcy \DefineCharacter{1084}{\CYRmuislette} %mcy \DefineCharacter{1085}{\CYRnasch} %ncy \DefineCharacter{1087}{\CYRpakoy} %pcy \DefineCharacter{1090}{\CYRtwerdo} %tcy \DefineCharacter{1092}{\CYRfert} %fcy \DefineCharacter{1093}{\CYRtscherw} %khcy \DefineCharacter{1094}{\CYRzui} %tscy \DefineCharacter{1096}{\CYRscha} %shcy \DefineCharacter{1097}{\CYRschtscha} %shchcy \DefineCharacter{1098}{\CYRjerr} %hardcy \DefineCharacter{1099}{\CYRjerui} %ycy \DefineCharacter{1100}{\CYRjher} %softcy \DefineCharacter{1101}{\CYRsemlja} %ecy \DefineCharacter{1102}{\CYRJa} %yucy \DefineCharacter{1103}{\CYRzelo} %yacy \DefineCharacter{8200}{\ensuremath{\;}} %puncsp \DefineCharacter{8211}{\ifmmode\mbox{\textendash}\else\textendash\fi} %ndash \DefineCharacter{8212}{\textemdash} %mdash \DefineCharacter{8216}{\textquoteleft} %lsquo \DefineCharacter{8217}{\textquoteright} %rsquo \DefineCharacter{8220}{\textquotedblleft} %ldquo \DefineCharacter{8221}{\textquotedblright} %rdquo \DefineCharacter{8224}{\dag} %dagger \DefineCharacter{8225}{\ddag} %Dagger \DefineCharacter{8226}{\ifmmode\blackcircle\else\textbullet\fi} \DefineCharacter{8230}{\ensuremath{\ldots}} %hellip \DefineCharacter{8230}{\textellipsis{}} \DefineCharacter{8240}{\ifmmode\prime\else\textperthousand\fi} \DefineCharacter{8242}{\ifmmode\prime\else\textperthousand\fi} \DefineCharacter{8243}{\ifmmode''\else\ensuremath{''}\fi} %Prime \DefineCharacter{8244}{\ensuremath{'''}} %tprime \DefineCharacter{8245}{\ensuremath{\backprime}} %bprime \DefineCharacter{8412}{\ensuremath{\ddddot}} %DotDot \DefineCharacter{8467}{\ensuremath{\ell}} %ell \DefineCharacter{8472}{\ensuremath{\wp}} %weierp \DefineCharacter{8501}{\ensuremath{\aleph}} %aleph \DefineCharacter{8502}{\ensuremath{\beth}} %beth \DefineCharacter{8503}{\ensuremath{\gimel}} %gimel \DefineCharacter{8504}{\ensuremath{\daleth}} %daleth \DefineCharacter{8592}{\ensuremath{\leftarrow}} %larr \DefineCharacter{8593}{\ensuremath{\uparrow}} %uarr \DefineCharacter{8594}{\ensuremath{\longrightarrow}} %rarr \DefineCharacter{8595}{\ensuremath{\downarrow}} %darr \DefineCharacter{8596}{\ensuremath{\leftrightarrow}} %harr \DefineCharacter{8597}{\ensuremath{\updownarrow}} %varr \DefineCharacter{8598}{\ensuremath{\nwarrow}} %nwarr \DefineCharacter{8599}{\ensuremath{\nearrow}} %nearr \DefineCharacter{8602}{\ensuremath{\nleftarrow}} %nlarr \DefineCharacter{8603}{\ensuremath{\nrightarrow}} %nrarr \DefineCharacter{8606}{\ensuremath{\twoheadleftarrow}} %Larr \DefineCharacter{8608}{\ensuremath{\twoheadrightarrow}} %Rarr \DefineCharacter{8610}{\ensuremath{\leftarrowtail}} %larrtl \DefineCharacter{8611}{\ensuremath{\rightarrowtail}} %rarrtl \DefineCharacter{8614}{\ensuremath{\mapsto}} %map \DefineCharacter{8617}{\ensuremath{\hookleftarrow}} %larrhk \DefineCharacter{8618}{\ensuremath{\hookrightarrow}} %rarrhk \DefineCharacter{8619}{\ensuremath{\looparrowleft}} %larrlp \DefineCharacter{8620}{\ensuremath{\looparrowright}} %rarrlp \DefineCharacter{8621}{\ensuremath{\leftrightsquigarrow}} %harrw \DefineCharacter{8622}{\ensuremath{\nleftrightarrow}} %nharr \DefineCharacter{8624}{\ensuremath{\Lsh}} %lsh \DefineCharacter{8625}{\ensuremath{\Rsh}} %rsh \DefineCharacter{8630}{\ensuremath{\curvearrowleft}} %cularr \DefineCharacter{8631}{\ensuremath{\curvearrowright}} %curarr \DefineCharacter{8636}{\ensuremath{\leftharpoonup}} %lharu \DefineCharacter{8637}{\ensuremath{\leftharpoondown}} %lhard \DefineCharacter{8638}{\ensuremath{\upharpoonright}} %uharr \DefineCharacter{8639}{\ensuremath{\upharpoonleft}} %uharl \DefineCharacter{8640}{\ensuremath{\rightharpoonup}} %rharu \DefineCharacter{8641}{\ensuremath{\rightharpoondown}} %rhard \DefineCharacter{8642}{\ensuremath{\downharpoonright}} %dharr \DefineCharacter{8643}{\ensuremath{\downharpoonleft}} %dharl \DefineCharacter{8644}{\ensuremath{\rightleftarrows}} %rlarr2 \DefineCharacter{8646}{\ensuremath{\leftrightarrows}} %lrarr2 \DefineCharacter{8647}{\ensuremath{\leftleftarrows}} %larr2 \DefineCharacter{8648}{\ensuremath{\upuparrows}} %uarr2 \DefineCharacter{8649}{\ensuremath{\rightrightarrows}} %rarr2 \DefineCharacter{8650}{\ensuremath{\downdownarrows}} %darr2 \DefineCharacter{8651}{\ensuremath{\leftrightharpoons}} \DefineCharacter{8651}{\ensuremath{\leftrightharpoons}} %lrhar2 \DefineCharacter{8652}{\ensuremath{\rightleftharpoons}} %rlhar2 \DefineCharacter{8653}{\ensuremath{\nLeftarrow}} %nlArr \DefineCharacter{8654}{\ensuremath{\nLeftrightarrow}} %nhArr \DefineCharacter{8655}{\ensuremath{\nRightarrow}} %nrArr \DefineCharacter{8656}{\ensuremath{\Leftarrow}} %lArr \DefineCharacter{8657}{\ensuremath{\Uparrow}} %uArr \DefineCharacter{8658}{\ensuremath{\Longrightarrow}} %rArr \DefineCharacter{8659}{\ensuremath{\Downarrow}} %dArr \DefineCharacter{8660}{\ensuremath{\Leftrightarrow}} %iff \DefineCharacter{8661}{\ensuremath{\Updownarrow}} %vArr \DefineCharacter{8666}{\ensuremath{\Lleftarrow}} %lAarr \DefineCharacter{8667}{\ensuremath{\Rrightarrow}} %rAarr \DefineCharacter{8669}{\ensuremath{\leadsto}} %rarrw \DefineCharacter{8704}{\ensuremath{\forall}} %forall \DefineCharacter{8705}{\ensuremath{\complement}} %comp \DefineCharacter{8706}{\ensuremath{\partial}} %part \DefineCharacter{8707}{\ensuremath{\exists}} %exist \DefineCharacter{8708}{\ensuremath{\nexists}} %nexist \DefineCharacter{8709}{\ensuremath{\emptyset}} %empty \DefineCharacter{8711}{\ensuremath{\nabla}} %nabla \DefineCharacter{8712}{\ensuremath{\in}} %isin \DefineCharacter{8713}{\ensuremath{\not\in}} %notin \DefineCharacter{8715}{\ensuremath{\ni}} %ni \DefineCharacter{8719}{\ensuremath{\prod}} \DefineCharacter{8719}{\ensuremath{\prod}} %prod \DefineCharacter{8720}{\ensuremath{\amalg}} %amalg \DefineCharacter{8720}{\ensuremath{\coprod}} %coprod \DefineCharacter{8721}{\ensuremath{\sum}} %sum \DefineCharacter{8722}{\ensuremath{-}} \DefineCharacter{8723}{\ensuremath{\mp}} %mnplus \DefineCharacter{8724}{\ensuremath{\dotplus}} %plusdo \DefineCharacter{8728}{\ensuremath{\circ}} %compfn \DefineCharacter{8733}{\ensuremath{\propto}} %prop \DefineCharacter{8734}{\ensuremath{\infty}} %infin \DefineCharacter{8736}{\ensuremath{\angle}} %ang \DefineCharacter{8737}{\ensuremath{\measuredangle}} %angmsd \DefineCharacter{8738}{\ensuremath{\sphericalangle}} %angsph \DefineCharacter{8739}{\ensuremath{|}} %mid \DefineCharacter{8740}{\ensuremath{\nmid}} %nmid \DefineCharacter{8741}{\ensuremath{\parallel}} %par \DefineCharacter{8742}{\ensuremath{\nparallel}} %npar \DefineCharacter{8743}{\ensuremath{\land}} %and \DefineCharacter{8744}{\ensuremath{\lor}} %or \DefineCharacter{8745}{\ensuremath{\cap}} %cap \DefineCharacter{8746}{\ensuremath{\cup}} %cup \DefineCharacter{8747}{\ensuremath{\int}} \DefineCharacter{8747}{\ensuremath{\int}} %int \DefineCharacter{8750}{\ensuremath{\oint}} %conint \DefineCharacter{8756}{\ensuremath{\therefore}} %there4 \DefineCharacter{8757}{\ensuremath{\because}} %becaus \DefineCharacter{8764}{\ensuremath{\sim}} %sim \DefineCharacter{8765}{\ensuremath{\backsim}} %bsim \DefineCharacter{8768}{\ensuremath{\wr}} %wreath \DefineCharacter{8769}{\ensuremath{\nsim}} %nsim \DefineCharacter{8771}{\ensuremath{\simeq}} %sime \DefineCharacter{8772}{\ensuremath{\not\simeq}} %nsime \DefineCharacter{8773}{\ensuremath{\cong}} %cong \DefineCharacter{8775}{\ensuremath{\ncong}} %ncong \DefineCharacter{8776}{\ensuremath{\approx}} %ap \DefineCharacter{8777}{\ensuremath{\not\approx}} %nap \DefineCharacter{8778}{\ensuremath{\approxeq}} %ape \DefineCharacter{8781}{\ensuremath{\asymp}} %asymp \DefineCharacter{8782}{\ensuremath{\Bumpeq}} %bump \DefineCharacter{8783}{\ensuremath{\bumpeq}} %bumpe \DefineCharacter{8785}{\ensuremath{\doteqdot}} %eDot \DefineCharacter{8786}{\ensuremath{\fallingdotseq}} %efDot \DefineCharacter{8787}{\ensuremath{\risingdotseq}} %erDot \DefineCharacter{8788}{\ensuremath{\colone}} %colone \DefineCharacter{8790}{\ensuremath{\eqcirc}} %ecir \DefineCharacter{8791}{\ensuremath{\circeq}} %cire \DefineCharacter{8796}{\ensuremath{\triangleq}} %trie \DefineCharacter{8800}{\ensuremath{\ne}} %ne \DefineCharacter{8801}{\ensuremath{\equiv}} %equiv \DefineCharacter{8802}{\ensuremath{\not\equiv}} %nequiv \DefineCharacter{8804}{\ensuremath{\leqslant}} %les \DefineCharacter{8804}{\ensuremath{\leq}} %le \DefineCharacter{8804}{\ensuremath{\le}} \DefineCharacter{8805}{\ensuremath{\geqslant}} %ges \DefineCharacter{8805}{\ensuremath{\ge}} \DefineCharacter{8805}{\ensuremath{\ge}} %ge \DefineCharacter{8806}{\ensuremath{\leqq}} %lE \DefineCharacter{8807}{\ensuremath{\geqq}} %gE \DefineCharacter{8808}{\ensuremath{\lneqq}} %lnE \DefineCharacter{8809}{\ensuremath{\gneqq}} %gnE \DefineCharacter{8810}{\ensuremath{\ll}} %Lt \DefineCharacter{8811}{\ensuremath{\gg}} %Gt \DefineCharacter{8812}{\ensuremath{\between}} %twixt \DefineCharacter{8814}{\ensuremath{\nless}} %nlt \DefineCharacter{8815}{\ensuremath{\ngtr}} %ngt \DefineCharacter{8816}{\ensuremath{\nleqslant}} %nles \DefineCharacter{8816}{\ensuremath{\nleq}} %nle \DefineCharacter{8817}{\ensuremath{\ngeqslant}} %nges \DefineCharacter{8817}{\ensuremath{\ngeq}} %nge \DefineCharacter{8818}{\ensuremath{\lesssim}} %lsim \DefineCharacter{8819}{\ensuremath{\gtrsim}} %gsim \DefineCharacter{8822}{\ensuremath{\lessgtr}} %lg \DefineCharacter{8823}{\ensuremath{\gtrless}} %gl \DefineCharacter{8826}{\ensuremath{\prec}} %pr \DefineCharacter{8827}{\ensuremath{\succ}} %sc \DefineCharacter{8829}{\ensuremath{\succcurlyeq}} %sccue \DefineCharacter{8830}{\ensuremath{\precsim}} %prsim \DefineCharacter{8831}{\ensuremath{\succsim}} %scsim \DefineCharacter{8832}{\ensuremath{\nprec}} %npr \DefineCharacter{8833}{\ensuremath{\nsucc}} %nsc \DefineCharacter{8834}{\ensuremath{\subset}} %sub \DefineCharacter{8835}{\ensuremath{\supset}} %sup \DefineCharacter{8836}{\ensuremath{\not\subset}} %nsub \DefineCharacter{8837}{\ensuremath{\not\supset}} %nsup \DefineCharacter{8838}{\ensuremath{\subseteq}} %sube \DefineCharacter{8839}{\ensuremath{\supseteq}} %supe \DefineCharacter{8840}{\ensuremath{\not\subseteq}} %nsube \DefineCharacter{8841}{\ensuremath{\not\supseteq}} %nsupe \DefineCharacter{8842}{\ensuremath{\subsetneqq}} %subnE \DefineCharacter{8843}{\ensuremath{\supsetneqq}} %supnE \DefineCharacter{8846}{\ensuremath{\uplus}} %uplus \DefineCharacter{8847}{\ensuremath{\sqsubset}} %sqsub \DefineCharacter{8848}{\ensuremath{\sqsupset}} %sqsup \DefineCharacter{8849}{\ensuremath{\sqsubseteq}} %sqsube \DefineCharacter{8851}{\ensuremath{\sqcap}} %sqcap \DefineCharacter{8852}{\ensuremath{\sqcup}} %sqcup \DefineCharacter{8853}{\ensuremath{\oplus}} %oplus \DefineCharacter{8854}{\ensuremath{\ominus}} %ominus \DefineCharacter{8855}{\ensuremath{\otimes}} %otimes \DefineCharacter{8856}{\ensuremath{\oslash}} %osol \DefineCharacter{8857}{\ensuremath{\odot}} %odot \DefineCharacter{8858}{\ensuremath{\circledcirc}} %ocir \DefineCharacter{8859}{\ensuremath{\circledast}} %oast \DefineCharacter{8861}{\ensuremath{\circleddash}} %odash \DefineCharacter{8862}{\ensuremath{\boxplus}} %plusb \DefineCharacter{8863}{\ensuremath{\boxminus}} %minusb \DefineCharacter{8864}{\ensuremath{\boxtimes}} %timesb \DefineCharacter{8866}{\ensuremath{\vdash}} %vdash \DefineCharacter{8867}{\ensuremath{\dashv}} %dashv \DefineCharacter{8869}{\ensuremath{\perp}} %perp \DefineCharacter{8872}{\ensuremath{\vDash}} %vDash \DefineCharacter{8873}{\ensuremath{\Vdash}} %Vdash \DefineCharacter{8874}{\ensuremath{\Vvdash}} %Vvdash \DefineCharacter{8876}{\ensuremath{\nvdash}} %nvdash \DefineCharacter{8877}{\ensuremath{\nvDash}} %nvDash \DefineCharacter{8878}{\ensuremath{\nVdash}} %nVdash \DefineCharacter{8879}{\ensuremath{\nVDash}} %nVDash \DefineCharacter{8884}{\ensuremath{\unlhd}} %ltrie \DefineCharacter{8885}{\ensuremath{\unrhd}} %rtrie \DefineCharacter{8888}{\ensuremath{\multimap}} %mumap \DefineCharacter{8890}{\ensuremath{\top}} %intcal \DefineCharacter{8891}{\ensuremath{\veebar}} %veebar \DefineCharacter{8892}{\ensuremath{\barwedge}} %barwed \DefineCharacter{8900}{\ensuremath{\diamond}} %diam \DefineCharacter{8903}{\ensuremath{\divideontimes}} %divonx \DefineCharacter{8904}{\ensuremath{\bowtie}} %bowtie \DefineCharacter{8905}{\ensuremath{\ltimes}} %ltimes \DefineCharacter{8906}{\ensuremath{\rtimes}} %rtimes \DefineCharacter{8907}{\ensuremath{\leftthreetimes}} %lthree \DefineCharacter{8908}{\ensuremath{\rightthreetimes}} %rthree \DefineCharacter{8909}{\ensuremath{\backsimeq}} %bsime \DefineCharacter{8910}{\ensuremath{\curlyvee}} %cuvee \DefineCharacter{8911}{\ensuremath{\curlywedge}} %cuwed \DefineCharacter{8912}{\ensuremath{\Subset}} %Sub \DefineCharacter{8913}{\ensuremath{\Supset}} %Sup \DefineCharacter{8914}{\ensuremath{\Cap}} %Cap \DefineCharacter{8915}{\ensuremath{\Cup}} %Cup \DefineCharacter{8916}{\ensuremath{\pitchfork}} %fork \DefineCharacter{8918}{\ensuremath{\lessdot}} %ldot \DefineCharacter{8920}{\ensuremath{\lll}} %Ll \DefineCharacter{8921}{\ensuremath{\ggg}} %Gg \DefineCharacter{8922}{\ensuremath{\lesseqgtr}} %leg \DefineCharacter{8923}{\ensuremath{\gtreqless}} %gel \DefineCharacter{8924}{\ensuremath{\eqslantless}} %els \DefineCharacter{8925}{\ensuremath{\eqslantgtr}} %egs \DefineCharacter{8926}{\ensuremath{\curlyeqprec}} %cuepr \DefineCharacter{8927}{\ensuremath{\curlyeqsucc}} %cuesc \DefineCharacter{8928}{\ensuremath{\npreceq}} %npre \DefineCharacter{8929}{\ensuremath{\nsucceq}} %nsce \DefineCharacter{8934}{\ensuremath{\lnsim}} %lnsim \DefineCharacter{8935}{\ensuremath{\gnsim}} %gnsim \DefineCharacter{8936}{\ensuremath{\precnsim}} %prnsim \DefineCharacter{8937}{\ensuremath{\succnsim}} %scnsim \DefineCharacter{8938}{\ensuremath{\ntriangleleft}} %nltri \DefineCharacter{8939}{\ensuremath{\ntriangleright}} %nrtri \DefineCharacter{8940}{\ensuremath{\ntrianglelefteq}} %nltrie \DefineCharacter{8941}{\ensuremath{\ntrianglerighteq}} %nrtrie \DefineCharacter{8968}{\ensuremath{\lceil}} %lceil \DefineCharacter{8969}{\ensuremath{\rceil}} %rceil \DefineCharacter{8970}{\ensuremath{\lfloor}} %lfloor \DefineCharacter{8971}{\ensuremath{\rfloor}} %rfloor \DefineCharacter{8988}{\ensuremath{\ulcorn}} %ulcorn \DefineCharacter{8989}{\ensuremath{\urcorn}} %urcorn \DefineCharacter{8990}{\ensuremath{\dlcorn}} %dlcorn \DefineCharacter{8991}{\ensuremath{\drcorn}} %drcorn \DefineCharacter{8994}{\ensuremath{\frown}} %frown \DefineCharacter{8995}{\ensuremath{\smile}} %smile \DefineCharacter{9001}{\ensuremath{\langle}} %lang \DefineCharacter{9001}{\ensuremath{\rangle}} \DefineCharacter{9002}{\ensuremath{\langle}} \DefineCharacter{9002}{\ensuremath{\rangle}} %rang \DefineCharacter{9633}{\ensuremath{\square}} %squ \DefineCharacter{9642}{\ensuremath{\blacksquare}} %squf \DefineCharacter{9651}{\ensuremath{\bigtriangleup}} %xutri \DefineCharacter{9652}{\ensuremath{\blacktriangle}} %utrif \DefineCharacter{9653}{\ensuremath{\triangle}} %utri \DefineCharacter{9656}{\ensuremath{\blacktriangleright}} %rtrif \DefineCharacter{9657}{\ensuremath{\rhd}} %rtri \DefineCharacter{9661}{\ensuremath{\bigtriangledown}} %xdtri \DefineCharacter{9662}{\ensuremath{\blacktriangledown}} %dtrif \DefineCharacter{9663}{\ensuremath{\triangledown}} %dtri \DefineCharacter{9666}{\ensuremath{\blacktriangleleft}} %ltrif \DefineCharacter{9667}{\ensuremath{\lhd}} %ltri \DefineCharacter{9675}{\ensuremath{\bigcirc}} %cir \DefineCharacter{9733}{\ensuremath{\bigstar}} %starf \DefineCharacter{9734}{\ding73} %star \DefineCharacter{9742}{\ding37} %phone \DefineCharacter{9824}{\ensuremath{\spadesuit}} %spades \DefineCharacter{9825}{\ensuremath{\heartsuit}} %hearts \DefineCharacter{9826}{\ensuremath{\diamondsuit}} %diams \DefineCharacter{9827}{\ensuremath{\clubsuit}} %clubs \DefineCharacter{9837}{\ensuremath{\flat}} %flat \DefineCharacter{9838}{\ensuremath{\natural}} %natur \DefineCharacter{9839}{\ensuremath{\sharp}} %sharp \DefineCharacter{10003}{\ensuremath{\surd}} %check \DefineCharacter{10016}{\ensuremath{\maltese}} %malt \DefineCharacter{10023}{\ensuremath{\lozenge}} %loz \def\endFOT{\end{document}} \def\startFOT{% \RequirePackage[]{hyperref} \def\pdfBorderAttrs{/Border [0 0 0] } \pagestyle{fancy} \@twosidetrue \hoffset-1in\voffset-1in \def\setnormal{% \let\FontSize\pageFontSize \let\LineSpacing\pageLineSpacing \let\FontPosture\pageFontPosture \let\FontProportionateWidth\pageFontProportionateWidth \let\FontWeight\pageFontWeight \let\FontFamilyName\pageFontFamilyName } \def\headrulewidth{0\p@} \def\footrulewidth{0\p@} \begin{document} \fancyhf{} \def\familydefault{ptm} \fontfamily{\familydefault}\selectfont \pagenumbering{arabic} % \end{macrocode} % Individual users or projects can override anything in this % setup with a configuration file, loaded here, called % \texttt{jade.cfg}. % \begin{macrocode} \InputIfFileExists{jade.cfg}{}{} \typeout{JADE TeX starts} \Mathcount0} \catcode`\^^M=10% % \end{macrocode} %<*package> % \Finale % \endinput