module MathML::LaTeX::BuiltinCommands
Constants
- OVERS
- UNDERS
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/math_ml/latex.rb 711 def initialize 712 add_commands("\\"=>:backslash) 713 add_commands("entity", "stackrel", "frac", "sqrt", "mbox") 714 add_multi_command(:hat_etc, *OVERS.keys) 715 add_multi_command(:underbrace_etc, *UNDERS.keys) 716 add_multi_command(:quad_etc, " ", "quad", "qquad", ",", ":", ";", "!") 717 add_multi_command(:it_etc, "it", "rm", "bf") 718 add_multi_command(:mathit_etc, "mathit", "mathrm", "mathbf", "bm", "mathbb", "mathscr", "mathfrak") 719 add_sym_cmd(Builtin::Symbol::MAP) 720 add_delimiter(Builtin::Symbol::DELIMITERS) 721 722 super 723 end
Public Instance Methods
cmd_backslash()
click to toggle source
# File lib/math_ml/latex.rb 725 def cmd_backslash 726 @ds ? nil : XMLElement.new("br", "xmlns"=>"http://www.w3.org/1999/xhtml") 727 end
cmd_entity()
click to toggle source
# File lib/math_ml/latex.rb 739 def cmd_entity 740 param = @scanner.scan_block ? @scanner[1] : @scanner.scan(/./) 741 raise ParseError.new("Need parameter.") unless param 742 unless @unsecure_entity || @entities[param] 743 param =@scanner.matched[/\A\{#{RE::SPACE}*(.*\})\z/, 1] if @scanner.matched=~RE::BLOCK 744 @scanner.pos = @scanner.pos-(param.size) 745 raise ParseError.new("Unregistered entity.") 746 end 747 Operator.new << entitize(param) 748 end
cmd_frac()
click to toggle source
# File lib/math_ml/latex.rb 805 def cmd_frac 806 n = parse_any; d = parse_any 807 Frac.new(n, d) 808 end
cmd_hat_etc()
click to toggle source
# File lib/math_ml/latex.rb 729 def cmd_hat_etc 730 com = @scanner[1] 731 Over.new(parse_any, Operator.new << entitize(OVERS[com])) 732 end
cmd_it_etc()
click to toggle source
# File lib/math_ml/latex.rb 774 def cmd_it_etc 775 case @scanner[1] 776 when 'it' 777 @font = Font::NORMAL 778 when 'rm' 779 @font = Font::ROMAN 780 when 'bf' 781 @font = Font::BOLD 782 end 783 nil 784 end
cmd_mathit_etc()
click to toggle source
# File lib/math_ml/latex.rb 786 def cmd_mathit_etc 787 case @scanner[1] 788 when 'mathit' 789 parse_mathfont(Font::NORMAL) 790 when 'mathrm' 791 parse_mathfont(Font::ROMAN) 792 when 'mathbf' 793 parse_mathfont(Font::BOLD) 794 when 'bm' 795 parse_mathfont(Font::BOLD_ITALIC) 796 when 'mathbb' 797 parse_mathfont(Font::BLACKBOLD) 798 when 'mathscr' 799 parse_mathfont(Font::SCRIPT) 800 when 'mathfrak' 801 parse_mathfont(Font::FRAKTUR) 802 end 803 end
cmd_mbox()
click to toggle source
# File lib/math_ml/latex.rb 821 def cmd_mbox 822 @scanner.scan_any 823 Text.new << (@scanner.matched =~ RE::BLOCK ? @scanner[1] : @scanner.matched) 824 end
cmd_quad_etc()
click to toggle source
# File lib/math_ml/latex.rb 755 def cmd_quad_etc 756 case @scanner[1] 757 when ' ' 758 Space.new("1em") 759 when 'quad' 760 Space.new("1em") 761 when 'qquad' 762 Space.new("2em") 763 when ',' 764 Space.new("0.167em") 765 when ':' 766 Space.new("0.222em") 767 when ';' 768 Space.new("0.278em") 769 when '!' 770 Space.new("-0.167em") 771 end 772 end
cmd_sqrt()
click to toggle source
# File lib/math_ml/latex.rb 810 def cmd_sqrt 811 if @scanner.scan_option 812 i = parse_into(@scanner[1], Array.new) 813 i = i.size==1 ? i[0] : (Row.new << i) 814 b = parse_any 815 Root.new(i, b) 816 else 817 Sqrt.new << parse_any 818 end 819 end
cmd_stackrel()
click to toggle source
# File lib/math_ml/latex.rb 750 def cmd_stackrel 751 o = parse_any; b = parse_any 752 Over.new(b, o) 753 end
cmd_underbrace_etc()
click to toggle source
# File lib/math_ml/latex.rb 734 def cmd_underbrace_etc 735 com = @scanner[1] 736 Under.new(parse_any, Operator.new << entitize(UNDERS[com])) 737 end