%D \module %D [ file=xtag-pmu, %D version=2001.06.10, %D title=\CONTEXT\ XML Macros, %D subtitle=Units, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \writestatus{loading}{ConTeXt XML Macros / Units} %D Quick and dirty in||line units: %D %D \startbuffer %D %D 10 %D %D %D \stopbuffer %D %D \typebuffer \processXMLbuffer %D %D A more \MATHML||like unit application: %D %D \startbuffer %D %D 10 %D %D %D \stopbuffer %D %D \typebuffer \processXMLbuffer %D %D A bit more compact: %D %D \startbuffer %D %D 10 %D %D %D \stopbuffer %D %D \typebuffer \processXMLbuffer %D %D A bit more complicated: %D %D \startbuffer %D %D a 10 %D %D %D \stopbuffer %D %D \typebuffer \processXMLbuffer %D %D An alternative (equivalent) for \type {}: %D %D \startbuffer %D %D 10 %D %D \stopbuffer %D %D \typebuffer \processXMLbuffer \defineXMLsingular [unitmeaning] [label=] \doPMLunitmeaning \def\doPMLunitmeaning {\expanded{\unitmeaning{\XMLop{label}}}} \startXMLmapping [mml] \remapXMLsequence [unit] [CPA] \doPMLuseq \remapXMLsingular [unit] [CPA] \doPMLunit % #2\empty \remapXMLsequence [cunseq] [CPA] \doPMLuseq % #2 \remapXMLsequence [cu] [CPA] \doPMLuseq % #2 \newif\ifPMLunit \PMLunittrue \def\doPMLuseq#1#2{\PMLunittrue\ignorespaces#2\unskip\PMLunitfalse} \def\doPMLunit#1#2\empty{\ignorespaces#2\unskip} \def\handlePMLunit#1{\ifPMLunit\ignorespaces#1\fi\ignorespaces} %D All unit commands are remapped in a similar way. \remapXMLsingular [Atto] [C] {\handlePMLunit\Atto} \remapXMLsingular [Femto] [C] {\handlePMLunit\Femto} \remapXMLsingular [Pico] [C] {\handlePMLunit\Pico} \remapXMLsingular [Nano] [C] {\handlePMLunit\Nano} \remapXMLsingular [Micro] [C] {\handlePMLunit\Micro} \remapXMLsingular [Milli] [C] {\handlePMLunit\Milli} \remapXMLsingular [Centi] [C] {\handlePMLunit\Centi} \remapXMLsingular [Deci] [C] {\handlePMLunit\Deci} \remapXMLsingular [Hecto] [C] {\handlePMLunit\Hecto} \remapXMLsingular [Kilo] [C] {\handlePMLunit\Kilo} \remapXMLsingular [Mega] [C] {\handlePMLunit\Mega} \remapXMLsingular [Giga] [C] {\handlePMLunit\Giga} \remapXMLsingular [Terra] [C] {\handlePMLunit\Terra} \remapXMLsingular [Peta] [C] {\handlePMLunit\Peta} \remapXMLsingular [Exa] [C] {\handlePMLunit\Exa} \remapXMLsingular [Times] [C] {\handlePMLunit\Times} \remapXMLsingular [Solidus] [C] {\handlePMLunit\Solidus} \remapXMLsingular [Per] [C] {\handlePMLunit\Per} \remapXMLsingular [OutOf] [C] {\handlePMLunit\OutOf} \remapXMLsingular [Linear] [C] {\handlePMLunit\Linear} \remapXMLsingular [Square] [C] {\handlePMLunit\Square} \remapXMLsingular [Cubic] [C] {\handlePMLunit\Cubic} \remapXMLsingular [Inverse] [C] {\handlePMLunit\Inverse} \remapXMLsingular [Degrees] [C] {\handlePMLunit\Degrees} \remapXMLsingular [Meter] [C] {\handlePMLunit\Meter} \remapXMLsingular [Liter] [C] {\handlePMLunit\Liter} \remapXMLsingular [Sec] [C] {\handlePMLunit\Sec} \remapXMLsingular [Year] [C] {\handlePMLunit\Year} \remapXMLsingular [Month] [C] {\handlePMLunit\Month} \remapXMLsingular [Week] [C] {\handlePMLunit\Week} \remapXMLsingular [Day] [C] {\handlePMLunit\Day} \remapXMLsingular [Hour] [C] {\handlePMLunit\Hour} \remapXMLsingular [Min] [C] {\handlePMLunit\Min} \remapXMLsingular [Second] [C] {\handlePMLunit\Sec} \remapXMLsingular [Rad] [C] {\handlePMLunit\Rad} \remapXMLsingular [Deg] [C] {\handlePMLunit\Deg} \remapXMLsingular [Hertz] [C] {\handlePMLunit\Hertz} \remapXMLsingular [RevPerSec] [C] {\handlePMLunit\RevPerSec} \remapXMLsingular [RevPerMin] [C] {\handlePMLunit\RevPerMin} \remapXMLsingular [Gram] [C] {\handlePMLunit\Gram} \remapXMLsingular [Atom] [C] {\handlePMLunit\Atom} \remapXMLsingular [Newton] [C] {\handlePMLunit\Newton} \remapXMLsingular [Pascal] [C] {\handlePMLunit\Pascal} \remapXMLsingular [Joule] [C] {\handlePMLunit\Joule} \remapXMLsingular [Watt] [C] {\handlePMLunit\Watt} \remapXMLsingular [Celsius] [C] {\handlePMLunit\Celsius} \remapXMLsingular [Kelvin] [C] {\handlePMLunit\Kelvin} \remapXMLsingular [Fahrenheit] [C] {\handlePMLunit\Fahrenheit} \remapXMLsingular [Mol] [C] {\handlePMLunit\Mol} \remapXMLsingular [Molair] [C] {\handlePMLunit\Molair} \remapXMLsingular [Equivalent] [C] {\handlePMLunit\Equivalent} \remapXMLsingular [Farad] [C] {\handlePMLunit\Farad} \remapXMLsingular [Ohm] [C] {\handlePMLunit\Ohm} \remapXMLsingular [Siemens] [C] {\handlePMLunit\Siemens} \remapXMLsingular [Ampere] [C] {\handlePMLunit\Ampere} \remapXMLsingular [Coulomb] [C] {\handlePMLunit\Coulomb} \remapXMLsingular [Volt] [C] {\handlePMLunit\Volt} \remapXMLsingular [eVolt] [C] {\handlePMLunit\eVolt} \remapXMLsingular [Tesla] [C] {\handlePMLunit\Tesla} \remapXMLsingular [VoltAC] [C] {\handlePMLunit\VoltAC} \remapXMLsingular [VoltDC] [C] {\handlePMLunit\VoltDC} \remapXMLsingular [Baud] [C] {\handlePMLunit\Baud} \remapXMLsingular [Bit] [C] {\handlePMLunit\Bit} \remapXMLsingular [Byte] [C] {\handlePMLunit\Byte} \remapXMLsingular [Bequerel] [C] {\handlePMLunit\Bequerel} \remapXMLsingular [Sievert] [C] {\handlePMLunit\Sievert} \remapXMLsingular [Candela] [C] {\handlePMLunit\Candela} \remapXMLsingular [Bell] [C] {\handlePMLunit\Bell} \remapXMLsingular [At] [C] {\handlePMLunit\At} \remapXMLsingular [Atm] [C] {\handlePMLunit\Atm} \remapXMLsingular [Bar] [C] {\handlePMLunit\Bar} \remapXMLsingular [EVolt] [C] {\handlePMLunit\EVolt} \remapXMLsingular [Foot] [C] {\handlePMLunit\Foot} \remapXMLsingular [Inch] [C] {\handlePMLunit\Inch} \remapXMLsingular [Cal] [C] {\handlePMLunit\Cal} \remapXMLsingular [Force] [C] {\handlePMLunit\Force} \remapXMLsingular [Lux] [C] {\handlePMLunit\Lux} \remapXMLsingular [Gray] [C] {\handlePMLunit\Gray} \remapXMLsingular [Weber] [C] {\handlePMLunit\Weber} \remapXMLsingular [Henry] [C] {\handlePMLunit\Henry} \remapXMLsingular [Sterant] [C] {\handlePMLunit\Sterant} \remapXMLsingular [Angstrom] [C] {\handlePMLunit\Angstrom} \remapXMLsingular [Gauss] [C] {\handlePMLunit\Gauss} \remapXMLsingular [Percent] [C] {\handlePMLunit\Percent} \remapXMLsingular [Promille] [C] {\handlePMLunit\Promille} \remapXMLsingular [Permille] [C] {\handlePMLunit\Permille} \remapXMLsingular [Unit] [C] {\handlePMLunit\Unit} \remapXMLsingular [NoUnit] [C] {\handlePMLunit\NoUnit} \stopXMLmapping \endinput