2010-01-07 17 views
40

के बाद बहुत अधिक या बहुत कम जगह डालता है LaTeX यह अनुमान लगाने की कोशिश करता है कि अवधि एक वाक्य समाप्त होती है, इस स्थिति में इसके बाद अतिरिक्त जगह होती है। यहां दो उदाहरण है जहां यह गलत अनुमान लगा लेता हैं: ("। सुपरमैन III" के बाद बहुत कम जगह।)लाटेक्स कभी-कभी

I watched Superman III. Then I went home. 

After brushing teeth etc. I went to bed. 

(के बाद "आदि" बहुत अधिक स्थान।)

ध्यान दें कि इससे कोई फर्क नहीं पड़ता कि आप लाटेक्स स्रोत में कितनी सफेद जगह का उपयोग करते हैं क्योंकि लाटेक्स ने इसे अनदेखा किया है।

उत्तर

61

मुझे यहां जवाब मिला: http://john.regehr.org/latex/। उद्धरण:

जब किसी स्थान द्वारा एक गैर-वाक्य-समाप्ति अवधि का पालन किया जाना है, तो स्थान एक स्पष्ट खाली होना चाहिए। तो दूसरे उदाहरण होना चाहिए:

After brushing teeth etc.\ I went to bed. 

इस समस्या से बातचीत होता है जब बड़े अक्षर इनपुट में एक वाक्य खत्म होने वाली अवधि के पहले आता है, पहले उदाहरण के रूप में। इस मामले में लाटेक्स मानता है कि अवधि संक्षेप को समाप्त करती है और अंतर-वाक्य स्थान की बजाय अंतर-शब्द स्थान के साथ इसका पालन करती है। इस अवधि से पहले "\@" डालना ठीक है। तो पहला उदाहरण होना चाहिए

I watched Superman III\@. Then I went home. 

इस त्रुटि को खोजने के लिए एक आसान तरीका है:

grep '[A-Z]\.' *.tex 
+1

कमांड "\ @" वास्तव में इस उद्देश्य के लिए है - एक गैर-वाक्य-समाप्ति अवधि से पहले। – dreeves

+3

और यदि आप समरूपता पसंद करते हैं तो आप 'आदि। \ @ मैं बिस्तर पर भी जा सकता हूं। –

+2

@dreeves: प्रतिक्रिया और मेरे अनुभव के अनुसार, \ \ 'एक वाक्य-समाप्ति अवधि से पहले, जो आपने कहा था उसके विपरीत बनाया गया है। – Blaisorblade

13

यदि आप वाक्य के अंत में एक रिक्त स्थान पसंद करते हैं रिक्ति मुद्दा बचने कर सकते हैं: पर \frenchspacing डाल (लेटेक्स के पुराने संस्करणों के लिए यह एक नाजुक कमांड था)। न्यूथ फ्रांसीसी स्पेसिंग को कॉल करने में पारंपरिक नामकरण का पालन कर रहा था, हालांकि वाक्यों के बाद डबल स्पेसिंग को कॉल करना फ्रेंच स्पेसिंग प्रकाशन में प्रभावी हो गया है।

डिर्क मार्जुलिस ने एक सिंगल स्पेसिंग के प्रसार के कुछ कारणों को संक्षेप में एक अच्छा पोस्ट लिखा: Space between sentences

5

मुझे ड्रीव्स से जवाब पसंद है और वह आसान खोज भी सुझाता है। मेरे पास टिप्पणी करने के लिए स्टैक ओवरफ्लो "प्रतिनिधि" अंक नहीं हैं, लेकिन ...

कच्चे * .tex में रेखाएं बहुत लंबी होती हैं, इसलिए grep से आउटपुट भारी हो सकता है (यानी, पूरे पैराग्राफ); मैं केवल '[ए-जेड]' में समाप्त होने वाले शब्दों को प्रदर्शित करने के लिए एक भिन्नता का सुझाव देता हूं। (एक या अधिक स्थान के बाद, एक नया पूंजीकृत शब्द के बाद)। यह है,

grep -o -E '[A-Z]+\. +[A-Z]+[A-Za-z]+' *.tex