Sha256: 6c939ec4993f2d0df7afc572e5c4402fafa89205e2154eb3770215df998e37a0

Contents?: true

Size: 1.65 KB

Versions: 10

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

require_relative "unary_function"

module Plurimath
  module Math
    module Function
      class Right < UnaryFunction
        def to_asciimath
          "right#{parameter_one}"
        end

        def to_mathml_without_math_tag
          mo = Utility.ox_element("mo")
          mo << right_paren if parameter_one
          mo
        end

        def to_omml_without_math_tag(_)
          mr = Utility.ox_element("m:r")
          if parameter_one
            mt = Utility.ox_element("m:t")
            mr << (mt << parameter_one)
          end
          [mr]
        end

        def to_html
          "<i>#{parameter_one}</i>"
        end

        def to_latex
          "\\right #{latex_paren}"
        end

        def to_unicodemath
          parameter_one
        end

        def validate_function_formula
          false
        end

        def to_asciimath_math_zone(spacing = "", _, _)
          "#{spacing}\"#{latex_paren}\" right\n"
        end

        def to_latex_math_zone(spacing = "", _, _)
          "#{spacing}\"#{latex_paren}\" right\n"
        end

        def to_mathml_math_zone(spacing = "", _, _)
          mo_tag = (Utility.ox_element("mo") << right_paren)
          "#{spacing}\"#{dump_ox_nodes(mo_tag).gsub(/\s+/, "")}\" right\n"
        end

        def to_omml_math_zone(spacing = "", _, _, display_style:)
          t_tag = (Utility.ox_element("t", namespace: "m") << right_paren)
          "#{spacing}\"#{dump_ox_nodes(t_tag).gsub(/\s+/, "")}\" right\n"
        end

        protected

        def right_paren
          return "}" if parameter_one == "\\}"

          parameter_one
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
plurimath-0.8.10 lib/plurimath/math/function/right.rb
plurimath-0.8.9 lib/plurimath/math/function/right.rb
plurimath-0.8.8 lib/plurimath/math/function/right.rb
plurimath-0.8.7 lib/plurimath/math/function/right.rb
plurimath-0.8.6 lib/plurimath/math/function/right.rb
plurimath-0.8.5 lib/plurimath/math/function/right.rb
plurimath-0.8.4 lib/plurimath/math/function/right.rb
plurimath-0.8.2 lib/plurimath/math/function/right.rb
plurimath-0.8.1 lib/plurimath/math/function/right.rb
plurimath-0.8.0 lib/plurimath/math/function/right.rb