2009-09-09 15 views
5

मुझे अपने लाटेक्स दस्तावेज़ों के लिए कुछ तस्वीरें खींचने की ज़रूरत है, और मैंने पाया है कि हाथ से बना पोस्टस्क्रिप्ट एक अच्छा फिट प्रतीत होता है (मैं प्रोग्रामिंग रूप से सामान करना चाहता हूं, गणित कार्यों की आवश्यकता है, आदि)। मैंने टिकज़ की भी कोशिश की है, लेकिन यह सिर्फ जटिल और उपयोग करने में मुश्किल लग रहा था।किसी भी अच्छी पोस्टस्क्रिप्ट ड्राइंग पुस्तकालयों?

हालांकि, सादा मानक पोस्टस्क्रिप्ट का उपयोग करना थोड़ा दर्दनाक है क्योंकि आकृतियों को चित्रित करने के लिए वास्तव में कोई मानक कार्य नहीं है (उदाहरण के लिए आयत भी नहीं)।

क्या कोई पोस्टस्क्रिप्ट लाइब्रेरी है जिसमें सामान्य आकार के लिए फ़ंक्शन शामिल होंगे और जीवन को थोड़ा आसान बना देंगे? मुझे लगता है कि यह समस्या काफी आम होनी चाहिए।

या मुझे पोस्टस्क्रिप्ट छोड़ना चाहिए और कुछ बेहतर सिस्टम पर जाना चाहिए? कौनसा?

+0

PGF/TikZ IMHO उपयोग करने के लिए वास्तव में आसान है और महान पुस्तकालयों है कि केवल के साथ महान चित्र बनाने के लिए सक्षम है कुछ लाइनें – f3lix

उत्तर

6

कुछ लोग और कई पोस्टस्क्रिप्ट ड्राइवर आकार ड्राइंग के लिए प्रक्रियाओं के अपने सेट को परिभाषित करते हैं। एक पोस्टस्क्रिप्ट ड्राइवर उत्पादन हो सकता है निम्न शॉर्टकट:

/bd{bind def} bind def 
/cp{closepath}bd 
/gs{gsave}bd 
/gr{grestore}bd 
/m{moveto}bd 
/rm{rmoveto}bd 
/l{lineto}bd 
/rl(rlineto}bd 
/s{stroke}bd 
/f{fill}bd 
/sf{gs s gr f}bd 
/xx{exch}bd 

/rect {4 2 roll m 1 index 0 rl 0 xx rl neg 0 rl cp} bd 

फिर, एक आयत इस तरह तैयार किया जाएगा:

0 0 100 100 rect sf 

इस के cumbersomeness पोस्टस्क्रिप्ट विशेष रूप से निपटने के लिए कठिन पड़ता है। MetaPost यदि आप अपने चित्र प्रोग्रामेटिक/गणितीय रूप से जेनरेट किए गए हैं तो बेहतर फिट हो सकता है। मेटापोस्ट encapsulated PostScript उत्पन्न करता है (जिसे आप अपने लाटेक्स दस्तावेज़ में शामिल कर सकते हैं) लेकिन यह बीजगणितीय परिभाषाओं वाली छवियों को चित्रित करने के लिए अधिक उपयुक्त है।

+0

हां, आकृतियों के लिए अपने स्वयं के कार्यों को परिभाषित करना मैंने जो किया है। मुझे बस एक बुरा लगा है कि मैं पहिया को फिर से शुरू कर रहा हूं, क्योंकि अब तक आयताकारों के हजारों विभिन्न कार्यान्वयन होना चाहिए। यह समझ में आता है कि किसी ने अपने कार्यों को पैक किया होगा और उन्हें दूसरों के लिए उपलब्ध कराया होगा। मेटापोस्ट पर टिप के लिए धन्यवाद। काफी रोचक लगता है, मुझे असीमोटोट का नेतृत्व किया जो मेटापोस्ट का आधुनिकीकृत संस्करण प्रतीत होता है। – pafcu

1

मुझे matplotlib का उपयोग करना पसंद है। यह सीधे पोस्टस्क्रिप्ट और पीडीएफ दोनों उत्पन्न कर सकता है, यह अजगर में है, और यह सुंदर परिष्कृत भूखंड भी कर सकता है (इसलिए इसका नाम)। यदि आप पोस्टस्क्रिप्ट को सीधे हैक करना चाहते हैं तो आप लाटेक्स में पस्टिक्स का उपयोग करने में सक्षम होंगे, लेकिन आपको पीडीएफ बनाने के लिए dvi2ps और फिर ps2pdf के माध्यम से सबकुछ चलाने की आवश्यकता होगी। क्या आप वास्तव में पोस्टस्क्रिप्ट या पीडीएफ चाहते हैं? मुझे लगता है कि आप पीडीएफ चाहते हैं, है ना?

+0

हां, पीडीएफ मेरा अंतिम लक्ष्य है। पोस्टस्क्रिप्ट का उपयोग करने का एकमात्र कारण यह है क्योंकि यह ड्राइंग और गणित का एक अच्छा संयोजन है। मुझे यकीन नहीं है कि matplotlib वह है जिसे मैं ढूंढ रहा हूं, क्योंकि मैं जो करना चाहता हूं वह आंकड़े खींचते हैं जो केवल आंशिक रूप से गणितीय रूप से उत्पन्न होते हैं। मुझे बक्से और तीर और संभावित रूप से मनमानी आकार की आवश्यकता है जो कि पुस्तकालय के साथ काम करना मुश्किल हो सकता है? इसके अलावा, पायथन कोड काफी verbose होने लगता है। फिर भी, मैं matplotlib पर भी एक नज़र डालेंगे। – pafcu

+0

यदि आपको केवल बॉक्स और तीर और मनमाने ढंग से आकार की आवश्यकता है, तो आपको ग्राफ़विज़ का उपयोग करना चाहिए और स्वचालित लेआउट प्राप्त करना चाहिए। – vy32

+0

मुझे विशेष रूप से मैन्युअल लेआउट की आवश्यकता है। ग्राफ़विज़, जैसा कि नाम का तात्पर्य है, ग्राफ के लिए है। मैं सामान्य रूप से आंकड़े आकर्षित करना चाहता हूं। – pafcu

1

ठीक है, मैंने तय किया है कि Asymptote कटा हुआ रोटी के बाद से सबसे अच्छी बात है। ग्राफ और मनमानी दोनों आंकड़े वास्तव में अच्छी तरह से चित्रित करते हैं, और इसमें बड़ी संख्या में एक्सटेंशन मॉड्यूल हैं (यदि आप इसके बारे में परवाह करते हैं तो मेटापोस्ट संगतता सहित)। इसके अतिरिक्त यह लाटेक्स का उपयोग कर टाइपसेट टेक्स्ट जो कि बस अविश्वसनीय रूप से अच्छा है। एक अतिरिक्त बोनस के रूप में यह सीधे पीडीएफ (या ईपीएस) पर भी आउटपुट करता है।

मुझे अभी भी लगता है कि यह थोड़ा दुखी है हालांकि अच्छे ओएल 'पोस्टस्क्रिप्ट के लिए दिनचर्या की कोई अच्छी पुस्तकालय नहीं है।

0

SVG उत्पन्न करें, फिर पीडीएफ/पीएस में प्रोग्रामेटिक रूप से कनवर्ट करने के लिए iText और/या Inkscape जैसे कुछ का उपयोग करें। मैंने इस तरह एक प्रकाशन ढेर बनाया और यह वास्तव में अच्छा काम किया।

1

मैंने Asymptote (हालांकि ग्राफ के लिए) का उपयोग किया है, लेकिन मुझे यह अभी तक एक और कस्टम भाषा सीखने के लिए परेशान पाया गया है। यदि आप पाइथन से परिचित हैं, तो आप PyX को आज़मा सकते हैं। इसका फीचर सेट असीमोटोट के समान है। उदाहरण के लिए, यह टेक्स्ट/गणित टाइपसेटिंग के लिए लाटेक्स का भी उपयोग कर सकता है।

एक और विकल्प एनथॉट Enable है, लेकिन यह शायद कम उपयुक्त है।

1

मेरे पास सीधे पोस्टस्क्रिप्ट में छवियों का निर्माण करने के अच्छे परिणाम हुए हैं। मुझे मिला एक सहायक सम्मेलन एक फ़ॉन्ट में ग्लाइफ जैसे वस्तुओं का इलाज करना है। तो प्रत्येक ऑब्जेक्ट को उम्मीद है कि वर्तमान बिंदु को नीचे बाएं कोने पर सेट करें, और नीचे दाईं ओर स्थित बिंदु को छोड़ दें। आप उन्हें एक सरणी में डाल सकते हैं और इसके माध्यम से इसके लिए: प्रत्येक ऑब्जेक्ट वर्तमान बिंदु को अगले बिंदु के लिए तैयार कर देता है।