summaryrefslogtreecommitdiff
path: root/doc/context/sources/general/manuals/units/units-mkiv.tex
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-07-30 01:22:07 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-07-30 01:22:07 +0200
commit5135aef167bec739fe429e1aa987671768b237bc (patch)
treebd9f9696704e57c45f453bb7dc6becd5501cb657 /doc/context/sources/general/manuals/units/units-mkiv.tex
parent9d7c4ba8449bec1da920c01e24a17c41bbf2211d (diff)
downloadcontext-5135aef167bec739fe429e1aa987671768b237bc.tar.gz
2016-07-30 00:31:00
Diffstat (limited to 'doc/context/sources/general/manuals/units/units-mkiv.tex')
-rw-r--r--doc/context/sources/general/manuals/units/units-mkiv.tex538
1 files changed, 0 insertions, 538 deletions
diff --git a/doc/context/sources/general/manuals/units/units-mkiv.tex b/doc/context/sources/general/manuals/units/units-mkiv.tex
deleted file mode 100644
index 0d91c67df..000000000
--- a/doc/context/sources/general/manuals/units/units-mkiv.tex
+++ /dev/null
@@ -1,538 +0,0 @@
-% language=uk
-
-\usemodule[art-01,abr-02,physics-units]
-
-\definecolor[red] [darkred]
-\definecolor[green] [darkgreen]
-\definecolor[blue] [darkblue]
-\definecolor[yellow] [darkyellow]
-\definecolor[magenta][darkmagenta]
-\definecolor[cyan] [darkcyan]
-
-\definecolor[maincolor] [darkcyan]
-\definecolor[extracolor][darkmagenta]
-
-\setupbodyfont
- [10pt]
-
-\setuptyping
- [color=extracolor]
-
-\setuptype
- [color=extracolor] % darkyellow
-
-% \setupnumbering
-% [alternative=doublesided]
-
-\setupinteraction
- [hidden]
-
-\setuphead
- [section]
- [color=maincolor]
-
-\usesymbols[cc]
-
-\startdocument
- [metadata:author=Hans Hagen,
- metadata:title=Units,
- author=Hans Hagen,
- affiliation=PRAGMA ADE,
- location=Hasselt NL,
- title=Units,
- extra=ConTeXt MkIV,
- support=www.contextgarden.net,
- website=www.pragma-ade.nl]
-
-\unexpanded\def\UnitsHack#1#2%
- {\setbox\scratchbox\hbox{\bf\strut#1#2/}% kerning and such
- \hbox to \wd\scratchbox{\bf\strut#1\hss/\hss#2}}
-
-\startMPpage
-
- StartPage ;
- fill Page enlarged 2mm withcolor \MPcolor{darkcyan} ;
- pickup pencircle scaled 2mm ;
- picture p, q, r ;
- p := textext("\ssbf\WORD{\documentvariable{title}}") xsized (bbheight Page - 2cm) rotated 90 ;
- q := textext("\ssbf\WORD{\documentvariable{author}}") ysized 1cm ;
- r := textext("\ssbf\WORD{\documentvariable{extra}}") xsized bbwidth q ;
- draw anchored.rt (p, center rightboundary Page shifted (-1cm, 0mm)) withcolor white ;
- draw anchored.lft(q, ulcorner Page shifted ( 1cm, -84mm)) withcolor white ; % \MPcolor{darkred} ;
- draw anchored.lft(r, ulcorner Page shifted ( 1cm,-108mm)) withcolor white ; % \MPcolor{darkred} ;
- StopPage ;
-
-\stopMPpage
-
-% \page[empty] \setuppagenumber[start=1]
-
-\startsubject[title={Contents}]
-
-\placelist[section][criterium=all,interaction=all]
-
-\stopsubject
-
-\startsection[title={Introduction}]
-
-In \CONTEXT\ \MKII\ there is a module that implements consistent
-typesetting of units (quantities and dimensions). In \MKIV\ this
-functionality is now part of the physics core modules. This is
-also one of the mechanisms that got a new user interface: instead
-of using commands we now parse text. Thanks to those users who
-provided input we're more complete now that in \MKII. You can browse
-the mailing list archive to get some sense of history.
-
-\stopsection
-
-\startsection[title={The main command}]
-
-The core command is \type {\unit}. The argument to this command gets
-parsed and converted into a properly typeset dimension. Normally there
-will be a quantity in front.
-
-\starttabulate
-\NC \type{10 meter} \NC \unit{10 meter} \NC \NR
-\NC \type{10 meter per second} \NC \unit{10 meter per second} \NC \NR
-\NC \type{10 square meter per second} \NC \unit{10 square meter per second} \NC \NR
-\stoptabulate
-
-The parser knows about special cases, like synonyms:
-
-\starttabulate
-\NC \type{10 degree celsius} \NC \unit{10 degree celsius} \NC \NR
-\NC \type{10 degrees celsius} \NC \unit{10 degrees celsius} \NC \NR
-\NC \type{10 celsius} \NC \unit{10 celsius} \NC \NR
-\stoptabulate
-
-The units can be rather complex, for example:
-
-\startbuffer
-\unit{30 kilo pascal square meter / second kelvin}
-\stopbuffer
-
-\typebuffer
-
-This comes out as: \ignorespaces\getbuffer\removeunwantedspaces. Depending
-on the unit at had, recognition is quite flexible. The following variants
-all work out ok.
-
-\starttabulate
-\NC \type{10 kilogram} \NC \unit{10 kilogram} \NC \NR
-\NC \type{10 kilo gram} \NC \unit{10 kilo gram} \NC \NR
-\NC \type{10 k gram} \NC \unit{10 k gram} \NC \NR
-\NC \type{10 kilo g} \NC \unit{10 kilo g} \NC \NR
-\NC \type{10 k g} \NC \unit{10 k g} \NC \NR
-\NC \type{10 kg} \NC \unit{10 kg} \NC \NR
-\NC \type{10 kilog} \NC \unit{10 kilog} \NC \NR
-\NC \type{10 kgram} \NC \unit{10 kgram} \NC \NR
-\stoptabulate
-
-Of course being consistent makes sense, so normally you will use
-a consistent mix of short or long keywords.
-
-You can provide a qualifier that gets lowered and appended to
-the preceding unit.
-
-\startbuffer
-\unit{112 decibel (A)}
-\stopbuffer
-
-\typebuffer
-
-This gives: \ignorespaces\getbuffer\removeunwantedspaces. Combinations
-are also possible:
-
-\starttabulate
-\NC \type{5 watt per meter celsius} \NC \unit{5 watt per meter celsius} \NC \NR
-\NC \type{5 watt per meter degrees celsius} \NC \unit{5 watt per meter degrees celsius} \NC \NR
-\NC \type{5 watt per meter kelvin} \NC \unit{5 watt per meter kelvin} \NC \NR
-\NC \type{5 watt per meter per kelvin} \NC \unit{5 watt per meter per kelvin} \NC \NR
-\NC \type{10 arcminute} \NC \unit{10 arcminute} \NC \NR
-\NC \type{10 arcminute 20 arcsecond} \NC \unit{10 arcminute 20 arcsecond} \NC \NR
-\stoptabulate
-
-\stopsection
-
-\startsection[title={Extra units}]
-
-To some extent units can be tuned. You can for instance
-influence the spacing between a number and a unit:
-
-\startbuffer
- \unit{35 kilogram per cubic meter}
-\setupunit[space=normal] \unit{35 kilogram per cubic meter}
-\setupunit[space=big] \unit{35 kilogram per cubic meter}
-\setupunit[space=medium] \unit{35 kilogram per cubic meter}
-\setupunit[space=small] \unit{35 kilogram per cubic meter}
-\setupunit[space=none] \unit{35 kilogram per cubic meter}
-\stopbuffer
-
-\typebuffer
-
-Of course no spacing looks rather bad:
-
-\startlines
-\getbuffer
-\stoplines
-
-Another parameter is \type {separator}. In order to demonstrate
-this we define an extra unit command:
-
-\startbuffer
-\defineunit[sunit][separator=small]
-\defineunit[nunit][separator=none]
-\stopbuffer
-
-\typebuffer \getbuffer
-
-We now have two more commands:
-
-\startbuffer
-\unit {35 kilogram cubic meter}
-\sunit{35 kilogram cubic meter}
-\nunit{35 kilogram cubic meter}
-\stopbuffer
-
-\typebuffer
-
-These three commands give different results:
-
-\startlines
-\getbuffer
-\stoplines
-
-Valid separators are \type {normal}, \type {big}, \type {medium},
-\type {small}, \type {none}. You can let units stand out by
-applying color or a specific style.
-
-\startbuffer
-\setupunit[style=\bi,color=maincolor]
-\unit{10 square meter per second}
-\stopbuffer
-
-\typebuffer
-
-Keep in mind that all defined units inherit from their parent
-definition unless they are set up themselves.
-
-\start \blank \getbuffer \blank \stop
-
-To some extent you can control rendering in text and math mode. As
-an example we define an extra instance.
-
-\startbuffer
-\defineunit[textunit][alternative=text]
-\stopbuffer
-
-\typebuffer \getbuffer
-
-\startbuffer
-test \unit {10 cubic meter per second} test
-test \textunit{10 cubic meter per second} test
-test $\unit {10 cubic meter per second}$ test
-test $\textunit{10 cubic meter per second}$ test
-test 10 \unit {cubic meter per second} test
-test 10 \textunit{cubic meter per second} test
-test $10 \unit {cubic meter per second}$ test
-test $10 \textunit{cubic meter per second}$ test
-\stopbuffer
-
-\typebuffer
-
-\startlines
-\getbuffer
-\stoplines
-
-\stopsection
-
-\startsection[title={Labels}]
-
-The units, prefixes and operators are typeset using the label
-mechanism which means that they can be made to adapt to a language
-and|/|or adapted. Instead of language specific labels you can also
-introduce mappings that don't relate to a language at all. As an
-example we define some bogus mapping.
-
-\startbuffer
-\setupunittext
- [whatever]
- [meter=retem,
- second=dnoces]
-
-\setupprefixtext
- [whatever]
- [kilo=olik]
-
-\setupoperatortext
- [whatever]
- [solidus={ rep }]
-\stopbuffer
-
-\typebuffer \getbuffer
-
-Such a mapping can be partial and the current language will
-be the default fallback and itselfs falls back on the English
-language mapping.
-
-\startbuffer
-\unit{10 km/s}
-\unit{10 Kilo Meter/s}
-\unit{10 kilo Meter/s}
-\unit{10 Kilo m/s}
-\unit{10 k Meter/s}
-\stopbuffer
-
-\typebuffer
-
-When we typeset this we get the normal rendering:
-
-\startlines
-\getbuffer
-\stoplines
-
-However, when we change the language parameter, we get
-a different result:
-
-\startlines
-\setupunit[language=whatever]\getbuffer
-\stoplines
-
-The alternative rendering is set up as follows:
-
-\starttyping
-\setupunit[language=whatever]
-\stoptyping
-
-You can also decide to use a special instance of units:
-
-\starttyping
-\defineunit[wunit][language=whatever]
-\stoptyping
-
-This will define the \type {\wunit} command and leave the original
-\type {\unit} command untouched.
-
-\stopsection
-
-\startsection[title={Digits}]
-
-In addition to units we have digits. These can be used independently
-but the same functionality is also integrated in the unit commands.
-The main purpose of this command is formatting in tables, of which
-we give an example below.
-
-\starttabulate[|l|r|]
-\NC \type{12,345.67 kilogram} \NC \unit{12,345.67 kilogram} \NR
-\NC \type{__,__1.23 kilogram} \NC \unit{__,__1.23 kilogram} \NR
-\NC \type{__,___.12 kilogram} \NC \unit{__,___.12 kilogram} \NR
-\NC \type{__,__1.== kilogram} \NC \unit{__,__1.== kilogram} \NR
-\NC \type{__,___:23 kilogram} \NC \unit{__,___:23 kilogram} \NR
-\stoptabulate
-
-The \type {_} character serves as placeholders. There are some
-assumptions to how numbers are constructed. In principe the input
-assumes a comma to separate thousands and a period to separate the
-fraction.
-
-\getbuffer
-
-You can swap periods and commas in the output. In fact there are a
-few methods available. For instance we can separate the thousands
-with a small space instead of a symbol.
-
-\startbuffer
-\starttabulate[|c|r|r|]
-\HL
-\NC 0 \NC \setupunit[method=0]\unit{00,000.10 kilogram}
- \NC \setupunit[method=0]\unit{@@,@@0.10 kilogram} \NC \NR
-\NC 1 \NC \setupunit[method=1]\unit{00,000.10 kilogram}
- \NC \setupunit[method=1]\unit{@@,@@0.10 kilogram} \NC \NR
-\NC 2 \NC \setupunit[method=2]\unit{00,000.10 kilogram}
- \NC \setupunit[method=2]\unit{@@,@@0.10 kilogram} \NC \NR
-\NC 3 \NC \setupunit[method=3]\unit{00,000.10 kilogram}
- \NC \setupunit[method=3]\unit{@@,@@0.10 kilogram} \NC \NR
-\NC 4 \NC \setupunit[method=4]\unit{00,000.10 kilogram}
- \NC \setupunit[method=4]\unit{@@,@@0.10 kilogram} \NC \NR
-\NC 5 \NC \setupunit[method=5]\unit{00,000.10 kilogram}
- \NC \setupunit[method=5]\unit{@@,@@0.10 kilogram} \NC \NR
-\NC 6 \NC \setupunit[method=6]\unit{00,000.10 kilogram}
- \NC \setupunit[method=6]\unit{@@,@@0.10 kilogram} \NC \NR
-\HL
-\stoptabulate
-\stopbuffer
-
-\typebuffer % [bodyfont=9pt]
-
-\getbuffer
-
-The digit modes can be summarized as::
-
-\startitemize[n,packed]
-\item periods/comma
-\item commas/period
-\item thinmuskips/comma
-\item thinmuskips/period
-\item thickmuskips/comma
-\item thickmuskips/period
-\stopitemize
-
-You can reverse the order of commas and period in the input by
-setting the parameter \type {order} to \type {reverse}.
-
-The digit parser handles a bunch of special characters as
-well as different formats. We strongly suggest you to use
-the grouped call.
-
-\starttabulate[|l|l|l|]
-\NC \type{.} \NC , . \NC comma or period \NC \NR
-\NC \type{,} \NC , . \NC comma or period \NC \NR
-\NC \type{:} \NC \NC invisible period \NC \NR
-\NC \type{;} \NC \NC invisible comma \NC \NR
-\NC \type{_} \NC \NC invisible space \NC \NR
-\NC \type{/} \NC \NC invisible sign \NC \NR
-\NC \type{-} \NC $-$ \NC minus sign \NC \NR
-\NC \type{+} \NC $+$ \NC plus sign \NC \NR
-\NC \type{//} \NC \NC invisible high sign \NC \NR
-\NC \type{--} \NC $\negative$ \NC high minus sign \NC \NR
-\NC \type{++} \NC $\positive$ \NC high plus sign \NC \NR
-\NC \type{=} \NC $\zeroamount$ \NC zero padding \NC \NR
-\stoptabulate
-
-Let's give some examples:
-
-\starttabulate[|l|r|]
-\NC \type{1} \NC \ruledhbox{\strut\digits{1}} \NC \NR
-\NC \type{12} \NC \ruledhbox{\strut\digits{12}} \NC \NR
-\NC \type{12.34} \NC \ruledhbox{\strut\digits{12.34}} \NC \NR
-\NC \type{123,456} \NC \ruledhbox{\strut\digits{123,456}} \NC \NR
-\NC \type{123,456.78} \NC \ruledhbox{\strut\digits{123,456.78}} \NC \NR
-\NC \type{12,34} \NC \ruledhbox{\strut\digits{12,34}} \NC \NR
-\NC \type{.1234} \NC \ruledhbox{\strut\digits{.1234}} \NC \NR
-\NC \type{1234} \NC \ruledhbox{\strut\digits{1234}} \NC \NR
-\NC \type{123,456.78^9} \NC \ruledhbox{\strut\digits{123,456.78^9}} \NC \NR
-\NC \type{123,456.78e9} \NC \ruledhbox{\strut\digits{123,456.78e9}} \NC \NR
-\NC \type{/123,456.78e-9} \NC \ruledhbox{\strut\digits{/123,456.78e-9}} \NC \NR
-\NC \type{-123,456.78e-9} \NC \ruledhbox{\strut\digits{-123,456.78e-9}} \NC \NR
-\NC \type{+123,456.78e-9} \NC \ruledhbox{\strut\digits{+123,456.78e-9}} \NC \NR
-\NC \type{//123,456.78e-9} \NC \ruledhbox{\strut\digits{//123,456.78e-9}} \NC \NR
-\NC \type{--123,456.78e-9} \NC \ruledhbox{\strut\digits{--123,456.78e-9}} \NC \NR
-\NC \type{++123,456.78e-9} \NC \ruledhbox{\strut\digits{++123,456.78e-9}} \NC \NR
-\NC \type{___,___,123,456,789.00} \NC \ruledhbox{\strut\digits{___,___,123,456,789.00}} \NC \NR
-\NC \type{___,___,_12,345,678.==} \NC \ruledhbox{\strut\digits{___,___,_12,345,678.==}} \NC \NR
-\stoptabulate
-
-\stopsection
-
-\startsection[title={Adding units}]
-
-It is possible to add extra snippets. This is a two step process:
-first some snippet is defined, next a proper label is set up. In the
-next example we define a couple of \TEX\ dimensions:
-
-\startbuffer
-\registerunit
- [unit]
- [point=point,
- basepoint=basepoint,
- scaledpoint=scaledpoint,
- didot=didot,
- cicero=cicero]
-\stopbuffer
-
-\typebuffer \getbuffer
-
-Possible categories are: \type {prefix}, \type {unit}, \type {operator},
-\type {suffix}, \type {symbol},\type {packaged}. Next we define labels:
-
-\startbuffer
-\setupunittext
- [point=pt,
- basepoint=bp,
- scaledpoint=sp,
- didot=dd,
- cicero=cc]
-\stopbuffer
-
-\typebuffer \getbuffer
-
-Now we can use use these:
-
-\startbuffer
-\unit{10 point / second}
-\stopbuffer
-
-\typebuffer
-
-Of course you can wonder what this means.
-
-\blank \getbuffer \blank
-
-When no label is defined the long name is used:
-
-\startbuffer
-\registerunit
- [unit]
- [page=page]
-\stopbuffer
-
-\typebuffer \getbuffer
-
-This is used as:
-
-\startbuffer
-\unit{10 point / page}
-\stopbuffer
-
-\typebuffer
-
-Which gives:
-
-\blank \getbuffer \blank
-
-\stopsection
-
-\startsection[title={Built in keywords}]
-
-A given sequence of keywords is translated in an list of internal
-keywords. For instance \type {m}, \type {Meter} and \type {meter}
-all become \type {meter} and that one is used when resolving a
-label. In the next tables the right column mentions the internal
-keyword. The right column shows the Cased variant, but a lowercase
-one is built|-|in as well.
-
-The following prefixes are built|-|in:
-
-\showunits[prefixes]
-
-The following units are supported, including some combinations:
-
-\showunits[units]
-
-The amount of operators is small:
-
-\showunits[operators]
-
-There is also a small set of (names) suffixes:
-
-\showunits[suffixes]
-
-Some symbols get a special treatment:
-
-\showunits[symbols]
-
-These are also special:
-
-\showunits[packaged]
-
-\startsection[title={Colofon}]
-
-\starttabulate[|B|p|]
-\NC author \NC \getvariable{document}{author}, \getvariable{document}{affiliation}, \getvariable{document}{location} \NC \NR
-\NC version \NC \currentdate \NC \NR
-\NC website \NC \getvariable{document}{website} \endash\ \getvariable{document}{support} \NC \NR
-\NC copyright \NC \symbol[cc][cc-by-sa-nc] \NC \NR
-\stoptabulate
-
-\stopsection
-
-\stopdocument