Я использую matplotlib с его pgf-бэкендом для генерации графиков, которые я включаю в свой проект LaTeX beamer.Я сталкиваюсь с проблемами, когда использую латексные команды, которые не определены.Но для моего приложения мне не нужен matplotlib для генерации меток или аннотаций с использованием латекса, мне нужен только правильный вывод pgf, и я буду вызывать LaTeX в своем документе beamer.Если бы я запустил этот код в записной книжке, я бы ожидал, что в xlabel будет график с буквенным символом "\ si {\ процент}".
В приведенном ниже MWE, когда я запускаю его с закомментированной строкой (используя \si{\percent}
), происходит сбой matplotlib с латексной ошибкой («неизвестная команда si»).Я не хочу создавать преамбулу с помощью matplotlib, я просто хочу вывод pgf, содержащий команду \ si {\ процент} ...
Если я использую двойную обратную косую черту, код проходит, но появляется двойная обратная косая чертатакже в выводе pfg и, следовательно, latex не распознает команду (я думаю, что она видит новую строку).
Я не понимаю "значение" plt.rc ('text', usetex)= False).Я думал, что это отключит вызов LaTeX вообще ...
import numpy as np
import matplotlib as mpl
mpl.use('pgf')
from matplotlib import pyplot as plt
from matplotlib import rc
plt.style.use('bmh')
plt.rc('pgf',rcfonts=False)
plt.rc('text', usetex=False)
x = np.linspace(0,100,101)
y = np.cos(x/100)*np.exp(-x/100)
plt.plot(x,y)
#plt.xlabel(r'value (\si{\percent})')
plt.xlabel(r'value (%)')
plt.savefig('test.pgf')