def __init__(self): DisplayCompiler.__init__(self) self.fragments['separator'].literals['='] = ' + ' self.fragments['separator'].literals['-'] = ' -> ' self.fragments['separator'].literals['/'] = '*' self.fragments['separator'].literals['=,'] = ' = ' self.fragments['separator'].literals['-/'] = ' <--> ' self.fragments['separator'].literals['=/'] = ' <=> ' self.fragments['coefficient'].wrap = ('{}', '{}/{}') self.fragments['charge'].literals['='] = '+' self.fragments['charge'].literals['-'] = '-' for numeral in range(10): self.fragments['charge'].literals[str(numeral)] = str(numeral) self.fragments['charge'].wrap = ('^{}',) self.fragments['state'].literals['l'] = r'$\ell$' self.fragments['state'].wrap = (' _{{({})}}',) for numeral in range(10): self.fragments['counter'].literals[str(numeral)] = str(numeral) self.fragments['open group'].literals["'"] = '(' self.fragments['close group'].literals["'"] = ')'
def __init__(self): DisplayCompiler.__init__(self) self.fragments['separator'].literals['='] = ' + ' self.fragments['separator'].literals['-'] = ' ⟶ ' self.fragments['separator'].literals['/'] = '·' self.fragments['separator'].literals['=,'] = ' = ' self.fragments['separator'].literals['-/'] = ' ⇄ ' self.fragments['separator'].literals['=/'] = ' ⇌ ' self.fragments['coefficient'].wrap = ( '{} ', '<sup>{}</sup>⁄<sub>{}</sub> ') self.fragments['charge'].literals['='] = '+' self.fragments['charge'].literals['-'] = '−' for numeral in range(10): self.fragments['charge'].literals[str(numeral)] = str(numeral) self.fragments['charge'].wrap = ('<sup>{}</sup>',) self.fragments['state'].literals['l'] = 'ℓ' self.fragments['state'].wrap = ('<sub>({})</sub>',) for numeral in range(10): self.fragments['counter'].literals[str(numeral)] = str(numeral) self.fragments['counter'].wrap = ('<sub>{}</sub>',) self.fragments['open group'].literals["'"] = '(' self.fragments['close group'].literals["'"] = ')'
def __init__(self): DisplayCompiler.__init__(self) self.fragments['separator'].literals['='] = ' + ' self.fragments['separator'].literals['-'] = ' \u27f6 ' self.fragments['separator'].literals['/'] = '\xb7' self.fragments['separator'].literals['=,'] = ' = ' self.fragments['separator'].literals['-/'] = ' \u21c4 ' self.fragments['separator'].literals['=/'] = ' \u21cc ' self.fragments['coefficient'].wrap = ( '{}\u2006', r'\ :sup:`{}`\ ' '\u2044\ ' r':sub:`{}`\ ' '\u2006') self.fragments['charge'].literals['='] = '+' self.fragments['charge'].literals['-'] = '\u2212' for numeral in range(10): self.fragments['charge'].literals[str(numeral)] = str(numeral) self.fragments['charge'].wrap = (r'\ :sup:`{}`\ ',) self.fragments['state'].literals['l'] = '\u2113' self.fragments['state'].wrap = (r'\ :sub:`({})`\ ',) for numeral in range(10): self.fragments['counter'].literals[str(numeral)] = str(numeral) self.fragments['counter'].wrap = (r'\ :sub:`{}`\ ',) self.fragments['open group'].literals["'"] = '(' self.fragments['close group'].literals["'"] = ')'
def __init__(self): DisplayCompiler.__init__(self) self.fragments['separator'].literals['='] = ' + ' self.fragments['separator'].literals['-'] = ' \u27f6 ' self.fragments['separator'].literals['/'] = '\xb7' self.fragments['separator'].literals['=,'] = ' = ' self.fragments['separator'].literals['-/'] = ' \u21c4 ' self.fragments['separator'].literals['=/'] = ' \u21cc ' self.fragments['coefficient'].wrap = ('{}\u2006', '{}\u2044{}\u2006') self.fragments['charge'].literals['='] = '\u207a' self.fragments['charge'].literals['-'] = '\u207b' for numeral in range(10): self.fragments['charge'].literals[str(numeral)] = ( '\u2070\xb9\xb2\xb3\u2074\u2075\u2076\u2077\u2078' '\u2079'[numeral]) self.fragments['state'].literals['l'] = '\u2113' self.fragments['state'].wrap = ('({})',) for numeral in range(10): self.fragments['counter'].literals[str(numeral)] = ( '\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088' '\u2089'[numeral]) self.fragments['open group'].literals["'"] = '(' self.fragments['close group'].literals["'"] = ')'
def __init__(self): DisplayCompiler.__init__(self) # We can use \underset or \overset{text}{arrow} to make text above # or below separators without using packages other than AMS. self.fragments['separator'].literals['='] = '+' self.fragments['separator'].literals['-'] = r'\longrightarrow' self.fragments['separator'].literals['/'] = r'\cdot{}' self.fragments['separator'].literals['=,'] = '=' self.fragments['separator'].literals['-/'] = r'\rightleftarrows' self.fragments['separator'].literals['=/'] = r'\rightleftharpoons' self.fragments['coefficient'].wrap = (r'{}\,', r'\frac{{{}}}{{{}}}\,') self.fragments['charge'].literals['='] = '+' self.fragments['charge'].literals['-'] = '-' for numeral in range(10): self.fragments['charge'].literals[str(numeral)] = str(numeral) self.fragments['charge'].wrap = ('^{{{}}}{{}}',) self.fragments['state'].literals['l'] = r'\ell' self.fragments['state'].wrap = (r'_{{\mathrm{{({})}}}}{{}}',) self.fragments['element'].wrap = (r'\mathrm{{{}}}',) for numeral in range(10): self.fragments['counter'].literals[str(numeral)] = str(numeral) self.fragments['counter'].wrap = ('_{{{}}}{{}}',) self.fragments['open group'].literals["'"] = r'\left(' self.fragments['close group'].literals["'"] = r'\right)'
def compile(self, ast): # Merge adjacent subscripts and superscripts. return re.sub(r'<(sup|sub)>(.+?)</\1><\1>(.+?)</\1>', r'<\1>\2\3</\1>', DisplayCompiler.compile(self, ast))
def compile(self, ast): return re.sub(r'(\\ :(?:sub|sup):`)([^`]+?)`\\ \1([^`]+?)`\\ ', r'\1\2\3`\\ ', DisplayCompiler.compile(self, ast) ).replace(r'\ \ ', r'\ ').rstrip(r'\ ')
def compile(self, ast): return r'\ce{{{}}}'.format(DisplayCompiler.compile(self, ast))
def compile(self, ast): # Merge adjacent subscripts, superscripts and \mathrms. return r'\({}\)'.format(re.sub( r'(_|\^|\\mathrm)\{([^{}]+?)\}(?:\{\})?(?:\1\{([^{}]+?)\})+', self._replace, DisplayCompiler.compile(self, ast)))