示例#1
0
文件: latex.py 项目: spamalot/quichem
 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["'"] = ')'
示例#2
0
文件: html.py 项目: spamalot/quichem
 def __init__(self):
     DisplayCompiler.__init__(self)
     self.fragments['separator'].literals['='] = '&nbsp;+ '
     self.fragments['separator'].literals['-'] = '&nbsp;&#x27f6; '
     self.fragments['separator'].literals['/'] = '&#x00b7;'
     self.fragments['separator'].literals['=,'] = '&nbsp;= '
     self.fragments['separator'].literals['-/'] = '&nbsp;&#x21c4; '
     self.fragments['separator'].literals['=/'] = '&nbsp;&#x21cc; '
     self.fragments['coefficient'].wrap = (
         '{}&#x2006;', '<sup>{}</sup>&frasl;<sub>{}</sub>&#x2006;')
     self.fragments['charge'].literals['='] = '+'
     self.fragments['charge'].literals['-'] = '&#x2212;'
     for numeral in range(10):
         self.fragments['charge'].literals[str(numeral)] = str(numeral)
     self.fragments['charge'].wrap = ('<sup>{}</sup>',)
     self.fragments['state'].literals['l'] = '&#x2113;'
     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["'"] = ')'
示例#3
0
文件: rst.py 项目: spamalot/quichem
 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["'"] = ')'
示例#4
0
文件: plain.py 项目: spamalot/quichem
 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["'"] = ')'
示例#5
0
文件: latex.py 项目: spamalot/quichem
 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)'
示例#6
0
文件: html.py 项目: spamalot/quichem
 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))
示例#7
0
文件: rst.py 项目: spamalot/quichem
 def compile(self, ast):
     return re.sub(r'(\\ :(?:sub|sup):`)([^`]+?)`\\ \1([^`]+?)`\\ ',
                   r'\1\2\3`\\ ',
                   DisplayCompiler.compile(self, ast)
                   ).replace(r'\ \ ', r'\ ').rstrip(r'\ ')
示例#8
0
文件: latex.py 项目: spamalot/quichem
 def compile(self, ast):
     return r'\ce{{{}}}'.format(DisplayCompiler.compile(self, ast))
示例#9
0
文件: latex.py 项目: spamalot/quichem
 def compile(self, ast):
     # Merge adjacent subscripts, superscripts and \mathrms.
     return r'\({}\)'.format(re.sub(
         r'(_|\^|\\mathrm)\{([^{}]+?)\}(?:\{\})?(?:\1\{([^{}]+?)\})+',
         self._replace, DisplayCompiler.compile(self, ast)))