लेटेक्स चलाने पर Matplotlib वर्तमान कार्यशील निर्देशिका में फ़ाइलों को नहीं ढूंढता प्रतीत होता है। क्या किसी को पता है कि यह फाइलों के लिए कहां दिखता है?Matplotlib लेटेक्स कार्यशील निर्देशिका/खोज पथ
पृष्ठभूमि है: मेरे पास प्रसंस्करण से पहले लेटेक्स में \input
है (मैक्रोज़, विभिन्न usepackages, आदि) से पहले मुझे एक बड़ा प्रस्ताव है। एक स्टैंडअलोन पेपर में, मैं \input{BigFatHeader.tex}
करता हूं। तो जब मैं matplotlib का उपयोग करता हूं, तो मैं इस फ़ाइल को प्रीम्बल में इनपुट करने का प्रयास करता हूं। यह करने के लिए अजगर कोड
matplotlib.rcParams['text.latex.preamble'].append(r'\input{BigFatHeader.tex}')
है और मैं पुष्टि कर सकते हैं कि उस फ़ाइल CWD में है - मैं इसे देख जब मैं ls
, या मैं os.path.isfile("BigFatHeader.tex")
करते हैं और यह सच है प्राप्त कर सकते हैं। लेकिन जब मैं लेटेक्स का उपयोग करके कुछ साजिश करने की कोशिश करता हूं, तो पाइथन लेटेक्स प्रक्रिया से एक बड़ा त्रुटि संदेश निकालता है, जो में समाप्त होता है! लाटेक्स त्रुटि: फ़ाइल 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}
ऐसा नहीं है कि यह मेरी समस्या का समाधान में मदद मिली है, लेकिन में मामला किसी को उत्सुक है, मेरे स्थापना में काम कर निर्देशिका '~/.matplotlib/tex.cache /' साबित हुआ। – Mike