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