10000 Change the implementation of _wrap_in_tex · matplotlib/matplotlib@6a417bc · GitHub
[go: up one dir, main page]

Skip to content

Commit 6a417bc

Browse files
committed
Change the implementation of _wrap_in_tex
1 parent 2a61c1f commit 6a417bc

File tree

2 files changed

+12
-24
lines changed

2 files changed

+12
-24
lines changed

lib/matplotlib/dates.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -594,21 +594,12 @@ def drange(dstart, dend, delta):
594594

595595

596596
def _wrap_in_tex(text):
597-
# Braces ensure dashes are not spaced like binary operators.
598-
p = re.compile("[a-zA-Z]+")
599-
m = p.finditer(text)
600-
cursor = 0
601-
ret_text = ''
602-
603-
for i in m:
604-
start = i.start()
605-
end = i.end()
597+
p = r'([a-zA-Z]+)'
598+
ret_text = re.sub(p, r'}$\1$\\mathdefault{', text)
606599

607-
ret_text += '$\\mathdefault{'+text[cursor:start].replace('-', '{-}')
608-
ret_text += '}$'+text[start:end]
609-
cursor = end
610-
611-
ret_text += '$\\mathdefault{'+text[cursor:].replace('-', '{-}')+'}$'
600+
# Braces ensure dashes are not spaced like binary operators.
601+
ret_text = '$\\mathdefault{'+ret_text.replace('-', '{-}')+'}$'
602+
ret_text = ret_text.replace('$\\mathdefault{}$', '')
612603
return ret_text
613604

614605

lib/matplotlib/tests/test_dates.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,7 @@ def callable_formatting_function(dates, _):
270270
(datetime.timedelta(weeks=52 * 200),
271271
[r'$\mathdefault{%d}$' % (year,) for year in range(1990, 2171, 20)]),
272272
(datetime.timedelta(days=30),
273-
[r'$\mathdefault{}$Jan$\mathdefault{ %02d 1990}$' % (day,)
274-
for day in range(1, 32, 3)]),
273+
[r'Jan$\mathdefault{ %02d 1990}$' % (day,) for day in range(1, 32, 3)]),
275274
(datetime.timedelta(hours=20),
276275
[r'$\mathdefault{%02d:00:00}$' % (hour,) for hour in range(0, 21, 2)]),
277276
])
@@ -284,7 +283,6 @@ def test_date_formatter_usetex(delta, expected):
284283
locator.set_view_interval(mdates.date2num(d1), mdates.date2num(d2))
285284

286285
formatter = mdates.AutoDateFormatter(locator, usetex=True)
287-
print([formatter(loc) for loc in locator()])
288286
assert [formatter(loc) for loc in locator()] == expected
289287

290288

@@ -553,16 +551,15 @@ def test_concise_formatter_show_offset(t_delta, expected):
553551
(datetime.timedelta(weeks=52 * 200),
554552
['$\\mathdefault{%d}$' % (t, ) for t in range(1980, 2201, 20)]),
555553
(datetime.timedelta(days=40),
556-
['$\\mathdefault{}$Jan$\\mathdefault{}$', '$\\mathdefault{05}$',
557-
'$\\mathdefault{09}$', '$\\mathdefault{13}$', '$\\mathdefault{17}$',
558-
'$\\mathdefault{21}$', '$\\mathdefault{25}$', '$\\mathdefault{29}$',
559-
'$\\mathdefault{}$Feb$\\mathdefault{}$', '$\\mathdefault{05}$',
560-
'$\\mathdefault{09}$']),
554+
['Jan', '$\\mathdefault{05}$', '$\\mathdefault{09}$',
555+
'$\\mathdefault{13}$', '$\\mathdefault{17}$', '$\\mathdefault{21}$',
556+
'$\\mathdefault{25}$', '$\\mathdefault{29}$', 'Feb',
557+
'$\\mathdefault{05}$', '$\\mathdefault{09}$']),
561558
(datetime.timedelta(hours=40),
562-
['$\\mathdefault{}$Jan$\\mathdefault{{-}01}$', '$\\mathdefault{04:00}$',
559+
['Jan$\\mathdefault{{-}01}$', '$\\mathdefault{04:00}$',
563560
'$\\mathdefault{08:00}$', '$\\mathdefault{12:00}$',
564561
'$\\mathdefault{16:00}$', '$\\mathdefault{20:00}$',
565-
'$\\mathdefault{}$Jan$\\mathdefault{{-}02}$', '$\\mathdefault{04:00}$',
562+
'Jan$\\mathdefault{{-}02}$', '$\\mathdefault{04:00}$',
566563
'$\\mathdefault{08:00}$', '$\\mathdefault{12:00}$',
567564
'$\\mathdefault{16:00}$']),
568565
(datetime.timedelta(seconds=2),

0 commit comments

Comments
 (0)
0