# -*- coding: utf-8 -*-
# Description: EquationSet macro
# Detail: Presents multiple equations.
from Remark.Macro_Registry import registerMacro
from Remark.FileSystem import markdownRegion
class EquationSet_Macro(object):
    def __init__(self, wrapMacro):
        self.wrapMacro = wrapMacro
    def name(self):
        return 'EquationSet'
    def expand(self, parameter, remark):
        text = []
        # Variables
        scope = remark.scopeStack.top()
        className = scope.getString('EquationSet.class_name', 'EquationSet')
        for line in parameter:
            cleanLine = line.strip()
            if cleanLine != '':
                # An ordered list of equations.
                equationText = remark.macro(self.wrapMacro, [cleanLine])
                if len(equationText) > 0:
                    equationText[0] = '1. ' + equationText[0]
                text += equationText
        text =  markdownRegion(text, {'class' : className})
        return text
    def expandOutput(self):
        return False
    def htmlHead(self, remark):
        return []                
    def postConversion(self, remark):
        None
registerMacro('EquationSet', EquationSet_Macro('Equation'))
registerMacro('EquationSet_Latex', EquationSet_Macro('Equation_Latex'))
registerMacro('EquationSet_Latex_D', EquationSet_Macro('Equation_Latex_D'))