Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e2d1aa7

Browse filesBrowse files
committed
Pass extra commands as an arg to _get_preamble
These commands are run before using the underscore package.
1 parent 7d20c7c commit e2d1aa7
Copy full SHA for e2d1aa7

File tree

1 file changed

+23
-17
lines changed
Filter options

1 file changed

+23
-17
lines changed

‎lib/matplotlib/backends/backend_pgf.py

Copy file name to clipboardExpand all lines: lib/matplotlib/backends/backend_pgf.py
+23-17Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ def _get_documentclass():
4242
else:
4343
return _DOCUMENTCLASS
4444

45-
def _get_preamble():
45+
def _get_preamble(commands=None):
4646
"""Prepare a LaTeX preamble based on the rcParams configuration."""
47+
if commands is None:
48+
commands = []
4749
font_size_pt = FontProperties(
4850
size=mpl.rcParams["font.size"]
4951
).get_size_in_points()
@@ -68,6 +70,7 @@ def _get_preamble():
6870
for family in ["serif", "sans\\-serif", "monospace"]]
6971
)
7072
] + [r"\fi"] if mpl.rcParams["pgf.rcfonts"] else []),
73+
*commands,
7174
# Documented as "must come last".
7275
mpl.texmanager._usepackage_if_not_loaded("underscore", option="strings"),
7376
])
@@ -201,12 +204,13 @@ class LatexManager:
201204
@staticmethod
202205
def _build_latex_header():
203206
latex_header = [
204-
_get_preamble(),
205-
# Include TeX program name as a comment for cache invalidation.
206-
# TeX does not allow this to be the first line.
207-
rf"% !TeX program = {mpl.rcParams['pgf.texsystem']}",
208-
# Test whether \includegraphics supports interpolate option.
209-
r"\usepackage{graphicx}",
207+
_get_preamble(commands=[
208+
# Include TeX program name as a comment for cache invalidation.
209+
# TeX does not allow this to be the first line.
210+
rf"% !TeX program = {mpl.rcParams['pgf.texsystem']}",
211+
# Test whether \includegraphics supports interpolate option.
212+
r"\usepackage{graphicx}",
213+
]),
210214
r"\begin{document}",
211215
r"\typeout{pgf_backend_query_start}",
212216
]
@@ -832,11 +836,12 @@ def print_pdf(self, fname_or_fh, *, metadata=None, **kwargs):
832836
"\n".join([
833837
r"\PassOptionsToPackage{pdfinfo={%s}}{hyperref}" % pdfinfo,
834838
r"\PassOptionsToPackage{%s}{geometry}" % geometry_options,
835-
_get_preamble(),
836-
r"\usepackage{hyperref}",
837-
r"\usepackage{geometry}",
838-
r"\geometry{reset, %s}" % geometry_options,
839-
r"\usepackage{pgf}",
839+
_get_preamble(inserted_lines=[
840+
r"\usepackage{hyperref}",
841+
r"\usepackage{geometry}",
842+
r"\geometry{reset, %s}" % geometry_options,
843+
r"\usepackage{pgf}",
844+
]),
840845
r"\begin{document}",
841846
r"\centering",
842847
r"\input{figure.pgf}",
@@ -945,11 +950,12 @@ def _write_header(self, width_inches, height_inches):
945950
latex_header = "\n".join([
946951
r"\PassOptionsToPackage{pdfinfo={%s}}{hyperref}" % pdfinfo,
947952
r"\PassOptionsToPackage{%s}{geometry}" % geometry_options,
948-
_get_preamble(),
949-
r"\usepackage{hyperref}",
950-
r"\usepackage{geometry}",
951-
r"\geometry{reset, %s}" % geometry_options,
952-
r"\usepackage{pgf}",
953+
_get_preamble(inserted_lines=[
954+
r"\usepackage{hyperref}",
955+
r"\usepackage{geometry}",
956+
r"\geometry{reset, %s}" % geometry_options,
957+
r"\usepackage{pgf}",
958+
]),
953959
r"\setlength{\parindent}{0pt}",
954960
r"\begin{document}%",
955961
])

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.