diff options
author | Hans Hagen <pragma@wxs.nl> | 2012-01-05 19:27:33 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2012-01-05 19:27:33 +0100 |
commit | 33ae9293e4496c79b47ba7c4b8d2eca9befc91e9 (patch) | |
tree | 0102fa1b317e3a16b5571bbce06ef9f515faee37 /tex/context/base/phys-dim.mkiv | |
parent | c1d888aa68857ae06aff4ab7695e38486a12a6d6 (diff) | |
download | context-33ae9293e4496c79b47ba7c4b8d2eca9befc91e9.tar.gz |
beta 2011.11.25 10:34
Diffstat (limited to 'tex/context/base/phys-dim.mkiv')
-rw-r--r-- | tex/context/base/phys-dim.mkiv | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/tex/context/base/phys-dim.mkiv b/tex/context/base/phys-dim.mkiv index a093466d0..eaac72bb6 100644 --- a/tex/context/base/phys-dim.mkiv +++ b/tex/context/base/phys-dim.mkiv @@ -13,6 +13,8 @@ \registerctxluafile{phys-dim}{} +% todo: optional space between 'connected' symbols + \unprotect %D \macros @@ -474,7 +476,10 @@ \unexpanded\def\unitsS #1{\units_start{}\unitsraise{#1}\c_units_state \plusone} % suffix \unexpanded\def\unitsO #1{\units_start#1\c_units_state \plustwo} % operator \unexpanded\def\unitsN #1{\units_start#1\c_units_state \plusfive} % number -\unexpanded\def\unitsC #1{\units_next#1\c_units_state \plussix} % connected +\unexpanded\def\unitsC #1{\removeunwantedspaces#1\c_units_state \plussix} % connected + +\unexpanded\def\checkedtextprime {\iffontchar\font"2032′\else\textacute\fi} +\unexpanded\def\checkedtextdoubleprime{\iffontchar\font"2033″\else\textacute\kern-.25em\textacute\fi} \setelementnature[unit] [mixed] \setelementnature[quantity][mixed] @@ -588,6 +593,35 @@ {/}% }%\unitsbackspace} +%D You can define additional units: +%D +%D \starttyping +%D \registerunit +%D [units] +%D [point=pt, +%D basepoint=bp, +%D scaledpoint=sp, +%D didot=dd, +%D cicero=cc] +%D \stoptyping +%D +%D Possible categories are: \type {prefixes}, \type {units}, \type {operators}, +%D \type {suffixes}, \type {symbols},\type {packaged}. + +\unexpanded\def\registerunit + {\dodoubleempty\register_unit} + +\def\register_unit[#1][#2]% + {\ctxcommand{registerunit(\!!bs#1\!!es,\!!bs#2\!!es)}} + +%D You can generate a list as follows: +%D +%D \starttyping +%D \usemodule[phy-01] +%D +%D \ShowUnitsTable % [prefixes] +%D \stoptyping + %D Now we define the standard units command: \defineunits @@ -633,5 +667,22 @@ %D \stopbuffer %D %D \typebuffer \getbuffer +%D +%D Another example: +%D +%D \starttyping +%D \startluacode +%D languages.data.labels.units.foo = { +%D Liter = "l" +%D } +%D languages.data.labels.units.bar = { +%D Liter = "L" +%D } +%D \stopluacode +%D +%D \defineunits[lunit] \lunit{10 l/s}\par +%D \defineunits[funit][label=foo] \funit{10 l/s}\par +%D \defineunits[bunit][label=bar] \bunit{10 l/s}\par +%D \stoptyping \protect \endinput |