Import from v. 2.0.2 downloaded from http://getfo.org/texml/
[texml.git] / Texml / specmap.py
1 """ Map special TeX symbols """
2 # $Id: specmap.py,v 1.4 2006-06-02 03:06:48 olpa Exp $
3 import os
4
5 # text escape map and math escape map should contain the same keys
6
7 textescmap = {
8   '\\': r'\textbackslash{}',
9   '{':  r'\{',
10   '}':  r'\}',
11   '$':  r'\textdollar{}',
12   '&':  r'\&',
13   '#':  r'\#',
14   '^':  r'\^{}',
15   '_':  r'\_',
16   '~':  r'\textasciitilde{}',
17   '%':  r'\%',
18   '|':  r'\textbar{}',
19   '<':  r'\textless{}',
20   '>':  r'\textgreater{}',
21   # not special but typography
22   u'\u00a9': r'\textcopyright{}',
23   u'\u2011': r'\mbox{-}'
24 }
25
26 # Paul Tremblay added this on 2005-03-08
27 textescmap_context = {
28   '\\': r'\textbackslash{}',
29   '{':  r'\{',
30   '}':  r'\}',
31   '$':  r'\textdollar{}',
32   '&':  r'\&',
33   '#':  r'\#',
34   '^':  r'\^{}',
35   '_':  r'\_',
36   '~':  r'\textasciitilde{}',
37   '%':  r'\%',
38   '|':  r'\type{|}',
39   '<':  r'\textless{}',
40   '>':  r'\textgreater{}',
41   # not special but typography
42   # u'\u00a9': r'\textcopyright{}'
43   u'\u2011': r'\mbox{-}'
44 }
45
46 mathescmap = {
47   '\\': r'\backslash{}',
48   '{':  r'\{',
49   '}':  r'\}',
50   '$':  r'\$',
51   '&':  r'\&',
52   '#':  r'\#',
53   '^':  r'\^{}',
54   '_':  r'\_',
55   '~':  r'\~{}',
56   '%':  r'\%',
57   '|':  r'|',
58   '<':  r'<',
59   '>':  r'>',
60   # not special but typography
61   u'\u00a9': r'\copyright{}',
62   u'\u2011': r'-'
63 }
64
65 #
66 # Although these symbols are not special, it is better to escape them
67 # because in as-is form they are not so good
68 #
69 typographymap = {
70   u'\u00a0':  r'~'
71 }
72
73 textescmap.update(typographymap)
74 mathescmap.update(typographymap)
75
76 #
77 # Mapping from spec/@cat to symbols
78 #
79 tocharmap = {
80   'esc':     '\\',
81   'bg':      '{',
82   'eg':      '}',
83   'mshift':  '$',
84   'align':   '&',
85   'parm':    '#',
86   'sup':     '^',
87   'sub':     '_',
88   'tilde':   '~',
89   'comment': '%',
90   'vert':    '|',
91   'lt':      '<',
92   'gt':      '>',
93   'nl':      '\n',
94   'space':   ' ',
95   'nil':     ''
96 }