summaryrefslogtreecommitdiff
path: root/tex/context/base/meta-ini.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2011-10-14 22:47:00 +0200
committerHans Hagen <pragma@wxs.nl>2011-10-14 22:47:00 +0200
commit6d7cbf123ae37267f91f51c5e65ff36870bf5e73 (patch)
tree24c74f926228c2919629bc6545984956ae95cf83 /tex/context/base/meta-ini.lua
parente7740d51abd575bf156b3ce1f48a2a5543fbc9eb (diff)
downloadcontext-6d7cbf123ae37267f91f51c5e65ff36870bf5e73.tar.gz
beta 2011.10.14 22:47
Diffstat (limited to 'tex/context/base/meta-ini.lua')
-rw-r--r--tex/context/base/meta-ini.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/tex/context/base/meta-ini.lua b/tex/context/base/meta-ini.lua
index 5b1f89463..bac1429ae 100644
--- a/tex/context/base/meta-ini.lua
+++ b/tex/context/base/meta-ini.lua
@@ -7,7 +7,7 @@ if not modules then modules = { } end modules ['meta-ini'] = {
}
local tonumber = tonumber
-local format, gmatch, match = string.format, string.gmatch, string.match
+local format, gmatch, match, gsub = string.format, string.gmatch, string.match, string.gsub
metapost = metapost or { }
@@ -90,3 +90,13 @@ function commands.prepareMPvariable(v) -- slow but ok
end
end
end
+
+function metapost.formatnumber(f,n) -- just lua format
+ f = gsub(f,"@(%d)","%%.%1")
+ f = gsub(f,"@","%%")
+ f = format(f,tonumber(n) or 0)
+ f = gsub(f,"e([%+%-%d]+)",function(s)
+ return format("\\times10^{%s}",tonumber(s) or s) -- strips leading zeros
+ end)
+ context.mathematics(f)
+end