Sha256: db9421c6e9e867c94a3502fcdfa31ed7118e095b10924bdf5637416691ff8ac7

Contents?: true

Size: 1.8 KB

Versions: 14

Compression:

Stored size: 1.8 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(intent, **)
          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 = "", _, _, **)
          t_tag = (Utility.ox_element("t", namespace: "m") << right_paren)
          "#{spacing}\"#{dump_ox_nodes(t_tag).gsub(/\s+/, "")}\" right\n"
        end

        def to_unicodemath_math_zone(spacing = "", _, _, **)
          "#{spacing}\"#{parameter_one}\" right\n"
        end

        protected

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

          parameter_one
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
plurimath-0.9.0 lib/plurimath/math/function/right.rb
plurimath-0.8.27 lib/plurimath/math/function/right.rb
plurimath-0.8.26 lib/plurimath/math/function/right.rb
plurimath-0.8.25 lib/plurimath/math/function/right.rb
plurimath-0.8.24 lib/plurimath/math/function/right.rb
plurimath-0.8.23 lib/plurimath/math/function/right.rb
plurimath-0.8.22 lib/plurimath/math/function/right.rb
plurimath-0.8.21 lib/plurimath/math/function/right.rb
plurimath-0.8.20 lib/plurimath/math/function/right.rb
plurimath-0.8.19 lib/plurimath/math/function/right.rb
plurimath-0.8.18 lib/plurimath/math/function/right.rb
plurimath-0.8.17 lib/plurimath/math/function/right.rb
plurimath-0.8.16 lib/plurimath/math/function/right.rb
plurimath-0.8.15 lib/plurimath/math/function/right.rb