Skip to content

Navigation Menu

Sign in
Appearance settings

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 b117e76

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

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
@@ -43,8 +43,10 @@ def _get_documentclass():
4343
return _DOCUMENTCLASS
4444

4545

46-
def _get_preamble():
46+
def _get_preamble(commands=None):
4747
"""Prepare a LaTeX preamble based on the rcParams configuration."""
48+
if commands is None:
49+
commands = []
4850
font_size_pt = FontProperties(
4951
size=mpl.rcParams["font.size"]
5052
).get_size_in_points()
@@ -69,6 +71,7 @@ def _get_preamble():
6971
for family in ["serif", "sans\\-serif", "monospace"]]
7072
)
7173
] + [r"\fi"] if mpl.rcParams["pgf.rcfonts"] else []),
74+
*commands,
7275
# Documented as "must come last".
7376
mpl.texmanager._usepackage_if_not_loaded("underscore", option="strings"),
7477
])
@@ -202,12 +205,13 @@ class LatexManager:
202205
@staticmethod
203206
def _build_latex_header():
204207
latex_header = [
205-
_get_preamble(),
206-
# Include TeX program name as a comment for cache invalidation.
207-
# TeX does not allow this to be the first line.
208-
rf"% !TeX program = {mpl.rcParams['pgf.texsystem']}",
209-
# Test whether \includegraphics supports interpolate option.
210-
r"\usepackage{graphicx}",
208+
_get_preamble(commands=[
209+
# Include TeX program name as a comment for cache invalidation.
210+
# TeX does not allow this to be the first line.
211+
rf"% !TeX program = {mpl.rcParams['pgf.texsystem']}",
212+
# Test whether \includegraphics supports interpolate option.
213+
r"\usepackage{graphicx}",
214+
]),
211215
r"\begin{document}",
212216
r"\typeout{pgf_backend_query_start}",
213217
]
@@ -833,11 +837,12 @@ def print_pdf(self, fname_or_fh, *, metadata=None, **kwargs):
833837
"\n".join([
834838
r"\PassOptionsToPackage{pdfinfo={%s}}{hyperref}" % pdfinfo,
835839
r"\PassOptionsToPackage{%s}{geometry}" % geometry_options,
836-
_get_preamble(),
837-
r"\usepackage{hyperref}",
838-
r"\usepackage{geometry}",
839-
r"\geometry{reset, %s}" % geometry_options,
840-
r"\usepackage{pgf}",
840+
_get_preamble(commands=[
841+
r"\usepackage{hyperref}",
842+
r"\usepackage{geometry}",
843+
r"\geometry{reset, %s}" % geometry_options,
844+
r"\usepackage{pgf}",
845+
]),
841846
r"\begin{document}",
842847
r"\centering",
843848
r"\input{figure.pgf}",
@@ -946,11 +951,12 @@ def _write_header(self, width_inches, height_inches):
946951
latex_header = "\n".join([
947952
r"\PassOptionsToPackage{pdfinfo={%s}}{hyperref}" % pdfinfo,
948953
r"\PassOptionsToPackage{%s}{geometry}" % geometry_options,
949-
_get_preamble(),
950-
r"\usepackage{hyperref}",
951-
r"\usepackage{geometry}",
952-
r"\geometry{reset, %s}" % geometry_options,
953-
r"\usepackage{pgf}",
954+
_get_preamble(commands=[
955+
r"\usepackage{hyperref}",
956+
r"\usepackage{geometry}",
957+
r"\geometry{reset, %s}" % geometry_options,
958+
r"\usepackage{pgf}",
959+
]),
954960
r"\setlength{\parindent}{0pt}",
955961
r"\begin{document}%",
956962
])

0 commit comments

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