commit adbc17aa343961835b3386e58a5083427c6b4351
parent 4666badbe283fda8e2cab56ef083ade62520e5a1
Author: Davide P. Cervone <dpvc@union.edu>
Date: Tue, 19 Aug 2014 09:00:36 -0400
Merge branch 'issue890' into develop. Issue #890.
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/unpacked/jax/input/TeX/jax.js b/unpacked/jax/input/TeX/jax.js
@@ -1654,8 +1654,7 @@
var n;
if (this.string.charAt(this.i) === "[") {
n = this.GetBrackets(name,"").replace(/ /g,"");
- if (n &&
- !n.match(/^((-?(\.\d+|\d+(\.\d*)?))(pt|em|ex|mu|mm|cm|in|pc))$/)) {
+ if (n && !this.matchDimen(n)) {
TEX.Error(["BracketMustBeDimension",
"Bracket argument to %1 must be a dimension",name]);
}
@@ -1676,13 +1675,18 @@
}
},
emPerInch: 7.2,
+ pxPerInch: 72,
+ matchDimen: function (dim) {
+ return dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(px|pt|em|ex|mu|pc|in|mm|cm)$/);
+ },
dimen2em: function (dim) {
- var match = dim.match(/^(-?(?:\.\d+|\d+(?:\.\d*)?))(pt|em|ex|mu|pc|in|mm|cm)/);
+ var match = this.matchDimen(dim);
var m = parseFloat(match[1]||"1"), unit = match[2];
if (unit === "em") {return m}
if (unit === "ex") {return m * .43}
if (unit === "pt") {return m / 10} // 10 pt to an em
if (unit === "pc") {return m * 1.2} // 12 pt to a pc
+ if (unit === "px") {return m * this.emPerInch / this.pxPerInch}
if (unit === "in") {return m * this.emPerInch}
if (unit === "cm") {return m * this.emPerInch / 2.54} // 2.54 cm to an inch
if (unit === "mm") {return m * this.emPerInch / 25.4} // 10 mm to a cm