Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2aaaa05

Browse files
committed
added accents to mathtext
svn path=/trunk/matplotlib/; revision=873
1 parent 43bb86d commit 2aaaa05

3 files changed

Lines changed: 30 additions & 7 deletions

File tree

CHANGELOG

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
New entries should be added at the top
22

3+
2005-01-18 Added accents to mathtext: \hat, \breve, \grave, \bar,
4+
\acute, \tilde, \vec, \dot, \ddot. All of them have the same
5+
syntax, eg to make an overbar you do \bar{o} or to make an o umlaut
6+
you do \ddot{o} - JDH
7+
38
2005-01-18 Plugged an image resize memory leaks - JDH
49

510
2005-01-18 Fixed some mathtext parser problems relating to superscripts

lib/matplotlib/_mathtext_data.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,17 @@
138138
r'\rightbracket' : ('cmr10', 72),
139139
r']' : ('cmr10', 72),
140140

141-
141+
# these are mathml names, I think. I'm just using them for the
142+
# tex methods noted
142143
r'\circumflexaccent' : ('cmr10', 124), # for \hat
143144
r'\combiningbreve' : ('cmr10', 81), # for \breve
144-
r'\combiningoverline' : ('cmr10', 131), # for \bar
145-
145+
r'\combiningoverline' : ('cmr10', 131), # for \bar
146+
r'\combininggraveaccent' : ('cmr10', 114), # for \grave
147+
r'\combiningacuteaccent' : ('cmr10', 63), # for \accute
148+
r'\combiningdiaeresis' : ('cmr10', 91), # for \ddot
149+
r'\combiningtilde' : ('cmr10', 75), # for \tilde
150+
r'\combiningrightarrowabove' : ('cmmi10', 110), # for \vec
151+
r'\combiningdotabove' : ('cmr10', 26), # for \dot
146152

147153
r'\leftarrow' : ('cmsy10', 12),
148154
r'\uparrow' : ('cmsy10', 25),

lib/matplotlib/mathtext.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,17 @@
1818
1919
The fonts \cal, \rm, \it, and \tt are allowed.
2020
21+
The following accents are provided: \hat, \breve, \grave, \bar,
22+
\acute, \tilde, \vec, \dot, \ddot. All of them have the same
23+
syntax, eg to make an overbar you do \bar{o} or to make an o umlaut
24+
you do \ddot{o}.
25+
2126
The spacing elements \ , \/ and \hspace{num} are provided. \/
2227
inserts a small space, and \hspace{num} inserts a fraction of the
2328
current fontsize. Eg, if num=0.5 and the fontsize is 12.0,
2429
hspace{0.5} inserts 6 points of space
2530
31+
2632
2733
If you find TeX expressions that don't parse or render properly,
2834
please email me, but please check KNOWN ISSUES below first.
@@ -484,7 +490,7 @@ def set_origin(self, ox, oy):
484490

485491
if loc=='above':
486492
nx = self.centerx() - element.width()/2.0
487-
ny = self.ymax() + self.pady()
493+
ny = self.ymax() + self.pady() - element.ymax() + element.oy + element.height()
488494
#print element, self.ymax(), element.height(), element.ymax(), element.ymin(), ny
489495
elif loc=='below':
490496
nx = self.centerx() - element.width()/2.0
@@ -789,9 +795,15 @@ def accent(self, s, loc, toks):
789795
accent, sym = toks[0]
790796

791797
d = {
792-
r'\hat' : r'\circumflexaccent',
793-
r'\breve' : r'\combiningbreve',
794-
r'\bar' : r'\combiningoverline',
798+
r'\hat' : r'\circumflexaccent',
799+
r'\breve' : r'\combiningbreve',
800+
r'\bar' : r'\combiningoverline',
801+
r'\grave' : r'\combininggraveaccent',
802+
r'\acute' : r'\combiningacuteaccent',
803+
r'\ddot' : r'\combiningdiaeresis',
804+
r'\tilde' : r'\combiningtilde',
805+
r'\dot' : r'\combiningdotabove',
806+
r'\vec' : r'\combiningrightarrowabove',
795807
}
796808
above = SymbolElement(d[accent])
797809
sym.neighbors['above'] = above

0 commit comments

Comments
 (0)