# File lib/math_ml/latex.rb, line 708
708: def initialize
709: add_commands("\\"=>:backslash)
710: add_commands("entity", "stackrel", "frac", "sqrt", "mbox")
711: add_multi_command(:hat_etc, 'hat', 'breve', 'grave', 'acute', 'dot', 'ddot', 'tilde', 'bar', 'vec', 'check', 'widehat', 'overline', 'widetilde', 'overbrace')
712: add_multi_command(:underbrace_etc, 'underbrace', 'underline')
713: add_multi_command(:quad_etc, " ", "quad", "qquad", ",", ":", ";", "!")
714: add_multi_command(:it_etc, "it", "rm", "bf")
715: add_multi_command(:mathit_etc, "mathit", "mathrm", "mathbf", "bm", "mathbb", "mathscr", "mathfrak")
716: add_sym_cmd(Builtin::Symbol::MAP)
717: add_delimiter(Builtin::Symbol::DELIMITERS)
718:
719: super
720: end
# File lib/math_ml/latex.rb, line 722
722: def cmd_backslash
723: @ds ? nil : XMLElement.new("br", "xmlns"=>"http://www.w3.org/1999/xhtml")
724: end
# File lib/math_ml/latex.rb, line 736
736: def cmd_entity
737: param = @scanner.scan_block ? @scanner[1] : @scanner.scan(/./)
738: raise ParseError.new("Need parameter.") unless param
739: unless @unsecure_entity || @entities[param]
740: param =@scanner.matched[/\A\{#{RE::SPACE}*(.*\})\z/, 1] if @scanner.matched=~RE::BLOCK
741: @scanner.pos = @scanner.pos-(param.size)
742: raise ParseError.new("Unregistered entity.")
743: end
744: Operator.new << entitize(param)
745: end
# File lib/math_ml/latex.rb, line 802
802: def cmd_frac
803: n = parse_any; d = parse_any
804: Frac.new(n, d)
805: end
# File lib/math_ml/latex.rb, line 726
726: def cmd_hat_etc
727: com = @scanner[1]
728: Over.new(parse_any, Operator.new << entitize(OVERS[com]))
729: end
# File lib/math_ml/latex.rb, line 771
771: def cmd_it_etc
772: case @scanner[1]
773: when 'it'
774: @font = Font::NORMAL
775: when 'rm'
776: @font = Font::ROMAN
777: when 'bf'
778: @font = Font::BOLD
779: end
780: nil
781: end
# File lib/math_ml/latex.rb, line 783
783: def cmd_mathit_etc
784: case @scanner[1]
785: when 'mathit'
786: parse_mathfont(Font::NORMAL)
787: when 'mathrm'
788: parse_mathfont(Font::ROMAN)
789: when 'mathbf'
790: parse_mathfont(Font::BOLD)
791: when 'bm'
792: parse_mathfont(Font::BOLD_ITALIC)
793: when 'mathbb'
794: parse_mathfont(Font::BLACKBOLD)
795: when 'mathscr'
796: parse_mathfont(Font::SCRIPT)
797: when 'mathfrak'
798: parse_mathfont(Font::FRAKTUR)
799: end
800: end
# File lib/math_ml/latex.rb, line 818
818: def cmd_mbox
819: @scanner.scan_any
820: Text.new << (@scanner.matched =~ RE::BLOCK ? @scanner[1] : @scanner.matched)
821: end
# File lib/math_ml/latex.rb, line 752
752: def cmd_quad_etc
753: case @scanner[1]
754: when ' '
755: Space.new("1em")
756: when 'quad'
757: Space.new("1em")
758: when 'qquad'
759: Space.new("2em")
760: when ','
761: Space.new("0.167em")
762: when ':'
763: Space.new("0.222em")
764: when ';'
765: Space.new("0.278em")
766: when '!'
767: Space.new("-0.167em")
768: end
769: end
# File lib/math_ml/latex.rb, line 807
807: def cmd_sqrt
808: if @scanner.scan_option
809: i = parse_into(@scanner[1], Array.new)
810: i = i.size==1 ? i[0] : (Row.new << i)
811: b = parse_any
812: Root.new(i, b)
813: else
814: Sqrt.new << parse_any
815: end
816: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.