2013-04-22 2 views
8

कोड ब्लॉक बदसूरत पीडीएफ उत्पादन में (उद्धरण जांच) देखने में untypogrified कोड ब्लॉक का उत्पादन करना:स्फिंक्स पीडीएफ उत्पादन

enter image description here

मैं स्फिंक्स के संस्करण 1.1.3 का उपयोग करें, और निम्न आदेश का निर्माण करने के लिए प्रयोग किया जाता डॉक:

$ make latexpdf 

इसके अलावा, पीडीएफ के स्निपेट को कॉपी खिसकने नष्ट कर देता है जब चिपकाने:

@view_config(route_name=’hello’) 
def hello_world(request): 
return Response(’Hello World!’) 

मैं इस उम्मीद करेंगे:

@view_config(route_name=’hello’) 
def hello_world(request): 
    return Response(’Hello World!’) 

यह और भी अच्छा होगा:

@view_config(route_name='hello') 
def hello_world(request): 
    return Response('Hello World!') 
+0

सूचना है कि अधिक हाल ही में स्फिंक्स के साथ (मैं 1.3.5 के साथ परीक्षण), वहाँ उद्धरण परिवर्तनों से बचने के लिए जब उद्धरण कोड-ब्लॉक में हैं करने के लिए कुछ खास नहीं है। – jfbu

उत्तर

3

स्फिंक्स वास्तव में एक उत्कृष्ट उपकरण है लेकिन मैं यह भी latexpdf लक्ष्य के डिफ़ॉल्ट पीडीएफ उत्पादन के साथ कुछ मुद्दों है।

विशेष रूप से: कोड ब्लॉकों में

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

इनमें से कुछ LaTeX स्फिंक्स conf.py की पूर्व टहलना अनुभाग में तय किया जा सकता है लेकिन इतना upquote LaTeX पैकेज उन्हें सही करने के लिए इस्तेमाल नहीं किया जा सकता उद्धरण कस्टम LaTeX संस्थाओं के लिए स्फिंक्स द्वारा संशोधित कर रहे हैं।

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

दिलचस्पी होना।

इसके अलावा, पीडीएफ से प्रतिलिपि बनाने और पेस्ट करने पर इंडेंटेशन खोने के साथ समस्या शायद स्फिंक्स/लाटेक्स मुद्दा नहीं है।

2

यह केवल एक आंशिक उत्तर है जो एक अंतिम समाधान की ओर ले जा सकता है। स्फिंक्स में एचटीएमएल आउटपुट के लिए टाइपोग्राफर कोट्स (जिसे घुंघराले या स्मार्ट कोट्स के रूप में भी जाना जाता है) को अक्षम करने के लिए, SmartyPantsfrom True to False के लिए conf.py में डिफ़ॉल्ट सेटिंग बदलें।

मुझे लगता है कि कोई स्पिंक्स में फ़ंक्शन ढूंढ सकता है जो उद्धरणों को बदलता है और HTML आउटपुट से उसी तर्क का उपयोग करता है और इसे पीडीएफ आउटपुट के लिए लागू करता है।

+0

यह विकल्प अब काम नहीं करता है (स्फिंक्स 1.6.2? और 1.7.dev20170612)। – johndodo

+0

@johndodo स्फिंक्स ≥1.6 के लिए, https://github.com/rtfd/readthedocs.org/issues/2940 –

+0

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

0

The option proposed by Steve Piercy अब नहीं रह गया काम करता है (स्फिंक्स 1.6 के बाद से):

Deprecated since version 1.6: Use the smart_quotes option 
in the Docutils configuration file (docutils.conf) instead. 

क्या मेरे लिए स्पष्ट नहीं था कि कैसे इस सेटिंग को लागू करने के लिए किया गया था।आप one of these locations में एक docutils.conf फ़ाइल बनाएं और उसे रखना होगा:

  • /etc/docutils.conf
  • ./docutils.conf
  • ~/.docutils

सबसे आसान विकल्प है यह कहने के लिए कि आप कहां से बना रहे हैं - वाईएमएमवी। यह शामिल करना चाहिए इस कम से कम:

[general] 
smart_quotes: no 
+1

बस यह इंगित करने के लिए कि कोड (ब्लॉक) के लिए इस (वैध) जानकारी की आवश्यकता नहीं है। मैंने केवल स्फिंक्स 1.3.5 के साथ पुष्टि के लिए परीक्षण किया, और वर्तमान 1.6.2 के साथ कोड-ब्लॉक में सीधे उद्धरण संशोधित नहीं किए गए हैं। – jfbu

+0

सच है। मैंने पहली बार सोचा था कि स्फिंक्स की गलती वास्तव में मैं कहीं और ब्लॉक से कॉपी कर रहा था, इसलिए यह पहले ही दूषित हो गया था। लेकिन स्फिंक्स के साथ मेरी निराशा यह थी कि मुझे यह सेटिंग लागू करने के लिए काफी समय लगा - इसलिए मुझे आशा है कि यह उत्तर भविष्य में किसी की मदद करेगा। – johndodo

संबंधित मुद्दे