Латекс Цитирование в Matplotlib Legend - программирование
Подтвердить что ты не робот

Латекс Цитирование в Matplotlib Legend

Я создаю цифры для технической бумаги, используя Python с matplotlib. Есть ли способ включить цитирование Latex/Bibtex в текст легенды? В идеале я хотел бы, чтобы решение было похоже на следующее, но не нашло ничего, что работает:

import numpy as np
import matplotlib as mp
import matplotlib.pyplot as plt

x = np.linspace(0., 1., num=100)
y = x**2

plt.plot(x, y, label=r'Data \cite{<key>}')
plt.legend(loc=0)
plt.show()
4b9b3361

Ответ 1

Это можно сделать, используя бета-версию matplotlib pgf для python. Файл python для генерации графика выглядит следующим образом:

import numpy as np
import matplotlib as mpl
mpl.use('pgf')
import matplotlib.pyplot as plt

x = np.linspace(0., 1., num=100)
y = x**2

plt.plot(x, y, label=r'Data \cite{<key>}')
plt.legend(loc=0)
plt.savefig('fig.pgf')

Затем файл pgf можно использовать в латексной бумаге как таковой:

\documentclass[letterpaper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{pgf}

\begin{document}

  \begin{figure}
    \centering
    \input{fig.pgf}
    \caption{Test Figure}
  \end{figure}

\end{document}

Всякий раз, когда файл латекса скомпилирован, ссылка в легенде будет обновляться автоматически.