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

Skip to content

Commit 91a8d98

Browse files
committed
Support \underline in Mathtext.
1 parent 5b5cc0e commit 91a8d98

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

lib/matplotlib/_mathtext.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1770,6 +1770,7 @@ def csnames(group, names):
17701770
p.group = Forward()
17711771
p.operatorname = Forward()
17721772
p.overline = Forward()
1773+
p.underline = Forward()
17731774
p.overset = Forward()
17741775
p.placeable = Forward()
17751776
p.required_group = Forward()
@@ -1820,6 +1821,7 @@ def csnames(group, names):
18201821
+ p.required_group("value"))
18211822

18221823
p.overline <<= cmd(r"\overline", p.required_group("body"))
1824+
p.underline <<= cmd(r"\underline", p.required_group("body"))
18231825

18241826
p.overset <<= cmd(
18251827
r"\overset",
@@ -1843,6 +1845,7 @@ def csnames(group, names):
18431845
| p.underset
18441846
| p.sqrt
18451847
| p.overline
1848+
| p.underline
18461849
)
18471850

18481851
p.simple <<= (
@@ -2478,6 +2481,20 @@ def overline(self, s, loc, toks):
24782481
hlist = Hlist([rightside])
24792482
return [hlist]
24802483

2484+
def underline(self, s, loc, toks):
2485+
body = toks["body"]
2486+
2487+
state = self.get_state()
2488+
thickness = state.get_current_underline_thickness()
2489+
2490+
# Place underline below body (loosely based on node735).
2491+
kern = 3 * thickness
2492+
vlist = Vlist([Hlist([body]), Kern(kern), Hrule(state, thickness)])
2493+
vlist.shift_amount = kern + thickness / 2 + body.depth
2494+
2495+
hlist = Hlist([vlist])
2496+
return [hlist]
2497+
24812498
def _auto_sized_delimiter(self, front, middle, back):
24822499
state = self.get_state()
24832500
if len(middle):

0 commit comments

Comments
 (0)