Matplotlib, похоже, не находит файлы в текущем рабочем каталоге при работе с латексом. Кто-нибудь знает, где он ищет файлы?
Справочная информация: у меня есть огромная преамбула, которую я \input
помещаю в латекс перед обработкой (много макросов, различные пакеты использования и т. Д.). В отдельной статье я делаю \input{BigFatHeader.tex}
. Поэтому, когда я использую matplotlib, я пытаюсь просто ввести этот файл в преамбулу. Код Python для этого:
matplotlib.rcParams['text.latex.preamble'].append(r'\input{BigFatHeader.tex}')
И я могу проверить, что этот файл находится в cwd - я вижу это, когда я ls
, или я могу сделать os.path.isfile("BigFatHeader.tex")
и получить True. Но когда я пытаюсь построить что-то с использованием латекса, python выдает большое сообщение об ошибке из процесса латекса, которое завершается
! Ошибка LaTeX: Файл BigFatHeader.tex
не найден.
Так что, по-видимому, он переключается в какой-то другой каталог (не /tmp/
; я проверял) для выполнения своей работы. Есть идеи, где это может быть?
Мой минимальный рабочий пример:
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['text.latex.preamble'] = r'\input{BigFatHeader.tex}'
matplotlib.rcParams['text.usetex'] = True
plt.plot([1,2])
plt.savefig('MWE.pdf')
Где BigFatHeader.tex
может быть таким же простым, как
\usepackage{bm}