module LaTeX::Decode::Base

Public Instance Methods

normalize(string) click to toggle source
# File lib/latex/decode/base.rb, line 34
def normalize (string)
  string.gsub!(/\(?:i|j)\b/) { |m| m == '\i' ? 'ı' : 'ȷ' }

  # \foo\ bar -> \foo{} bar
  string.gsub!(/(\[a-zA-Z]+)\(\s+)/, '\1{}\2')

  # Aaaa\o, -> Aaaa\o{},
  string.gsub!(/([^{]\\w)([;,.:%])/, '\1{}\2')

  # \c cb -> \c{cb}
  string.gsub!(/(\[^\sij&#\$\{\}_~%])\s+([[:alpha:]]+)\b/i, '\1{\2}')

  # non-breaking spaces
  string.gsub!(/(\A|[^\])~/, LaTeX.to_unicode("\\1\u00a0"))

  string
end
strip_braces(string) click to toggle source
# File lib/latex/decode/base.rb, line 52
def strip_braces (string)
  string.gsub!(/(^|[^\])([\{\}]+)/, '\1')
  string.gsub!(/\(\{|\})/, '\1')
  string
end