8000 Merge pull request #19849 from smartlixx/FIX_date_usetex · matplotlib/matplotlib@3665241 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3665241

Browse files
authored
Merge pull request #19849 from smartlixx/FIX_date_usetex
FIX: DateFormatter for month names when usetex=True
2 parents b5a206e + 5a8fc07 commit 3665241

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

lib/matplotlib/dates.py

Lines changed: 7 additions & 1 deletion
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,8 +592,13 @@ def drange(dstart, dend, delta):
591592

592593

593594
def _wrap_in_tex(text):
595+
p = r'([a-zA-Z]+)'
596+
ret_text = re.sub(p, r'}$\1$\\mathdefault{', text)
597+
594598
# Braces ensure dashes are not spaced like binary operators.
595-
return '$\\mathdefault{' + text.replace('-', '{-}') + '}$'
599+
ret_text = '$\\mathdefault{'+ret_text.replace('-', '{-}')+'}$'
600+
ret_text = ret_text.replace('$\\mathdefault{}$', '')
601+
return ret_text
596602

597603

598604
## date tickers and formatters ###

lib/matplotlib/tests/test_dates.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ def callable_formatting_function(dates, _):
271271
(datetime.timedelta(weeks=52 * 200),
272272
[r'$\mathdefault{%d}$' % (year,) for year in range(1990, 2171 8000 , 20)]),
273273
(datetime.timedelta(days=30),
274-
[r'$\mathdefault{Jan %02d 1990}$' % (day,) for day in range(1, 32, 3)]),
274+
[r'Jan$\mathdefault{ %02d 1990}$' % (day,) for day in range(1, 32, 3)]),
275275
(datetime.timedelta(hours=20),
276276
[r'$\mathdefault{%02d:00:00}$' % (hour,) for hour in range(0, 21, 2)]),
277277
])
@@ -550,15 +550,15 @@ def test_concise_formatter_show_offset(t_delta, expected):
550550
(datetime.timedelta(weeks=52 * 200),
551551
['$\\mathdefault{%d}$' % (t, ) for t in range(1980, 2201, 20)]),
552552
(datetime.timedelta(days=40),
553-
['$\\mathdefault{Jan}$', '$\\mathdefault{05}$', '$\\mathdefault{09}$',
553+
['Jan', '$\\mathdefault{05}$', '$\\mathdefault{09}$',
554554
'$\\mathdefault{13}$', '$\\mathdefault{17}$', '$\\mathdefault{21}$',
555-
'$\\mathdefault{25}$', '$\\mathdefault{29}$', '$\\mathdefault{Feb}$',
555+
'$\\mathdefault{25}$', '$\\mathdefault{29}$', 'Feb',
556556
'$\\mathdefault{05}$', '$\\mathdefault{09}$']),
557557
(datetime.timedelta(hours=40),
558-
['$\\mathdefault{Jan{-}01}$', '$\\mathdefault{04:00}$',
558+
['Jan$\\mathdefault{{-}01}$', '$\\mathdefault{04:00}$',
559559
'$\\mathdefault{08:00}$', '$\\mathdefault{12:00}$',
560560
'$\\mathdefault{16:00}$', '$\\mathdefault{20:00}$',
561-
'$\\mathdefault{Jan{-}02}$', '$\\mathdefault{04:00}$',
561+
'Jan$\\mathdefault{{-}02}$', '$\\mathdefault{04:00}$',
562562
'$\\mathdefault{08:00}$', '$\\mathdefault{12:00}$',
563563
'$\\mathdefault{16:00}$']),
564564
(datetime.timedelta(seconds=2),

0 commit comments

Comments
 (0)
0