diff --git a/lib/matplotlib/_mathtext.py b/lib/matplotlib/_mathtext.py
index 96a69919c86b..45e51f53984d 100644
--- a/lib/matplotlib/_mathtext.py
+++ b/lib/matplotlib/_mathtext.py
@@ -2158,7 +2158,8 @@ def __init__(self):
p.sqrt <<= Group(
Suppress(Literal(r"\sqrt"))
- - ((Optional(p.lbracket + p.int_literal + p.rbracket, default=None)
+ - ((Group(Optional(
+ p.lbracket + OneOrMore(~p.rbracket + p.token) + p.rbracket))
+ p.required_group)
| Error("Expected \\sqrt{value}"))
)
@@ -2864,10 +2865,10 @@ def sqrt(self, s, loc, toks):
# Add the root and shift it upward so it is above the tick.
# The value of 0.6 is a hard-coded hack ;)
- if root is None:
+ if not root:
root = Box(check.width * 0.5, 0., 0.)
else:
- root = Hlist([Char(x, state) for x in root])
+ root = Hlist(root)
root.shrink()
root.shrink()
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.pdf
new file mode 100644
index 000000000000..de2ef3a4650c
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.pdf differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.png
new file mode 100644
index 000000000000..be37ea1310b2
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.png differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.svg
new file mode 100644
index 000000000000..87d0fa099624
--- /dev/null
+++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_cm_83.svg
@@ -0,0 +1,266 @@
+
+
+
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.pdf
new file mode 100644
index 000000000000..37666eb8184c
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.pdf differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.png
new file mode 100644
index 000000000000..6ed22242ea75
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.png differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.svg
new file mode 100644
index 000000000000..10db68971cf3
--- /dev/null
+++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavusans_83.svg
@@ -0,0 +1,207 @@
+
+
+
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.pdf
new file mode 100644
index 000000000000..515ef6b796b5
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.pdf differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.png
new file mode 100644
index 000000000000..647566e30c08
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.png differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.svg
new file mode 100644
index 000000000000..d4548c63ba7a
--- /dev/null
+++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_dejavuserif_83.svg
@@ -0,0 +1,199 @@
+
+
+
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.pdf
new file mode 100644
index 000000000000..7c7bc7137606
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.pdf differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.png
new file mode 100644
index 000000000000..735e6da90f7d
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.png differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.svg
new file mode 100644
index 000000000000..4ce409019050
--- /dev/null
+++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stix_83.svg
@@ -0,0 +1,206 @@
+
+
+
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.pdf b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.pdf
new file mode 100644
index 000000000000..68a8bfcfe34b
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.pdf differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.png b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.png
new file mode 100644
index 000000000000..9cc7c1a07f7e
Binary files /dev/null and b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.png differ
diff --git a/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.svg b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.svg
new file mode 100644
index 000000000000..11204b3afc5d
--- /dev/null
+++ b/lib/matplotlib/tests/baseline_images/test_mathtext/mathtext_stixsans_83.svg
@@ -0,0 +1,184 @@
+
+
+
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
index 072d8f098b1d..3f52ebd37799 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -109,6 +109,7 @@
r'$,$ $.$ $1{,}234{, }567{ , }890$ and $1,234,567,890$', # github issue 5799
r'$\left(X\right)_{a}^{b}$', # github issue 7615
r'$\dfrac{\$100.00}{y}$', # github issue #1888
+ r'$\sqrt[ab]{123}$', # github issue #8665
]
digits = "0123456789"