From a4487f1762e722b1d7639ec13c531a7c2f8ce889 Mon Sep 17 00:00:00 2001 From: Yves Chevallier Date: Sun, 9 Aug 2020 11:44:41 +0200 Subject: [PATCH] Check if LaTeX package already added --- sphinx/registry.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sphinx/registry.py b/sphinx/registry.py index 0aec0a9fd0c..4d1e9eb7246 100644 --- a/sphinx/registry.py +++ b/sphinx/registry.py @@ -367,7 +367,14 @@ def add_js_file(self, filename: str, **attributes: str) -> None: logger.debug('[app] adding js_file: %r, %r', filename, attributes) self.js_files.append((filename, attributes)) + def has_latex_package(self, name: str) -> bool: + packages = self.latex_packages + self.latex_packages_after_hyperref + return bool([x for x in packages if x[0] == name]) + def add_latex_package(self, name: str, options: str, after_hyperref: bool = False) -> None: + if self.has_latex_package(name): + logger.warn("latex package '%s' already included" % name) + logger.debug('[app] adding latex package: %r', name) if after_hyperref: self.latex_packages_after_hyperref.append((name, options))