2010-02-10 15 views
7

गणित लिखते समय, यह सामान्य अभ्यास प्रतीत होता है, प्रदर्शित सूत्रों में विराम चिह्न जोड़ने के लिए।लाटेक्स सूत्रों में विराम चिह्न

क्या सूत्र के अंदर विराम चिह्न चिह्न डालने से बचने के लिए कोई चाल है?

Consider the function 
\[ \sin(x)\]. 

लेकिन निश्चित रूप से पूर्ण विराम फ़ॉर्मूला नीचे प्रदर्शित किया जाता है:

मैं

Consider the function 
\[ \sin(x).\] 

से बचने के लिए मैं नहीं बल्कि कुछ ऐसा होगा चाहते हैं।

क्या लाटेक्स में सूत्रों और विराम चिह्नों को अलग करने का एक चालाक तरीका है?

उत्तर

4

आप लोड कर सकते हैं breqn package (amsmath के साथ संगत) और इस व्यवहार अपने dmath पर्यावरण के साथ इनबिल्ट है:,

Consider the function 
\begin{dmath}\sin(x)\end{dmath}. 

विल उत्पादन \[\sin(x).\] रूप में एक ही है, यानी के रूप में अगर डॉट अभिव्यक्ति के अंदर था।

बोनस के रूप में, आपको अपने गणित समीकरण में स्वचालित लाइन-ब्रेकिंग भी मिल जाएगी।

+0

दिलचस्प पैकेज लेकिन मैं मूल प्रश्न के साथ संबंध नहीं देख सकता ... 'breqn' लंबे समीकरणों को तोड़ने के लिए एक पैकेज प्रतीत होता है; ओपी प्रदर्शित समीकरण में विराम चिह्न के बारे में था। –

+0

@ ओलिवियर: क्या मुझे अपनी व्याख्या में कुछ याद आया? ओपी ने \ \ \ sin (x) \] के लिए पूछा। 'प्रदर्शन गणित के अंदर की अवधि को खींचने के लिए, और यह * बिल्कुल * ऊपर मेरा उदाहरण क्या करता है। –

+0

ओह! तुम सही हो। ये जबरदस्त है! यह सिर्फ इतना है कि 'ब्रेकन' के लिए दस्तावेज़ इतने गन्दा हैं कि मुझे यह नहीं मिला। आपका बहुत बहुत धन्यवाद! –

2

एक प्रदर्शन वातावरण के अंदर विराम चिह्न रखना सामान्य तरीका है। समस्या यह है कि जब लेटेक्स \] को संसाधित करता है, तो यह मैथबॉक्स समाप्त होता है, इसलिए निम्न कुछ भी एक नए लंबवत बॉक्स का हिस्सा होगा।

आप की तरह कुछ की कोशिश कर सकते:

 
\hbox{\[My formula\]}. 

यह परीक्षण नहीं किया है, और शायद है रिक्ति मुद्दों, लेकिन अगर आप समाधान के इस प्रकार में रुचि रखते हैं, मैं कोशिश करते हैं और कुछ काम कर रहे हो सकता है।

Fwiw, आप https://mathoverflow.net/questions/6675/periods-and-commas-in-mathematical-writing

+0

लिंक के लिए धन्यवाद! वहां उत्तरों को पढ़ना, मुझे यह देखने के लिए राहत मिली है कि मैं यह सोचने वाला अकेला नहीं हूं कि विराम चिह्न सूत्रों का हिस्सा नहीं होना चाहिए। –

10
\catcode`\@=11 
\let\seveendformula\] 
\def\]{\@ifnextchar.\PointAndEndFormula\seveendformula} 
\def \PointAndEndFormula #1{.\seveendformula} 
\catcode`\@=12 

में रुचि हो सकती जोड़े

अधिक जटिल समाधान .,?!;: साथ काम करता है:

\catcode`\@=11 
\def\addtopunct#1{\expandafter\let\csname [email protected]\meaning#1\endcsname\let} 
\addtopunct{.} \addtopunct{,} \addtopunct{?} 
\addtopunct{!} \addtopunct{;} \addtopunct{:} 

\let\seveendformula\] 
\def\PunctAndEndFormula #1{#1\seveendformula} 
\def\]{\futurelet\punctlet\[email protected]} 
\def\[email protected]{\expandafter\ifx\csname [email protected]\meaning\punctlet\endcsname\let 
     \expandafter\PunctAndEndFormula 
     \else \expandafter\seveendformula\fi} 
\catcode`\@=12 
+1

हां, वास्तव में। मैंने इस बारे में सोचा, लेकिन एक मुद्दा यह है कि काफी विराम चिह्न है कि आप डिस्प्लेमाथ का पालन करना चाहेंगे: शायद '!' या ':', लेकिन '।' के अलावा की प्रत्येक ',', ';' तथा '?' काफी आम हैं। बिना छोटे क्वालिटी के प्रश्न का उत्तर देने के लिए +1। –

+0

बहुत स्टाइलिश। मुझे नहीं लगता कि मैं यह नया कोड लिख सकता था: यह बहुत गहरी चीजें है। –

+0

यह * शानदार * है! यह इतना उपयोगी है कि इसे लाटेक्स पैकेज के रूप में एक साथ रखा जाना चाहिए? –

7

वहाँ भी जिनमें से मुद्दा है फ़ॉन्ट विराम चिह्न होना चाहिए। आपको एक probl नहीं दिखाई देगा जब तक आप यूलर जैसे एक अलग गणित फ़ॉन्ट का प्रयास न करें। फिर अल्पविराम और अवधि पाठ मोड में और गणित मोड में स्पष्ट रूप से भिन्न होती हैं। मैंने \mbox{,} के रूप में प्रदर्शित सूत्रों में टेक्स्ट-मोड विराम चिह्न लिखा है या $$ से पहले \mbox, के रूप में आलसी रूप से लिखा है।

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