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

Skip to content

Commit 5a8fc07

Browse files
committed
Change the implementation of _wrap_in_tex
1 parent cf92699 commit 5a8fc07

File tree

2 files changed

+13
-24
lines changed

2 files changed

+13
-24
lines changed

lib/matplotlib/dates.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@
172172
import functools
173173
import logging
174174
import math
175+
import re
175176

176177
from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
177178
MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY,
@@ -591,21 +592,12 @@ def drange(dstart, dend, delta):
591592

592593

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

604-
ret_text += '$\\mathdefault{'+text[cursor:start].replace('-', '{-}')
605-
ret_text += '}$'+text[start:end]
606-
cursor = end
607-
608-
ret_text += '$\\mathdefault{'+text[cursor:].replace('-', '{-}')+'}$'
598+
# Braces ensure dashes are not spaced like binary operators.
599+
ret_text = '$\\mathdefault{'+ret_text.replace('-', '{-}')+'}$'
600+
ret_text = ret_text.replace('$\\mathdefault{}$', '')
609601
return ret_text
610602

611603

lib/matplotlib/tests/test_dates.py

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

287286
formatter = mdates.AutoDateFormatter(locator, usetex=True)
288-
print([formatter(loc) for loc in locator()])
289287
assert [formatter(loc) for loc in locator()] == expected
290288

291289

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

0 commit comments

Comments
 (0)