2013-08-01 50 views
10

Tôi đang tạo số liệu cho một giấy kỹ thuật sử dụng Python với matplotlib. Có cách nào để bao gồm trích dẫn Latex/Bibtex trong văn bản chú giải không? Lý tưởng nhất là tôi muốn một cái gì đó giải pháp như bất cứ điều gì sau đây nhưng chưa phát hiện ra rằng hoạt động:Trích dẫn bằng latex trong matplotlib Huyền thoại

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() 
+0

Bạn sẽ phải nhập thủ công trích dẫn, vậy tại sao không chỉ gắn nhãn cho trích dẫn đó '' Ref Data. [#] ''? – wflynny

+0

chúng tôi psfrag https://en.wikipedia.org/wiki/PSfrag – tacaswell

+0

Tôi đang sử dụng điều này trong luận án của tôi và các số trích dẫn thay đổi thường xuyên và liên tục cập nhật các con số trở thành một rắc rối. – LWhitson2

Trả lời

9

Điều này có thể được thực hiện bằng cách sử dụng phụ trợ matplotlib PGF cho python. Các tập tin python để tạo ra các đồ thị như sau:

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') 

file PGF sau đó có thể được sử dụng trong một bài báo mủ như vậy:

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

\begin{document} 

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

\end{document} 

Bất cứ khi nào các tập tin latex được biên dịch, trích dẫn trong chú thích sẽ được cập nhật tự động.

+1

Đẹp! Tốt để biết nó hoạt động! Tôi nghĩ tôi sẽ phải sử dụng mẹo đó trong tương lai ... –