diff options
Diffstat (limited to 'sphinx/util/texescape.py')
-rw-r--r-- | sphinx/util/texescape.py | 168 |
1 files changed, 85 insertions, 83 deletions
diff --git a/sphinx/util/texescape.py b/sphinx/util/texescape.py index c0619f46..6fcf9ff0 100644 --- a/sphinx/util/texescape.py +++ b/sphinx/util/texescape.py @@ -9,93 +9,95 @@ :license: BSD, see LICENSE for details. """ +from __future__ import unicode_literals + tex_replacements = [ # map TeX special chars - (u'$', ur'\$'), - (u'%', ur'\%'), - (u'&', ur'\&'), - (u'#', ur'\#'), - (u'_', ur'\_'), - (u'{', ur'\{'), - (u'}', ur'\}'), - (u'[', ur'{[}'), - (u']', ur'{]}'), - (u'`', ur'{}`'), - (u'\\',ur'\textbackslash{}'), - (u'~', ur'\textasciitilde{}'), - (u'<', ur'\textless{}'), - (u'>', ur'\textgreater{}'), - (u'^', ur'\textasciicircum{}'), + ('$', r'\$'), + ('%', r'\%'), + ('&', r'\&'), + ('#', r'\#'), + ('_', r'\_'), + ('{', r'\{'), + ('}', r'\}'), + ('[', r'{[}'), + (']', r'{]}'), + ('`', r'{}`'), + ('\\',r'\textbackslash{}'), + ('~', r'\textasciitilde{}'), + ('<', r'\textless{}'), + ('>', r'\textgreater{}'), + ('^', r'\textasciicircum{}'), # map special Unicode characters to TeX commands - (u'¶', ur'\P{}'), - (u'§', ur'\S{}'), - (u'€', ur'\texteuro{}'), - (u'∞', ur'\(\infty\)'), - (u'±', ur'\(\pm\)'), - (u'→', ur'\(\rightarrow\)'), - (u'‣', ur'\(\rightarrow\)'), + ('¶', r'\P{}'), + ('§', r'\S{}'), + ('€', r'\texteuro{}'), + ('∞', r'\(\infty\)'), + ('±', r'\(\pm\)'), + ('→', r'\(\rightarrow\)'), + ('‣', r'\(\rightarrow\)'), # used to separate -- in options - (u'', ur'{}'), + ('', r'{}'), # map some special Unicode characters to similar ASCII ones - (u'─', ur'-'), - (u'⎽', ur'\_'), - (u'╲', ur'\textbackslash{}'), - (u'|', ur'\textbar{}'), - (u'│', ur'\textbar{}'), - (u'ℯ', ur'e'), - (u'ⅈ', ur'i'), - (u'₁', ur'1'), - (u'₂', ur'2'), + ('─', r'-'), + ('⎽', r'\_'), + ('╲', r'\textbackslash{}'), + ('|', r'\textbar{}'), + ('│', r'\textbar{}'), + ('ℯ', r'e'), + ('ⅈ', r'i'), + ('₁', r'1'), + ('₂', r'2'), # map Greek alphabet - (u'α', ur'\(\alpha\)'), - (u'β', ur'\(\beta\)'), - (u'γ', ur'\(\gamma\)'), - (u'δ', ur'\(\delta\)'), - (u'ε', ur'\(\epsilon\)'), - (u'ζ', ur'\(\zeta\)'), - (u'η', ur'\(\eta\)'), - (u'θ', ur'\(\theta\)'), - (u'ι', ur'\(\iota\)'), - (u'κ', ur'\(\kappa\)'), - (u'λ', ur'\(\lambda\)'), - (u'μ', ur'\(\mu\)'), - (u'ν', ur'\(\nu\)'), - (u'ξ', ur'\(\xi\)'), - (u'ο', ur'o'), - (u'π', ur'\(\pi\)'), - (u'ρ', ur'\(\rho\)'), - (u'σ', ur'\(\sigma\)'), - (u'τ', ur'\(\tau\)'), - (u'υ', u'\\(\\upsilon\\)'), - (u'φ', ur'\(\phi\)'), - (u'χ', ur'\(\chi\)'), - (u'ψ', ur'\(\psi\)'), - (u'ω', ur'\(\omega\)'), - (u'Α', ur'A'), - (u'Β', ur'B'), - (u'Γ', ur'\(\Gamma\)'), - (u'Δ', ur'\(\Delta\)'), - (u'Ε', ur'E'), - (u'Ζ', ur'Z'), - (u'Η', ur'H'), - (u'Θ', ur'\(\Theta\)'), - (u'Ι', ur'I'), - (u'Κ', ur'K'), - (u'Λ', ur'\(\Lambda\)'), - (u'Μ', ur'M'), - (u'Ν', ur'N'), - (u'Ξ', ur'\(\Xi\)'), - (u'Ο', ur'O'), - (u'Π', ur'\(\Pi\)'), - (u'Ρ', ur'P'), - (u'Σ', ur'\(\Sigma\)'), - (u'Τ', ur'T'), - (u'Υ', u'\\(\\Upsilon\\)'), - (u'Φ', ur'\(\Phi\)'), - (u'Χ', ur'X'), - (u'Ψ', ur'\(\Psi\)'), - (u'Ω', ur'\(\Omega\)'), - (u'Ω', ur'\(\Omega\)'), + ('α', r'\(\alpha\)'), + ('β', r'\(\beta\)'), + ('γ', r'\(\gamma\)'), + ('δ', r'\(\delta\)'), + ('ε', r'\(\epsilon\)'), + ('ζ', r'\(\zeta\)'), + ('η', r'\(\eta\)'), + ('θ', r'\(\theta\)'), + ('ι', r'\(\iota\)'), + ('κ', r'\(\kappa\)'), + ('λ', r'\(\lambda\)'), + ('μ', r'\(\mu\)'), + ('ν', r'\(\nu\)'), + ('ξ', r'\(\xi\)'), + ('ο', r'o'), + ('π', r'\(\pi\)'), + ('ρ', r'\(\rho\)'), + ('σ', r'\(\sigma\)'), + ('τ', r'\(\tau\)'), + ('υ', '\\(\\upsilon\\)'), + ('φ', r'\(\phi\)'), + ('χ', r'\(\chi\)'), + ('ψ', r'\(\psi\)'), + ('ω', r'\(\omega\)'), + ('Α', r'A'), + ('Β', r'B'), + ('Γ', r'\(\Gamma\)'), + ('Δ', r'\(\Delta\)'), + ('Ε', r'E'), + ('Ζ', r'Z'), + ('Η', r'H'), + ('Θ', r'\(\Theta\)'), + ('Ι', r'I'), + ('Κ', r'K'), + ('Λ', r'\(\Lambda\)'), + ('Μ', r'M'), + ('Ν', r'N'), + ('Ξ', r'\(\Xi\)'), + ('Ο', r'O'), + ('Π', r'\(\Pi\)'), + ('Ρ', r'P'), + ('Σ', r'\(\Sigma\)'), + ('Τ', r'T'), + ('Υ', '\\(\\Upsilon\\)'), + ('Φ', r'\(\Phi\)'), + ('Χ', r'X'), + ('Ψ', r'\(\Psi\)'), + ('Ω', r'\(\Omega\)'), + ('Ω', r'\(\Omega\)'), ] tex_escape_map = {} @@ -105,8 +107,8 @@ tex_hl_escape_map_new = {} def init(): for a, b in tex_replacements: tex_escape_map[ord(a)] = b - tex_replace_map[ord(a)] = u'_' + tex_replace_map[ord(a)] = '_' for a, b in tex_replacements: - if a in u'[]{}\\': continue + if a in '[]{}\\': continue tex_hl_escape_map_new[ord(a)] = b |