Module: Plurimath::Formatter::Numbers::TextRenderer
- Defined in:
- lib/plurimath/formatter/numbers/text_renderer.rb
Overview
Renders a Formatter result (FormattedNotation, FormattedNumber, or String) into a plain-text format (LaTeX, AsciiMath, HTML, UnicodeMath). For semantic base notation, each format’s template lives in BASE_TEMPLATES; adding a new text format is a one-line change there. When the caller supplies an explicit base_prefix/base_postfix, the literal prefix+postfix take precedence (no format-specific decoration).
Constant Summary collapse
- BASE_TEMPLATES =
%<sign>s %<digits>s %<base>d — sign_text returns “” for positives without explicit :plus, so interpolation collapses cleanly.
{ asciimath: "%<sign>s%<digits>s_(%<base>d)", unicodemath: "%<sign>s%<digits>s_(%<base>d)", latex: "%<sign>s\\mathrm{%<digits>s}_{%<base>d}", html: "%<sign>s%<digits>s<sub>%<base>d</sub>", }.freeze
Class Method Summary collapse
Class Method Details
.render(result, format) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/plurimath/formatter/numbers/text_renderer.rb', line 24 def render(result, format) return result.to_s unless structured_number?(result) if result.base_notation.literal? result.to_s else render_semantic(result, format) end end |