mml 2.2.1 → 2.3.0
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/.rubocop_todo.yml +14 -4
- data/CLAUDE.md +79 -0
- data/README.adoc +166 -43
- data/lib/mml/base/deprecated_font_attributes.rb +31 -0
- data/lib/mml/base/maction.rb +28 -0
- data/lib/mml/base/maligngroup.rb +26 -0
- data/lib/mml/base/malignmark.rb +26 -0
- data/lib/mml/base/math.rb +23 -0
- data/lib/mml/base/menclose.rb +27 -0
- data/lib/mml/base/merror.rb +25 -0
- data/lib/mml/base/mfenced.rb +34 -0
- data/lib/mml/base/mfrac.rb +33 -0
- data/lib/mml/base/mfraction.rb +33 -0
- data/lib/mml/base/mglyph.rb +42 -0
- data/lib/mml/base/mi.rb +32 -0
- data/lib/mml/base/mlabeledtr.rb +37 -0
- data/lib/mml/base/mlongdiv.rb +31 -0
- data/lib/mml/base/mmultiscripts.rb +31 -0
- data/lib/mml/base/mn.rb +32 -0
- data/lib/mml/base/mo.rb +76 -0
- data/lib/mml/base/mover.rb +29 -0
- data/lib/mml/base/mpadded.rb +35 -0
- data/lib/mml/base/mphantom.rb +25 -0
- data/lib/mml/base/mprescripts.rb +24 -0
- data/lib/mml/base/mroot.rb +25 -0
- data/lib/mml/base/mrow.rb +29 -0
- data/lib/mml/base/ms.rb +37 -0
- data/lib/mml/base/mscarries.rb +33 -0
- data/lib/mml/base/mscarry.rb +29 -0
- data/lib/mml/base/msgroup.rb +31 -0
- data/lib/mml/base/msline.rb +34 -0
- data/lib/mml/base/mspace.rb +52 -0
- data/lib/mml/base/msqrt.rb +25 -0
- data/lib/mml/base/msrow.rb +27 -0
- data/lib/mml/base/mstack.rb +33 -0
- data/lib/mml/base/mstyle.rb +189 -0
- data/lib/mml/base/msub.rb +27 -0
- data/lib/mml/base/msubsup.rb +29 -0
- data/lib/mml/base/msup.rb +27 -0
- data/lib/mml/base/mtable.rb +57 -0
- data/lib/mml/base/mtd.rb +29 -0
- data/lib/mml/base/mtext.rb +32 -0
- data/lib/mml/base/mtr.rb +35 -0
- data/lib/mml/base/munder.rb +31 -0
- data/lib/mml/base/munderover.rb +31 -0
- data/lib/mml/base/none.rb +24 -0
- data/lib/mml/base/semantics.rb +23 -0
- data/lib/mml/base/v3_only/operator_attrs.rb +24 -0
- data/lib/mml/base/v3_only/style_attrs.rb +31 -0
- data/lib/mml/base/v3_only/table_attrs.rb +28 -0
- data/lib/mml/base/v3_only.rb +11 -0
- data/lib/mml/base/v4_attributes.rb +30 -0
- data/lib/mml/base.rb +51 -0
- data/lib/mml/common_elements.rb +85 -0
- data/lib/mml/context_configuration.rb +118 -0
- data/lib/mml/context_options.rb +64 -0
- data/lib/mml/namespace.rb +10 -0
- data/lib/mml/v3/common_elements.rb +8 -0
- data/lib/mml/v3/configuration.rb +4 -96
- data/lib/mml/v3/maction.rb +2 -14
- data/lib/mml/v3/maligngroup.rb +2 -12
- data/lib/mml/v3/malignmark.rb +2 -12
- data/lib/mml/v3/math.rb +3 -10
- data/lib/mml/v3/menclose.rb +3 -14
- data/lib/mml/v3/merror.rb +3 -12
- data/lib/mml/v3/mfenced.rb +3 -21
- data/lib/mml/v3/mfrac.rb +3 -20
- data/lib/mml/v3/mfraction.rb +3 -20
- data/lib/mml/v3/mglyph.rb +3 -38
- data/lib/mml/v3/mi.rb +3 -30
- data/lib/mml/v3/mlabeledtr.rb +2 -23
- data/lib/mml/v3/mlongdiv.rb +3 -18
- data/lib/mml/v3/mmultiscripts.rb +3 -20
- data/lib/mml/v3/mn.rb +3 -30
- data/lib/mml/v3/mo.rb +4 -78
- data/lib/mml/v3/mover.rb +3 -16
- data/lib/mml/v3/mpadded.rb +3 -22
- data/lib/mml/v3/mphantom.rb +3 -12
- data/lib/mml/v3/mprescripts.rb +2 -10
- data/lib/mml/v3/mroot.rb +3 -12
- data/lib/mml/v3/mrow.rb +3 -18
- data/lib/mml/v3/ms.rb +4 -36
- data/lib/mml/v3/mscarries.rb +3 -20
- data/lib/mml/v3/mscarry.rb +3 -16
- data/lib/mml/v3/msgroup.rb +3 -18
- data/lib/mml/v3/msline.rb +2 -20
- data/lib/mml/v3/mspace.rb +3 -50
- data/lib/mml/v3/msqrt.rb +3 -12
- data/lib/mml/v3/msrow.rb +3 -14
- data/lib/mml/v3/mstack.rb +3 -20
- data/lib/mml/v3/mstyle.rb +5 -204
- data/lib/mml/v3/msub.rb +3 -14
- data/lib/mml/v3/msubsup.rb +3 -16
- data/lib/mml/v3/msup.rb +3 -14
- data/lib/mml/v3/mtable.rb +3 -53
- data/lib/mml/v3/mtd.rb +3 -16
- data/lib/mml/v3/mtext.rb +3 -30
- data/lib/mml/v3/mtr.rb +2 -21
- data/lib/mml/v3/munder.rb +3 -18
- data/lib/mml/v3/munderover.rb +3 -18
- data/lib/mml/v3/namespace.rb +1 -4
- data/lib/mml/v3/none.rb +2 -10
- data/lib/mml/v3/semantics.rb +3 -12
- data/lib/mml/v3.rb +51 -77
- data/lib/mml/v4/a.rb +4 -13
- data/lib/mml/v4/common_elements.rb +13 -0
- data/lib/mml/v4/configuration.rb +4 -97
- data/lib/mml/v4/maction.rb +4 -19
- data/lib/mml/v4/maligngroup.rb +4 -17
- data/lib/mml/v4/malignmark.rb +4 -17
- data/lib/mml/v4/math.rb +4 -14
- data/lib/mml/v4/menclose.rb +4 -18
- data/lib/mml/v4/merror.rb +4 -16
- data/lib/mml/v4/mfenced.rb +4 -25
- data/lib/mml/v4/mfrac.rb +4 -24
- data/lib/mml/v4/mfraction.rb +4 -20
- data/lib/mml/v4/mglyph.rb +4 -35
- data/lib/mml/v4/mi.rb +4 -30
- data/lib/mml/v4/mlabeledtr.rb +6 -23
- data/lib/mml/v4/mlongdiv.rb +4 -18
- data/lib/mml/v4/mmultiscripts.rb +4 -24
- data/lib/mml/v4/mn.rb +4 -29
- data/lib/mml/v4/mo.rb +4 -75
- data/lib/mml/v4/mover.rb +4 -20
- data/lib/mml/v4/mpadded.rb +4 -26
- data/lib/mml/v4/mphantom.rb +4 -16
- data/lib/mml/v4/mprescripts.rb +4 -11
- data/lib/mml/v4/mroot.rb +4 -16
- data/lib/mml/v4/mrow.rb +4 -20
- data/lib/mml/v4/ms.rb +4 -34
- data/lib/mml/v4/mscarries.rb +4 -20
- data/lib/mml/v4/mscarry.rb +4 -16
- data/lib/mml/v4/msgroup.rb +4 -18
- data/lib/mml/v4/msline.rb +4 -21
- data/lib/mml/v4/mspace.rb +4 -49
- data/lib/mml/v4/msqrt.rb +4 -16
- data/lib/mml/v4/msrow.rb +4 -18
- data/lib/mml/v4/mstack.rb +4 -24
- data/lib/mml/v4/mstyle.rb +4 -186
- data/lib/mml/v4/msub.rb +4 -18
- data/lib/mml/v4/msubsup.rb +4 -20
- data/lib/mml/v4/msup.rb +4 -18
- data/lib/mml/v4/mtable.rb +4 -55
- data/lib/mml/v4/mtd.rb +4 -20
- data/lib/mml/v4/mtext.rb +4 -29
- data/lib/mml/v4/mtr.rb +4 -25
- data/lib/mml/v4/munder.rb +4 -22
- data/lib/mml/v4/munderover.rb +4 -22
- data/lib/mml/v4/namespace.rb +1 -4
- data/lib/mml/v4/none.rb +6 -11
- data/lib/mml/v4/semantics.rb +4 -12
- data/lib/mml/v4.rb +52 -74
- data/lib/mml/version.rb +1 -1
- data/lib/mml/versioned_parser.rb +46 -0
- data/lib/mml.rb +34 -6
- metadata +60 -4
- data/lib/mml/v3/common_attributes.rb +0 -22
- data/lib/mml/v4/common_attributes.rb +0 -26
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mfrac
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
attribute :linethickness, :string
|
|
13
|
+
attribute :numalign, :string
|
|
14
|
+
attribute :denomalign, :string
|
|
15
|
+
attribute :bevelled, :string
|
|
16
|
+
|
|
17
|
+
xml do
|
|
18
|
+
namespace Mml::Namespace
|
|
19
|
+
element "mfrac"
|
|
20
|
+
mixed_content
|
|
21
|
+
|
|
22
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
map_attribute "linethickness", to: :linethickness
|
|
25
|
+
map_attribute "numalign", to: :numalign
|
|
26
|
+
map_attribute "denomalign", to: :denomalign
|
|
27
|
+
map_attribute "bevelled", to: :bevelled
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mfraction
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
attribute :linethickness, :string
|
|
13
|
+
attribute :numalign, :string
|
|
14
|
+
attribute :denomalign, :string
|
|
15
|
+
attribute :bevelled, :string
|
|
16
|
+
|
|
17
|
+
xml do
|
|
18
|
+
namespace Mml::Namespace
|
|
19
|
+
element "mfraction"
|
|
20
|
+
mixed_content
|
|
21
|
+
|
|
22
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
map_attribute "linethickness", to: :linethickness
|
|
25
|
+
map_attribute "numalign", to: :numalign
|
|
26
|
+
map_attribute "denomalign", to: :denomalign
|
|
27
|
+
map_attribute "bevelled", to: :bevelled
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mglyph
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :alt, :string
|
|
11
|
+
attribute :src, :string
|
|
12
|
+
attribute :width, :string
|
|
13
|
+
attribute :index, :integer
|
|
14
|
+
attribute :height, :string
|
|
15
|
+
attribute :valign, :string
|
|
16
|
+
attribute :mathvariant, :string
|
|
17
|
+
attribute :mathbackground, :string
|
|
18
|
+
|
|
19
|
+
attribute :mathsize, :string
|
|
20
|
+
attribute :mathcolor, :string
|
|
21
|
+
|
|
22
|
+
xml do
|
|
23
|
+
namespace Mml::Namespace
|
|
24
|
+
element "mglyph"
|
|
25
|
+
|
|
26
|
+
map_attribute "src", to: :src
|
|
27
|
+
map_attribute "alt", to: :alt
|
|
28
|
+
map_attribute "index", to: :index
|
|
29
|
+
map_attribute "width", to: :width
|
|
30
|
+
map_attribute "height", to: :height
|
|
31
|
+
map_attribute "valign", to: :valign
|
|
32
|
+
map_attribute "mathvariant", to: :mathvariant
|
|
33
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
34
|
+
|
|
35
|
+
map_attribute "mathsize", to: :mathsize
|
|
36
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/lib/mml/base/mi.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mi
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :dir, :string
|
|
11
|
+
attribute :value, :string
|
|
12
|
+
attribute :mathsize, :string
|
|
13
|
+
attribute :mathcolor, :string
|
|
14
|
+
attribute :mathvariant, :string
|
|
15
|
+
attribute :mathbackground, :string
|
|
16
|
+
|
|
17
|
+
xml do
|
|
18
|
+
namespace Mml::Namespace
|
|
19
|
+
element "mi"
|
|
20
|
+
|
|
21
|
+
map_content to: :value
|
|
22
|
+
map_attribute "dir", to: :dir
|
|
23
|
+
map_attribute "mathsize", to: :mathsize
|
|
24
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
25
|
+
map_attribute "mathvariant", to: :mathvariant
|
|
26
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mlabeledtr
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathbackground, :string
|
|
11
|
+
attribute :columnalign, :string
|
|
12
|
+
attribute :mathcolor, :string
|
|
13
|
+
attribute :rowalign, :string
|
|
14
|
+
attribute :id, :string
|
|
15
|
+
attribute :mtd_value, :mtd, collection: true
|
|
16
|
+
|
|
17
|
+
attribute :groupalign, :string
|
|
18
|
+
|
|
19
|
+
xml do
|
|
20
|
+
namespace Mml::Namespace
|
|
21
|
+
element "mlabeledtr"
|
|
22
|
+
mixed_content
|
|
23
|
+
|
|
24
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
25
|
+
map_attribute "columnalign", to: :columnalign
|
|
26
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
27
|
+
map_attribute "rowalign", to: :rowalign
|
|
28
|
+
map_attribute "id", to: :id
|
|
29
|
+
map_element "mtd", to: :mtd_value
|
|
30
|
+
|
|
31
|
+
map_attribute "groupalign", to: :groupalign
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mlongdiv
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathbackground, :string
|
|
11
|
+
attribute :longdivstyle, :string
|
|
12
|
+
attribute :mathcolor, :string
|
|
13
|
+
attribute :position, :integer
|
|
14
|
+
attribute :shift, :integer
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
namespace Mml::Namespace
|
|
18
|
+
element "mlongdiv"
|
|
19
|
+
mixed_content
|
|
20
|
+
|
|
21
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
22
|
+
map_attribute "longdivstyle", to: :longdivstyle
|
|
23
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
24
|
+
map_attribute "position", to: :position
|
|
25
|
+
map_attribute "shift", to: :shift
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mmultiscripts
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
attribute :subscriptshift, :string
|
|
13
|
+
attribute :superscriptshift, :string
|
|
14
|
+
attribute :mprescripts_value, :mprescripts
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
namespace Mml::Namespace
|
|
18
|
+
element "mmultiscripts"
|
|
19
|
+
mixed_content
|
|
20
|
+
|
|
21
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
22
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
23
|
+
map_attribute "subscriptshift", to: :subscriptshift
|
|
24
|
+
map_attribute "superscriptshift", to: :superscriptshift
|
|
25
|
+
map_element "mprescripts", to: :mprescripts_value
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
data/lib/mml/base/mn.rb
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mn
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :value, :string
|
|
11
|
+
attribute :mathcolor, :string
|
|
12
|
+
attribute :mathbackground, :string
|
|
13
|
+
attribute :mathvariant, :string
|
|
14
|
+
attribute :mathsize, :string
|
|
15
|
+
attribute :dir, :string
|
|
16
|
+
|
|
17
|
+
xml do
|
|
18
|
+
namespace Mml::Namespace
|
|
19
|
+
element "mn"
|
|
20
|
+
|
|
21
|
+
map_content to: :value
|
|
22
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
map_attribute "mathvariant", to: :mathvariant
|
|
25
|
+
map_attribute "mathsize", to: :mathsize
|
|
26
|
+
map_attribute "dir", to: :dir
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
data/lib/mml/base/mo.rb
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mo
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :value, :string
|
|
11
|
+
attribute :mathcolor, :string
|
|
12
|
+
attribute :mathbackground, :string
|
|
13
|
+
attribute :mathvariant, :string
|
|
14
|
+
attribute :mathsize, :string
|
|
15
|
+
attribute :dir, :string
|
|
16
|
+
attribute :form, :string
|
|
17
|
+
attribute :lspace, :string
|
|
18
|
+
attribute :rspace, :string
|
|
19
|
+
attribute :stretchy, :string
|
|
20
|
+
attribute :symmetric, :string
|
|
21
|
+
attribute :maxsize, :string
|
|
22
|
+
attribute :minsize, :string
|
|
23
|
+
attribute :largeop, :string
|
|
24
|
+
attribute :movablelimits, :string
|
|
25
|
+
attribute :accent, :string
|
|
26
|
+
attribute :linebreak, :string
|
|
27
|
+
attribute :lineleading, :string
|
|
28
|
+
attribute :linebreakstyle, :string
|
|
29
|
+
attribute :linebreakmultchar, :string
|
|
30
|
+
attribute :indentalign, :string
|
|
31
|
+
attribute :indentshift, :string
|
|
32
|
+
attribute :indenttarget, :string
|
|
33
|
+
attribute :indentalignfirst, :string
|
|
34
|
+
attribute :indentshiftfirst, :string
|
|
35
|
+
attribute :indentalignlast, :string
|
|
36
|
+
attribute :indentshiftlast, :string
|
|
37
|
+
|
|
38
|
+
# rubocop:disable Metrics/BlockLength
|
|
39
|
+
xml do
|
|
40
|
+
namespace Mml::Namespace
|
|
41
|
+
element "mo"
|
|
42
|
+
|
|
43
|
+
map_content to: :value
|
|
44
|
+
map_attribute "dir", to: :dir
|
|
45
|
+
map_attribute "form", to: :form
|
|
46
|
+
map_attribute "accent", to: :accent
|
|
47
|
+
map_attribute "lspace", to: :lspace
|
|
48
|
+
map_attribute "rspace", to: :rspace
|
|
49
|
+
map_attribute "maxsize", to: :maxsize
|
|
50
|
+
map_attribute "minsize", to: :minsize
|
|
51
|
+
map_attribute "largeop", to: :largeop
|
|
52
|
+
map_attribute "stretchy", to: :stretchy
|
|
53
|
+
map_attribute "mathsize", to: :mathsize
|
|
54
|
+
map_attribute "linebreak", to: :linebreak
|
|
55
|
+
map_attribute "symmetric", to: :symmetric
|
|
56
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
57
|
+
map_attribute "mathvariant", to: :mathvariant
|
|
58
|
+
map_attribute "lineleading", to: :lineleading
|
|
59
|
+
map_attribute "indentalign", to: :indentalign
|
|
60
|
+
map_attribute "indentshift", to: :indentshift
|
|
61
|
+
map_attribute "indenttarget", to: :indenttarget
|
|
62
|
+
map_attribute "movablelimits", to: :movablelimits
|
|
63
|
+
map_attribute "linebreakstyle", to: :linebreakstyle
|
|
64
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
65
|
+
map_attribute "indentalignlast", to: :indentalignlast
|
|
66
|
+
map_attribute "indentshiftlast", to: :indentshiftlast
|
|
67
|
+
map_attribute "indentalignfirst", to: :indentalignfirst
|
|
68
|
+
map_attribute "indentshiftfirst", to: :indentshiftfirst
|
|
69
|
+
map_attribute "linebreakmultchar", to: :linebreakmultchar
|
|
70
|
+
end
|
|
71
|
+
# rubocop:enable Metrics/BlockLength
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mover
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathbackground, :string
|
|
11
|
+
attribute :mathcolor, :string
|
|
12
|
+
attribute :accent, :string
|
|
13
|
+
attribute :align, :string
|
|
14
|
+
|
|
15
|
+
xml do
|
|
16
|
+
namespace Mml::Namespace
|
|
17
|
+
element "mover"
|
|
18
|
+
mixed_content
|
|
19
|
+
|
|
20
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
21
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
22
|
+
map_attribute "accent", to: :accent
|
|
23
|
+
map_attribute "align", to: :align
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mpadded
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathbackground, :string
|
|
11
|
+
attribute :mathcolor, :string
|
|
12
|
+
attribute :voffset, :string
|
|
13
|
+
attribute :height, :string
|
|
14
|
+
attribute :lspace, :string
|
|
15
|
+
attribute :depth, :string
|
|
16
|
+
attribute :width, :string
|
|
17
|
+
|
|
18
|
+
xml do
|
|
19
|
+
namespace Mml::Namespace
|
|
20
|
+
element "mpadded"
|
|
21
|
+
mixed_content
|
|
22
|
+
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
25
|
+
map_attribute "voffset", to: :voffset
|
|
26
|
+
map_attribute "height", to: :height
|
|
27
|
+
map_attribute "lspace", to: :lspace
|
|
28
|
+
map_attribute "depth", to: :depth
|
|
29
|
+
map_attribute "width", to: :width
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mphantom
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
namespace Mml::Namespace
|
|
15
|
+
element "mphantom"
|
|
16
|
+
mixed_content
|
|
17
|
+
|
|
18
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
19
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mprescripts
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
namespace Mml::Namespace
|
|
15
|
+
element "mprescripts"
|
|
16
|
+
|
|
17
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
18
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mroot
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
namespace Mml::Namespace
|
|
15
|
+
element "mroot"
|
|
16
|
+
mixed_content
|
|
17
|
+
|
|
18
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
19
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mrow
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathbackground, :string
|
|
11
|
+
attribute :mathcolor, :string
|
|
12
|
+
attribute :content, :string
|
|
13
|
+
attribute :dir, :string
|
|
14
|
+
|
|
15
|
+
xml do
|
|
16
|
+
namespace Mml::Namespace
|
|
17
|
+
element "mrow"
|
|
18
|
+
mixed_content
|
|
19
|
+
|
|
20
|
+
map_content to: :content
|
|
21
|
+
map_attribute "dir", to: :dir
|
|
22
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
data/lib/mml/base/ms.rb
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Ms
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathbackground, :string
|
|
11
|
+
attribute :mathvariant, :string
|
|
12
|
+
attribute :mathcolor, :string
|
|
13
|
+
attribute :mathsize, :string
|
|
14
|
+
attribute :lquote, :string
|
|
15
|
+
attribute :rquote, :string
|
|
16
|
+
attribute :value, :string
|
|
17
|
+
attribute :dir, :string
|
|
18
|
+
|
|
19
|
+
xml do
|
|
20
|
+
namespace Mml::Namespace
|
|
21
|
+
element "ms"
|
|
22
|
+
mixed_content
|
|
23
|
+
|
|
24
|
+
map_content to: :value
|
|
25
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
26
|
+
map_attribute "mathvariant", to: :mathvariant
|
|
27
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
28
|
+
map_attribute "mathsize", to: :mathsize
|
|
29
|
+
map_attribute "lquote", to: :lquote
|
|
30
|
+
map_attribute "rquote", to: :rquote
|
|
31
|
+
map_attribute "dir", to: :dir
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mscarries
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :scriptsizemultiplier, :integer
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
attribute :mathcolor, :string
|
|
13
|
+
attribute :position, :integer
|
|
14
|
+
attribute :location, :string
|
|
15
|
+
attribute :crossout, :string
|
|
16
|
+
|
|
17
|
+
xml do
|
|
18
|
+
namespace Mml::Namespace
|
|
19
|
+
element "mscarries"
|
|
20
|
+
mixed_content
|
|
21
|
+
|
|
22
|
+
map_attribute "scriptsizemultiplier", to: :scriptsizemultiplier
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
25
|
+
map_attribute "position", to: :position
|
|
26
|
+
map_attribute "location", to: :location
|
|
27
|
+
map_attribute "crossout", to: :crossout
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Mscarry
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
attribute :location, :string
|
|
13
|
+
attribute :crossout, :string
|
|
14
|
+
|
|
15
|
+
xml do
|
|
16
|
+
namespace Mml::Namespace
|
|
17
|
+
element "mscarry"
|
|
18
|
+
mixed_content
|
|
19
|
+
|
|
20
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
21
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
22
|
+
map_attribute "location", to: :location
|
|
23
|
+
map_attribute "crossout", to: :crossout
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Msgroup
|
|
6
|
+
# NOTE: class_eval resolves constants in module's lexical scope.
|
|
7
|
+
# Use fully qualified names (e.g., Mml::Namespace).
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :mathcolor, :string
|
|
11
|
+
attribute :mathbackground, :string
|
|
12
|
+
attribute :position, :integer
|
|
13
|
+
attribute :shift, :integer
|
|
14
|
+
attribute :msgroup_text, :string
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
namespace Mml::Namespace
|
|
18
|
+
element "msgroup"
|
|
19
|
+
mixed_content
|
|
20
|
+
|
|
21
|
+
map_content to: :msgroup_text
|
|
22
|
+
map_attribute "mathcolor", to: :mathcolor
|
|
23
|
+
map_attribute "mathbackground", to: :mathbackground
|
|
24
|
+
map_attribute "position", to: :position
|
|
25
|
+
map_attribute "shift", to: :shift
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|