उपयोग करने के लिए बनाते हैं। मैं संस्करण 3.81 के साथ काम कर रहा हूं, जो supposed to use the first rule it comes to है, लेकिन ऐसा लगता है कि अधिक विशिष्ट नियम पर निर्भरता है जिसे किसी अन्य नियम के साथ बनाया जाना चाहिए। मैं make
चाहते .bbl
फ़ाइल के साथ पीडीएफ निर्माण करने के लिएसेना मैं एक अधिक विशिष्ट नियम का उपयोग करने के लिए <code>make</code> मजबूर करने के लिए नहीं कर पा रहे एक अधिक विशिष्ट नियम
#rule for the dependency of the more specific rule
%.bbl: %.tex *.bib
<build the .bbl file>
#more specific rule
some_prefix%.pdf: some_prefix%.tex some_prefix%.bbl
<build the .pdf>
#general rule
%.pdf: %.tex
<build the .pdf>
तो मूल रूप से अगर यह some_prefix
से मेल खाता है, नहीं तो और अधिक सामान्य नियम का उपयोग: यहाँ बुनियादी चित्र है। दुर्भाग्यवश, जब तक कि मैं .bbl
फ़ाइल पर निर्भरता को हटा नहीं देता, दूसरा नियम कभी नहीं कहा जाता है।
मैं सामान्य नियम के लिए एक हैक जोड़कर यह काम कर रहा प्राप्त करने में सक्षम होने लगते हैं:
%.pdf: %.tex %.hack
<make the pdf with a more general rule>
%.hack: %.tex
touch [email protected]
यह काम करने के लिए लगता है, और .hack
फ़ाइलें स्वचालित रूप से नष्ट हो जाती हैं, लेकिन जैसा कि नाम का तात्पर्य, यह है एक भयानक हैक। ऐसा लगता है कि विशिष्ट नियम के उपयोग को मजबूर करने के लिए कुछ बेहतर तरीका होना चाहिए।
मैं अधिक विशिष्ट नियम का उपयोग करने के लिए कैसे मजबूर कर सकता हूं? इसे पहले रखना मदद में प्रतीत नहीं होता है।
कि '% .bbl' नियम सही तरीके से काम करता है? जब आप 'some_prefix_something.tex' और यादृच्छिक' * .bib' फ़ाइलें मौजूद होते हैं और यह सही तरीके से काम करते हैं, तो क्या आप 'some_prefix_something.bbl' बना सकते हैं'? 'मेक-डी' क्या कहता है जब यह आपके नियम का उपयोग आपके द्वारा अपेक्षित तरीके से नहीं करता है? –
@EtanReisner, यह दिलचस्प है: अगर मैं पहले '.bbl' फ़ाइल बना देता हूं और फिर' .pdf' यह काम करता है। रन बनाने के बाद '.bbl' फ़ाइल सामान्य रूप से हटा दी जाती है, हालांकि (जो मैं चाहता हूं), इसलिए यह स्पष्ट रूप से' .bbl' को स्पष्ट किए बिना काम नहीं करता है। – Shep
यह वही है जो मैं नीचे दिए गए मेरे उत्तर से अपेक्षा करता हूं: जब 'bbl' फ़ाइलें मौजूद होती हैं तो एल्गोरिदम का चरण # 5 लागू होता है क्योंकि पूर्वापेक्षाएँ फ़ाइल पहले से मौजूद है। यह तब होता है जब फाइलें मौजूद नहीं होती हैं, जिससे उन्हें बनाने के लिए नियम श्रृंखला का उपयोग करने की आवश्यकता होती है। – MadScientist