asciimath2unitsml 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/asciimath2unitsml/conv.rb +14 -1
- data/lib/asciimath2unitsml/parse.rb +1 -14
- data/lib/asciimath2unitsml/render.rb +9 -3
- data/lib/asciimath2unitsml/unit.rb +1 -1
- data/lib/asciimath2unitsml/version.rb +1 -1
- data/lib/unitsdb/dimensions.yaml +31 -31
- data/lib/unitsdb/quantities.yaml +26 -19
- data/lib/unitsdb/units.yaml +20 -214
- data/spec/conv_spec.rb +52 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 559a334bc2dbe285ed496346392630e62b5c301fc23e521ff57a6f2161a3a0ed
|
4
|
+
data.tar.gz: 981ab1de7d97ce54dd464d707217aab81bfb9be404686c52f3999ef3ec7f44af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa493805c784f5f18bad7b16eecaf4e4bac7667e72088f5cf712017c8693703a0006122c827e42f8b4665ad5c3a75d8a86bf79ed361409db5555b77f0694f0c5
|
7
|
+
data.tar.gz: 8c0cf5a14e1cba4e915266c838fd2eb2f019009cab9b029f14241d89c2f9c0f78bcb53b7f03712324fccbc9f4914b8f9af461cdc65037c63ee919e7cba4b4a14
|
@@ -48,7 +48,7 @@ module Asciimath2UnitsML
|
|
48
48
|
<PrefixSymbol type="ASCII">#{@prefixes[p].ascii}</PrefixSymbol>
|
49
49
|
<PrefixSymbol type="unicode">#{@prefixes[p].unicode}</PrefixSymbol>
|
50
50
|
<PrefixSymbol type="LaTeX">#{@prefixes[p].latex}</PrefixSymbol>
|
51
|
-
<PrefixSymbol type="HTML">#{
|
51
|
+
<PrefixSymbol type="HTML">#{htmlent @prefixes[p].html}</PrefixSymbol>
|
52
52
|
</Prefix>
|
53
53
|
END
|
54
54
|
end.join("\n")
|
@@ -63,6 +63,19 @@ module Asciimath2UnitsML
|
|
63
63
|
END
|
64
64
|
end
|
65
65
|
|
66
|
+
U2D = {
|
67
|
+
"m" => { dimension: "Length", order: 1, symbol: "L" },
|
68
|
+
"g" => { dimension: "Mass", order: 2, symbol: "M" },
|
69
|
+
"kg" => { dimension: "Mass", order: 2, symbol: "M" },
|
70
|
+
"s" => { dimension: "Time", order: 3, symbol: "T" },
|
71
|
+
"A" => { dimension: "ElectricCurrent", order: 4, symbol: "I" },
|
72
|
+
"K" => { dimension: "ThermodynamicTemperature", order: 5, symbol: "Theta" },
|
73
|
+
"degK" => { dimension: "ThermodynamicTemperature", order: 5, symbol: "Theta" },
|
74
|
+
"mol" => { dimension: "AmountOfSubstance", order: 6, symbol: "N" },
|
75
|
+
"cd" => { dimension: "LuminousIntensity", order: 7, symbol: "J" },
|
76
|
+
"deg" => { dimension: "PlaneAngle", order: 8, symbol: "Phi" },
|
77
|
+
}.freeze
|
78
|
+
|
66
79
|
def units2dimensions(units)
|
67
80
|
norm = decompose_units(units)
|
68
81
|
return if norm.any? { |u| u[:unit] == "unknown" || u[:prefix] == "unknown" || u[:unit].nil? }
|
@@ -143,19 +143,6 @@ module Asciimath2UnitsML
|
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
146
|
-
U2D = {
|
147
|
-
"m" => { dimension: "Length", order: 1, symbol: "L" },
|
148
|
-
"g" => { dimension: "Mass", order: 2, symbol: "M" },
|
149
|
-
"kg" => { dimension: "Mass", order: 2, symbol: "M" },
|
150
|
-
"s" => { dimension: "Time", order: 3, symbol: "T" },
|
151
|
-
"A" => { dimension: "ElectricCurrent", order: 4, symbol: "I" },
|
152
|
-
"K" => { dimension: "ThermodynamicTemperature", order: 5, symbol: "Theta" },
|
153
|
-
"degK" => { dimension: "ThermodynamicTemperature", order: 5, symbol: "Theta" },
|
154
|
-
"mol" => { dimension: "AmountOfSubstance", order: 6, symbol: "N" },
|
155
|
-
"cd" => { dimension: "LuminousIntensity", order: 7, symbol: "J" },
|
156
|
-
"deg" => { dimension: "PlaneAngle", order: 8, symbol: "Phi" },
|
157
|
-
}.freeze
|
158
|
-
|
159
146
|
def Asciimath2UnitsML(expression)
|
160
147
|
xml = Nokogiri::XML(asciimath2mathml(expression))
|
161
148
|
MathML2UnitsML(xml).to_xml
|
@@ -169,7 +156,7 @@ module Asciimath2UnitsML
|
|
169
156
|
text = x.text.sub(%r{^unitsml\((.+)\)$}m, "\\1")
|
170
157
|
units, origtext, normtext, quantity, name, symbol = parse(text)
|
171
158
|
rendering = symbol ? embeddedmathml(asciimath2mathml(symbol)) : mathmlsymbol(units, false)
|
172
|
-
delim = x&.previous_element
|
159
|
+
delim = x&.previous_element ? delimspace(rendering) : ""
|
173
160
|
x.replace("#{delim}<mrow xref='#{unit_id(origtext)}'>#{rendering}</mrow>\n"\
|
174
161
|
"#{unitsml(units, origtext, normtext, quantity, name)}")
|
175
162
|
end
|
@@ -15,6 +15,11 @@ module Asciimath2UnitsML
|
|
15
15
|
@symbols[unit][style] || unit
|
16
16
|
end
|
17
17
|
|
18
|
+
def htmlent(x)
|
19
|
+
HTMLEntities.new.decode(x).split(/([<>&])/)
|
20
|
+
.map { |c| /[<>'"]/.match(c) ? c : HTMLEntities.new.encode(c, :hexadecimal) }.join
|
21
|
+
end
|
22
|
+
|
18
23
|
def htmlsymbol(units, normalise)
|
19
24
|
units.map do |u|
|
20
25
|
if u[:multiplier] then u[:multiplier] == "*" ? @multiplier[:html] : u[:multiplier]
|
@@ -41,7 +46,7 @@ module Asciimath2UnitsML
|
|
41
46
|
exp = units.map do |u|
|
42
47
|
if u[:multiplier] then u[:multiplier] == "*" ? @multiplier[:mathml] : "<mo>#{u[:multiplier]}</mo>"
|
43
48
|
elsif u[:unit].nil? && u[:prefix]
|
44
|
-
%(<mi mathvariant='normal'>#{@prefixes[u[:prefix]].html}</mi>)
|
49
|
+
%(<mi mathvariant='normal'>#{htmlent(@prefixes[u[:prefix]].html)}</mi>)
|
45
50
|
else
|
46
51
|
mathmlsymbol1(u, normalise)
|
47
52
|
end
|
@@ -51,9 +56,10 @@ module Asciimath2UnitsML
|
|
51
56
|
def mathmlsymbol1(u, normalise)
|
52
57
|
base = render(normalise ? @units[u[:unit]].symbolid : u[:unit], :mathml)
|
53
58
|
if u[:prefix]
|
59
|
+
prefix = htmlent(@prefixes[u[:prefix]].html)
|
54
60
|
base = base.match(/<mi mathvariant='normal'>/) ?
|
55
|
-
base.sub(/<mi mathvariant='normal'>/, "<mi mathvariant='normal'>#{
|
56
|
-
"<mrow><mi mathvariant='normal'>#{
|
61
|
+
base.sub(/<mi mathvariant='normal'>/, "<mi mathvariant='normal'>#{prefix}") :
|
62
|
+
"<mrow><mi mathvariant='normal'>#{prefix}#{base}</mrow>"
|
57
63
|
end
|
58
64
|
mathmlsymbol_exponent(u, base)
|
59
65
|
end
|
@@ -7,7 +7,7 @@ module Asciimath2UnitsML
|
|
7
7
|
def unit_id(text)
|
8
8
|
text = text.gsub(/[()]/, "")
|
9
9
|
/-$/.match(text) and return @prefixes[text.sub(/-$/, "")].id
|
10
|
-
"U_" + (@units[text] ? @units[text].id : text.gsub(/\*/, ".").gsub(/\^/, ""))
|
10
|
+
"U_" + (@units[text] ? @units[text].id.gsub(/'/, "_") : text.gsub(/\*/, ".").gsub(/\^/, ""))
|
11
11
|
end
|
12
12
|
|
13
13
|
def unit(units, origtext, normtext, dims, name)
|
data/lib/unitsdb/dimensions.yaml
CHANGED
@@ -753,50 +753,50 @@ NISTd75:
|
|
753
753
|
powerNumerator: 1
|
754
754
|
symbol: I
|
755
755
|
|
756
|
-
NISTd85:
|
757
|
-
|
756
|
+
#NISTd85:
|
757
|
+
#dimensionless: true
|
758
758
|
|
759
|
-
NISTd84:
|
760
|
-
|
759
|
+
#NISTd84:
|
760
|
+
#dimensionless: true
|
761
761
|
|
762
|
-
NISTd87:
|
763
|
-
|
762
|
+
#NISTd87:
|
763
|
+
#dimensionless: true
|
764
764
|
|
765
|
-
NISTd86:
|
766
|
-
|
765
|
+
#NISTd86:
|
766
|
+
#dimensionless: true
|
767
767
|
|
768
|
-
NISTd81:
|
769
|
-
|
768
|
+
#NISTd81:
|
769
|
+
#dimensionless: true
|
770
770
|
|
771
771
|
NISTd80:
|
772
|
-
|
772
|
+
dimensionless: true
|
773
773
|
|
774
|
-
NISTd83:
|
775
|
-
|
774
|
+
#NISTd83:
|
775
|
+
#dimensionless: true
|
776
776
|
|
777
|
-
NISTd82:
|
778
|
-
|
777
|
+
#NISTd82:
|
778
|
+
#dimensionless: true
|
779
779
|
|
780
|
-
NISTd95:
|
781
|
-
|
780
|
+
#NISTd95:
|
781
|
+
#dimensionless: true
|
782
782
|
|
783
|
-
NISTd94:
|
784
|
-
|
783
|
+
#NISTd94:
|
784
|
+
#dimensionless: true
|
785
785
|
|
786
|
-
NISTd89:
|
787
|
-
|
786
|
+
#NISTd89:
|
787
|
+
#dimensionless: true
|
788
788
|
|
789
|
-
NISTd88:
|
790
|
-
|
789
|
+
#NISTd88:
|
790
|
+
#dimensionless: true
|
791
791
|
|
792
|
-
NISTd91:
|
793
|
-
|
792
|
+
#NISTd91:
|
793
|
+
#dimensionless: true
|
794
794
|
|
795
|
-
NISTd90:
|
796
|
-
|
795
|
+
#NISTd90:
|
796
|
+
#dimensionless: true
|
797
797
|
|
798
|
-
NISTd92:
|
799
|
-
|
798
|
+
#NISTd92:
|
799
|
+
#dimensionless: true
|
800
800
|
|
801
|
-
NISTd93:
|
802
|
-
|
801
|
+
#NISTd93:
|
802
|
+
#dimensionless: true
|
data/lib/unitsdb/quantities.yaml
CHANGED
@@ -1153,13 +1153,13 @@ NISTq88:
|
|
1153
1153
|
url: "#NISTu14.u10e-1/1"
|
1154
1154
|
|
1155
1155
|
NISTq111:
|
1156
|
-
dimension_url: "#
|
1156
|
+
dimension_url: "#NISTd80"
|
1157
1157
|
quantity_type: derived
|
1158
1158
|
quantity_name:
|
1159
1159
|
- rotation
|
1160
1160
|
unit_reference:
|
1161
1161
|
- name: one
|
1162
|
-
url: "#
|
1162
|
+
url: "#NISTu61"
|
1163
1163
|
|
1164
1164
|
NISTq112:
|
1165
1165
|
dimension_url: "#NISTd24"
|
@@ -1234,13 +1234,13 @@ NISTq118:
|
|
1234
1234
|
url: "#NISTu154"
|
1235
1235
|
|
1236
1236
|
NISTq121:
|
1237
|
-
dimension_url: "#
|
1237
|
+
dimension_url: "#NISTd80"
|
1238
1238
|
quantity_type: derived
|
1239
1239
|
quantity_name:
|
1240
1240
|
- logarithmic decrement
|
1241
1241
|
unit_reference:
|
1242
1242
|
- name: one
|
1243
|
-
url: "#
|
1243
|
+
url: "#NISTu61"
|
1244
1244
|
- name: neper
|
1245
1245
|
url: "#NISTu153"
|
1246
1246
|
|
@@ -1385,14 +1385,14 @@ NISTq124:
|
|
1385
1385
|
url: "#NISTu1e-1/1"
|
1386
1386
|
|
1387
1387
|
NISTq125:
|
1388
|
-
dimension_url: "#
|
1388
|
+
dimension_url: "#NISTd80"
|
1389
1389
|
quantity_type: derived
|
1390
1390
|
quantity_name:
|
1391
1391
|
- relative mass density
|
1392
1392
|
- relative density
|
1393
1393
|
unit_reference:
|
1394
1394
|
- name: one
|
1395
|
-
url: "#
|
1395
|
+
url: "#NISTu61"
|
1396
1396
|
|
1397
1397
|
NISTq122:
|
1398
1398
|
dimension_url: "#NISTd29"
|
@@ -1546,22 +1546,22 @@ NISTq71:
|
|
1546
1546
|
url: "#NISTu293"
|
1547
1547
|
|
1548
1548
|
NISTq137:
|
1549
|
-
dimension_url: "#
|
1549
|
+
dimension_url: "#NISTd80"
|
1550
1550
|
quantity_type: derived
|
1551
1551
|
quantity_name:
|
1552
1552
|
- shear strain
|
1553
1553
|
unit_reference:
|
1554
1554
|
- name: one
|
1555
|
-
url: "#
|
1555
|
+
url: "#NISTu61"
|
1556
1556
|
|
1557
1557
|
NISTq138:
|
1558
|
-
dimension_url: "#
|
1558
|
+
dimension_url: "#NISTd80"
|
1559
1559
|
quantity_type: derived
|
1560
1560
|
quantity_name:
|
1561
1561
|
- volume strain
|
1562
1562
|
unit_reference:
|
1563
1563
|
- name: one
|
1564
|
-
url: "#
|
1564
|
+
url: "#NISTu61"
|
1565
1565
|
|
1566
1566
|
NISTq139:
|
1567
1567
|
dimension_url: "#NISTd63"
|
@@ -1637,13 +1637,13 @@ NISTq135:
|
|
1637
1637
|
url: "#NISTu12"
|
1638
1638
|
|
1639
1639
|
NISTq136:
|
1640
|
-
dimension_url: "#
|
1640
|
+
dimension_url: "#NISTd80"
|
1641
1641
|
quantity_type: derived
|
1642
1642
|
quantity_name:
|
1643
1643
|
- linear strain
|
1644
1644
|
unit_reference:
|
1645
1645
|
- name: one
|
1646
|
-
url: "#
|
1646
|
+
url: "#NISTu61"
|
1647
1647
|
|
1648
1648
|
NISTq21:
|
1649
1649
|
dimension_url: "#NISTd16"
|
@@ -1672,13 +1672,13 @@ NISTq141:
|
|
1672
1672
|
url: "#NISTu12"
|
1673
1673
|
|
1674
1674
|
NISTq140:
|
1675
|
-
dimension_url: "#
|
1675
|
+
dimension_url: "#NISTd80"
|
1676
1676
|
quantity_type: derived
|
1677
1677
|
quantity_name:
|
1678
1678
|
- Poisson number
|
1679
1679
|
unit_reference:
|
1680
1680
|
- name: one
|
1681
|
-
url: "#
|
1681
|
+
url: "#NISTu61"
|
1682
1682
|
|
1683
1683
|
NISTq22:
|
1684
1684
|
dimension_url: "#NISTd17"
|
@@ -1840,13 +1840,13 @@ NISTq146:
|
|
1840
1840
|
url: "#NISTu209"
|
1841
1841
|
|
1842
1842
|
NISTq147:
|
1843
|
-
dimension_url: "#
|
1843
|
+
dimension_url: "#NISTd80"
|
1844
1844
|
quantity_type: derived
|
1845
1845
|
quantity_name:
|
1846
1846
|
- dynamic friction factor
|
1847
1847
|
unit_reference:
|
1848
1848
|
- name: one
|
1849
|
-
url: "#
|
1849
|
+
url: "#NISTu61"
|
1850
1850
|
|
1851
1851
|
NISTq144:
|
1852
1852
|
dimension_url: "#NISTd57"
|
@@ -2387,13 +2387,13 @@ NISTq95:
|
|
2387
2387
|
url: "#NISTu1"
|
2388
2388
|
|
2389
2389
|
NISTq94:
|
2390
|
-
dimension_url: "#
|
2390
|
+
dimension_url: "#NISTd80"
|
2391
2391
|
quantity_type: derived
|
2392
2392
|
quantity_name:
|
2393
2393
|
- relative permeability
|
2394
2394
|
unit_reference:
|
2395
2395
|
- name: one
|
2396
|
-
url: "#
|
2396
|
+
url: "#NISTu61"
|
2397
2397
|
|
2398
2398
|
NISTq97:
|
2399
2399
|
dimension_url: "#NISTd1"
|
@@ -2413,7 +2413,6 @@ NISTq96:
|
|
2413
2413
|
- name: meter
|
2414
2414
|
url: "#NISTu1"
|
2415
2415
|
|
2416
|
-
|
2417
2416
|
NISTq40:
|
2418
2417
|
dimension_url: "#NISTd25"
|
2419
2418
|
quantity_type: derived
|
@@ -2457,4 +2456,12 @@ NISTq1001:
|
|
2457
2456
|
- name: var
|
2458
2457
|
url: "#NISTu401"
|
2459
2458
|
|
2459
|
+
NISTq1002:
|
2460
|
+
dimension_url: "#NISTd80"
|
2461
|
+
quantity_type: derived
|
2462
|
+
quantity_name:
|
2463
|
+
- nil
|
2464
|
+
unit_reference:
|
2465
|
+
- name: one
|
2466
|
+
url: "#NISTu61"
|
2460
2467
|
|
data/lib/unitsdb/units.yaml
CHANGED
@@ -1817,26 +1817,6 @@
|
|
1817
1817
|
- name: "potential energy"
|
1818
1818
|
url: "#NISTq77"
|
1819
1819
|
|
1820
|
-
"NISTu132":
|
1821
|
-
dimension_url: "#NISTd85"
|
1822
|
-
short:
|
1823
|
-
root: false
|
1824
|
-
unit_system:
|
1825
|
-
type: "SI_derived_non-special"
|
1826
|
-
name: "SI"
|
1827
|
-
unit_name:
|
1828
|
-
- "one"
|
1829
|
-
unit_symbols:
|
1830
|
-
- id: "1"
|
1831
|
-
ascii: "1"
|
1832
|
-
html: "1"
|
1833
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
1834
|
-
latex: \ensuremath{\mathrm{1}}
|
1835
|
-
unicode: "1"
|
1836
|
-
quantity_reference:
|
1837
|
-
- name: "logarithmic decrement"
|
1838
|
-
url: "#NISTq121"
|
1839
|
-
|
1840
1820
|
"NISTu63":
|
1841
1821
|
dimension_url: "#NISTd15"
|
1842
1822
|
short: table_kg_calorie
|
@@ -3521,6 +3501,26 @@
|
|
3521
3501
|
quantity_reference:
|
3522
3502
|
- name: "refractive index"
|
3523
3503
|
url: "#NISTq93"
|
3504
|
+
- name: "rotation"
|
3505
|
+
url: "#NISTq111"
|
3506
|
+
- name: "relative permeability"
|
3507
|
+
url: "#NISTq94"
|
3508
|
+
- name: "relative mass density"
|
3509
|
+
url: "#NISTq125"
|
3510
|
+
- name: "linear strain"
|
3511
|
+
url: "#NISTq136"
|
3512
|
+
- name: "shear strain"
|
3513
|
+
url: "#NISTq137"
|
3514
|
+
- name: "volume strain"
|
3515
|
+
url: "#NISTq138"
|
3516
|
+
- name: "Poisson number"
|
3517
|
+
url: "#NISTq140"
|
3518
|
+
- name: "dynamic friction factor"
|
3519
|
+
url: "#NISTq147"
|
3520
|
+
- name: "logarithmic decrement"
|
3521
|
+
url: "#NISTq121"
|
3522
|
+
- name: "nil"
|
3523
|
+
url: "#NISTq1002"
|
3524
3524
|
|
3525
3525
|
"NISTu166":
|
3526
3526
|
dimension_url: "#NISTd15"
|
@@ -5053,26 +5053,6 @@
|
|
5053
5053
|
- name: "volume"
|
5054
5054
|
url: "#NISTq10"
|
5055
5055
|
|
5056
|
-
"NISTu181":
|
5057
|
-
dimension_url: "#NISTd82"
|
5058
|
-
short:
|
5059
|
-
root: false
|
5060
|
-
unit_system:
|
5061
|
-
type: "SI_derived_non-special"
|
5062
|
-
name: "SI"
|
5063
|
-
unit_name:
|
5064
|
-
- "one"
|
5065
|
-
unit_symbols:
|
5066
|
-
- id: "1"
|
5067
|
-
ascii: "1"
|
5068
|
-
html: "1"
|
5069
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
5070
|
-
latex: \ensuremath{\mathrm{1}}
|
5071
|
-
unicode: "1"
|
5072
|
-
quantity_reference:
|
5073
|
-
- name: "rotation"
|
5074
|
-
url: "#NISTq111"
|
5075
|
-
|
5076
5056
|
"NISTu175":
|
5077
5057
|
dimension_url: "#NISTd10"
|
5078
5058
|
short: us_gallon
|
@@ -5230,26 +5210,6 @@
|
|
5230
5210
|
- name: "volume"
|
5231
5211
|
url: "#NISTq10"
|
5232
5212
|
|
5233
|
-
"NISTu174":
|
5234
|
-
dimension_url: "#NISTd81"
|
5235
|
-
short:
|
5236
|
-
root: false
|
5237
|
-
unit_system:
|
5238
|
-
type: "SI_derived_non-special"
|
5239
|
-
name: "SI"
|
5240
|
-
unit_name:
|
5241
|
-
- "one"
|
5242
|
-
unit_symbols:
|
5243
|
-
- id: "1"
|
5244
|
-
ascii: "1"
|
5245
|
-
html: "1"
|
5246
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
5247
|
-
latex: \ensuremath{\mathrm{1}}
|
5248
|
-
unicode: "1"
|
5249
|
-
quantity_reference:
|
5250
|
-
- name: "relative permeability"
|
5251
|
-
url: "#NISTq94"
|
5252
|
-
|
5253
5213
|
"NISTu182":
|
5254
5214
|
dimension_url: "#NISTd1"
|
5255
5215
|
short: light_year
|
@@ -10378,160 +10338,6 @@
|
|
10378
10338
|
- name: "molality of solute B"
|
10379
10339
|
url: "#NISTq179"
|
10380
10340
|
|
10381
|
-
"NISTu368":
|
10382
|
-
dimension_url: "#NISTd86"
|
10383
|
-
short:
|
10384
|
-
root: false
|
10385
|
-
unit_system:
|
10386
|
-
type: "SI_derived_non-special"
|
10387
|
-
name: "SI"
|
10388
|
-
unit_name:
|
10389
|
-
- "one"
|
10390
|
-
unit_symbols:
|
10391
|
-
- id: "1"
|
10392
|
-
ascii: "1"
|
10393
|
-
html: "1"
|
10394
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10395
|
-
latex: \ensuremath{\mathrm{1}}
|
10396
|
-
unicode: "1"
|
10397
|
-
quantity_reference:
|
10398
|
-
- name: "relative mass density"
|
10399
|
-
url: "#NISTq125"
|
10400
|
-
|
10401
|
-
"NISTu369":
|
10402
|
-
dimension_url: "#NISTd87"
|
10403
|
-
short:
|
10404
|
-
root: false
|
10405
|
-
unit_system:
|
10406
|
-
type: "SI_derived_non-special"
|
10407
|
-
name: "SI"
|
10408
|
-
unit_name:
|
10409
|
-
- "one"
|
10410
|
-
unit_symbols:
|
10411
|
-
- id: "1"
|
10412
|
-
ascii: "1"
|
10413
|
-
html: "1"
|
10414
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10415
|
-
latex: \ensuremath{\mathrm{1}}
|
10416
|
-
unicode: "1"
|
10417
|
-
quantity_reference:
|
10418
|
-
- name: "linear strain"
|
10419
|
-
url: "#NISTq136"
|
10420
|
-
|
10421
|
-
"NISTu370":
|
10422
|
-
dimension_url: "#NISTd88"
|
10423
|
-
short:
|
10424
|
-
root: false
|
10425
|
-
unit_system:
|
10426
|
-
type: "SI_derived_non-special"
|
10427
|
-
name: "SI"
|
10428
|
-
unit_name:
|
10429
|
-
- "one"
|
10430
|
-
unit_symbols:
|
10431
|
-
- id: "1"
|
10432
|
-
ascii: "1"
|
10433
|
-
html: "1"
|
10434
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10435
|
-
latex: \ensuremath{\mathrm{1}}
|
10436
|
-
unicode: "1"
|
10437
|
-
quantity_reference:
|
10438
|
-
- name: "shear strain"
|
10439
|
-
url: "#NISTq137"
|
10440
|
-
|
10441
|
-
"NISTu371":
|
10442
|
-
dimension_url: "#NISTd89"
|
10443
|
-
short:
|
10444
|
-
root: false
|
10445
|
-
unit_system:
|
10446
|
-
type: "SI_derived_non-special"
|
10447
|
-
name: "SI"
|
10448
|
-
unit_name:
|
10449
|
-
- "one"
|
10450
|
-
unit_symbols:
|
10451
|
-
- id: "1"
|
10452
|
-
ascii: "1"
|
10453
|
-
html: "1"
|
10454
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10455
|
-
latex: \ensuremath{\mathrm{1}}
|
10456
|
-
unicode: "1"
|
10457
|
-
quantity_reference:
|
10458
|
-
- name: "volume strain"
|
10459
|
-
url: "#NISTq138"
|
10460
|
-
|
10461
|
-
"NISTu372":
|
10462
|
-
dimension_url: "#NISTd90"
|
10463
|
-
short:
|
10464
|
-
root: false
|
10465
|
-
unit_system:
|
10466
|
-
type: "SI_derived_non-special"
|
10467
|
-
name: "SI"
|
10468
|
-
unit_name:
|
10469
|
-
- "one"
|
10470
|
-
unit_symbols:
|
10471
|
-
- id: "1"
|
10472
|
-
ascii: "1"
|
10473
|
-
html: "1"
|
10474
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10475
|
-
latex: \ensuremath{\mathrm{1}}
|
10476
|
-
unicode: "1"
|
10477
|
-
quantity_reference:
|
10478
|
-
- name: "Poisson number"
|
10479
|
-
url: "#NISTq140"
|
10480
|
-
|
10481
|
-
"NISTu373":
|
10482
|
-
dimension_url: "#NISTd91"
|
10483
|
-
short:
|
10484
|
-
root: false
|
10485
|
-
unit_system:
|
10486
|
-
type: "SI_derived_non-special"
|
10487
|
-
name: "SI"
|
10488
|
-
unit_name:
|
10489
|
-
- "one"
|
10490
|
-
unit_symbols:
|
10491
|
-
- id: "1"
|
10492
|
-
ascii: "1"
|
10493
|
-
html: "1"
|
10494
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10495
|
-
latex: \ensuremath{\mathrm{1}}
|
10496
|
-
unicode: "1"
|
10497
|
-
quantity_reference:
|
10498
|
-
- name: "dynamic friction factor"
|
10499
|
-
url: "#NISTq147"
|
10500
|
-
|
10501
|
-
"NISTu374":
|
10502
|
-
dimension_url: "#NISTd92"
|
10503
|
-
short:
|
10504
|
-
root: false
|
10505
|
-
unit_system:
|
10506
|
-
type: "SI_derived_non-special"
|
10507
|
-
name: "SI"
|
10508
|
-
unit_name:
|
10509
|
-
- "one"
|
10510
|
-
unit_symbols:
|
10511
|
-
- id: "1"
|
10512
|
-
ascii: "1"
|
10513
|
-
html: "1"
|
10514
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10515
|
-
latex: \ensuremath{\mathrm{1}}
|
10516
|
-
unicode: "1"
|
10517
|
-
|
10518
|
-
"NISTu375":
|
10519
|
-
dimension_url: "#NISTd93"
|
10520
|
-
short:
|
10521
|
-
root: false
|
10522
|
-
unit_system:
|
10523
|
-
type: "SI_derived_non-special"
|
10524
|
-
name: "SI"
|
10525
|
-
unit_name:
|
10526
|
-
- "one"
|
10527
|
-
unit_symbols:
|
10528
|
-
- id: "1"
|
10529
|
-
ascii: "1"
|
10530
|
-
html: "1"
|
10531
|
-
mathml: "<mi mathvariant='normal'>1</mi>"
|
10532
|
-
latex: \ensuremath{\mathrm{1}}
|
10533
|
-
unicode: "1"
|
10534
|
-
|
10535
10341
|
"NISTu376":
|
10536
10342
|
dimension_url: "#NISTd1"
|
10537
10343
|
short: light_week
|
data/spec/conv_spec.rb
CHANGED
@@ -75,7 +75,7 @@ RSpec.describe Asciimath2UnitsML do
|
|
75
75
|
<mn>1</mn>
|
76
76
|
<mo rspace='thickmathspace'>⁢</mo>
|
77
77
|
<mrow xref='U_um'>
|
78
|
-
<mi mathvariant='normal'
|
78
|
+
<mi mathvariant='normal'>µm</mi>
|
79
79
|
</mrow>
|
80
80
|
<Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_um' dimensionURL='#NISTd1'>
|
81
81
|
<UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
|
@@ -84,7 +84,7 @@ RSpec.describe Asciimath2UnitsML do
|
|
84
84
|
<UnitSymbol type='MathML'>
|
85
85
|
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
86
86
|
<mrow>
|
87
|
-
<mi mathvariant='normal'
|
87
|
+
<mi mathvariant='normal'>µm</mi>
|
88
88
|
</mrow>
|
89
89
|
</math>
|
90
90
|
</UnitSymbol>
|
@@ -97,7 +97,7 @@ RSpec.describe Asciimath2UnitsML do
|
|
97
97
|
<PrefixSymbol type='ASCII'>u</PrefixSymbol>
|
98
98
|
<PrefixSymbol type='unicode'>μ</PrefixSymbol>
|
99
99
|
<PrefixSymbol type='LaTeX'>$mu$</PrefixSymbol>
|
100
|
-
<PrefixSymbol type='HTML'
|
100
|
+
<PrefixSymbol type='HTML'>µ</PrefixSymbol>
|
101
101
|
</Prefix>
|
102
102
|
<Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd1'>
|
103
103
|
<Length symbol='L' powerNumerator='1'/>
|
@@ -464,6 +464,7 @@ OUTPUT
|
|
464
464
|
<PrefixSymbol type='LaTeX'>p</PrefixSymbol>
|
465
465
|
<PrefixSymbol type='HTML'>p</PrefixSymbol>
|
466
466
|
</Prefix>
|
467
|
+
<mo rspace='thickmathspace'>⁢</mo>
|
467
468
|
<mrow xref='NISTp10_1'>
|
468
469
|
<mi mathvariant='normal'>da</mi>
|
469
470
|
</mrow>
|
@@ -478,6 +479,54 @@ OUTPUT
|
|
478
479
|
OUTPUT
|
479
480
|
end
|
480
481
|
|
482
|
+
it "deals with HTML entities in UnitsDB" do
|
483
|
+
expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
|
484
|
+
"unitsml(u-)" + "unitsml(um)"
|
485
|
+
INPUT
|
486
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
487
|
+
<mrow xref='NISTp10_-6'>
|
488
|
+
<mi mathvariant='normal'>µ</mi>
|
489
|
+
</mrow>
|
490
|
+
<Prefix xmlns='http://unitsml.nist.gov/2005' prefixBase='10' prefixPower='-6' xml:id='NISTp10_-6'>
|
491
|
+
<PrefixName xml:lang='en'>micro</PrefixName>
|
492
|
+
<PrefixSymbol type='ASCII'>u</PrefixSymbol>
|
493
|
+
<PrefixSymbol type='unicode'>μ</PrefixSymbol>
|
494
|
+
<PrefixSymbol type='LaTeX'>$mu$</PrefixSymbol>
|
495
|
+
<PrefixSymbol type='HTML'>µ</PrefixSymbol>
|
496
|
+
</Prefix>
|
497
|
+
<Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd2'>
|
498
|
+
<Mass symbol='M' powerNumerator='1'/>
|
499
|
+
</Dimension>
|
500
|
+
<Quantity xmlns='http://unitsml.nist.gov/2005' xml:id='NISTq2' dimensionURL='#NISTd2' quantityType='base'>
|
501
|
+
<QuantityName xml:lang='en-US'>mass</QuantityName>
|
502
|
+
</Quantity>
|
503
|
+
<mo>+</mo>
|
504
|
+
<mo rspace='thickmathspace'>⁢</mo>
|
505
|
+
<mrow xref='U_um'>
|
506
|
+
<mi mathvariant='normal'>µm</mi>
|
507
|
+
</mrow>
|
508
|
+
<Unit xmlns='http://unitsml.nist.gov/2005' xml:id='U_um' dimensionURL='#NISTd1'>
|
509
|
+
<UnitSystem name='SI' type='SI_derived' xml:lang='en-US'/>
|
510
|
+
<UnitName xml:lang='en'>um</UnitName>
|
511
|
+
<UnitSymbol type='HTML'>um</UnitSymbol>
|
512
|
+
<UnitSymbol type='MathML'>
|
513
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
514
|
+
<mrow>
|
515
|
+
<mi mathvariant='normal'>µm</mi>
|
516
|
+
</mrow>
|
517
|
+
</math>
|
518
|
+
</UnitSymbol>
|
519
|
+
<RootUnits>
|
520
|
+
<EnumeratedRootUnit unit='meter' prefix='u'/>
|
521
|
+
</RootUnits>
|
522
|
+
</Unit>
|
523
|
+
<Dimension xmlns='http://unitsml.nist.gov/2005' xml:id='NISTd1'>
|
524
|
+
<Length symbol='L' powerNumerator='1'/>
|
525
|
+
</Dimension>
|
526
|
+
</math>
|
527
|
+
OUTPUT
|
528
|
+
end
|
529
|
+
|
481
530
|
it "deals with units division" do
|
482
531
|
expect(xmlpp(Asciimath2UnitsML::Conv.new().Asciimath2UnitsML(<<~INPUT))).to be_equivalent_to xmlpp(<<~OUTPUT)
|
483
532
|
9 "unitsml(A*C^3)" + 13 "unitsml(A/C^-3)"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciimath2unitsml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciimath
|