Org-Mode में लेबल और संदर्भ LaTeX समीकरण


15

यह लेटेक्स और HTML संदर्भों के लिए ओर्ग निर्यात के समान है , लेकिन समीकरणों के लिए।

मुझे अपने org-files में LaTeX गणित स्निपेट का उपयोग करना पसंद है, जैसे कि

* The Quadratic Equation
The roots of $ax^2 + bx + c$ are given by
\begin{equation}
\label{eq:1}
x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
\end{equation}

According to Equation \ref{eq:1}, ...

जब मैं LaTeX को निर्यात करता हूं, तो \ref{eq:1}सही ढंग से समीकरण के लिए एक हाइपर लिंक में बदल जाता है। लेकिन मैं निम्नलिखित अतिरिक्त व्यवहार को प्राप्त करना चाहता हूं:

  1. Org फ़ाइल के अंदर, मैं पाठ पर क्लिक कर सकता हूं \ref{eq:1}(पाठ का होना आवश्यक नहीं है \ref{eq:1}, मुझे बस एक हाइपरलिंक चाहिए) और समीकरण पर ले जाया जाए। यह कार्यक्षमता हेडर के लिए मौजूद है, जैसा [[The Quadratic Equation]]कि ऑर्ग मोड में क्लिक करने योग्य हो जाता है।

  2. जब मैं HTML को निर्यात करता हूं, तो मैं संदर्भों को रखना चाहता हूं (वास्तव में, लेबल (1) HTML निर्यात में भी दिखाई नहीं देता है)।

क्या इसको मदद देने का कोई तरीका है?


तकनीकी रूप से ... समीकरण को लपेटने में #+begin_src latex... #+end_srcऔर फिर, यदि आप जगह करते हैं #+name: eq:1और #+label: eq:1, आपको इस ब्लॉक का संदर्भ देने में सक्षम होना चाहिए जिस तरह से आप चाहते हैं, अर्थात लिंक का उपयोग कर [[eq:1][first equation]], लेकिन किसी कारण से यह मेरे लिए काम नहीं करता है (लेकिन यह मेरे द्वारा किए गए परिवर्तनों के कारण हो सकता है)।
wvxvw

@wvxvw यदि आपने adviceकेवल s के माध्यम से व्यवहार को बदल दिया है तो आप बिना परिवर्तनों के परीक्षण कर सकते हैं emacs -Q। स्वाभाविक रूप से, यह मदद नहीं करता है यदि आप सीधे स्रोतों को बदलते हैं।
टोबियास

@ टोबियास नाह, मुझे याद है कि ऑर्ग कोड पैचिंग, विशेष रूप से वर्बटिम \label{}वातावरण में डालने से संबंधित कुछ , लेकिन मुझे यह सुनिश्चित करने के लिए अपने परिवर्तनों को खोदने की आवश्यकता होगी, यह मेरी गलती है। हालांकि यह मेरी मदद करेगा, अगर कोई यह पुष्टि कर सकता है कि #+nameआदि के साथ सुझाया गया तरीका काम करता है।
wvxvw

@wvxvw html- निर्यात में मुझे पर्यावरण के आसपास <pre>/ </pre>-टैग मिलते equationहैं। इसलिए, फ़ायरफ़ॉक्स स्रोत को दिखाता है न कि समीकरण को।
तोबियों

@ टोबियास, ठीक है, मैं पूरी तरह से इसके बारे में भूल गया, आपको by-backendयहां से मैक्रो की भी आवश्यकता होगी : orgmode.org/worg/org-contrib/babel/languages/…
wvxvw

जवाबों:


15

मुझे कुछ परीक्षण चलाने थे, लेकिन मैं एक छोटी फाइल चलाने में कामयाब रहा, जो लेटेक्स और एचटीएमएल दोनों को सही ढंग से निर्यात करती है, मैंने केवल ओआरजी 8.2.10 में परीक्षण किया, लेकिन इसे अन्य संस्करणों पर काम करना चाहिए।

इसका उत्तर वास्तव में लेटेक्स और एचटीएमएल संदर्भों के लिए ऑर्ग निर्यात के समान है

यहाँ मेरा एक छोटा सा उदाहरण है

*  This is a latex experiment
so with the text...
#+NAME: code:1
#+BEGIN_SRC shell-script
echo hello world 
#+END_SRC
[[code:1]] is a reference to src block

#+NAME: eqn:1
\begin{equation}
    f(x) =  \sum\limits_0^\infty(f^{(n)}(x)|_{x=0} \cdot x)
\end{equation}

And this is an equation [[eqn:1]]

अच्छा, यह मेरे लिए बॉक्स से बाहर काम करता है।
टोबियास

यह मेरे लिए भी LaTeX में काम करता है, लेकिन यह HTML में "आउट ऑफ द बॉक्स" के लिए काम नहीं करता है, क्योंकि समीकरण में एक नंबर भी नहीं है (कुछ Mathjax विकल्प सेट नहीं किया जा रहा है, शायद)। अब अगर केवल RefTeX इसका समर्थन करेगा, लेकिन यह एक और सवाल है। मैं स्वीकार करने से पहले कुछ दिन इंतजार करूंगा, यह देखने के लिए कि क्या कोई और इसमें झंकार करेगा :)
केविन

मैंने स्वीकार किया, लेकिन नीचे अपना खुद का उत्तर देखें (बाद में ऑर्ग के संस्करण ने बॉक्स से बाहर का समर्थन किया है)।
केविन

मुझे LaTeX में "अपरिभाषित संदर्भ" मिलते हैं; Emacs 24.5.1 (Org मोड 8.2.10) के साथ मेरे लिए काम नहीं करता है
Reb.Cabin

1
क्या इसे किसी तरह मल्टी-लाइन एएमएस वातावरण में बढ़ाया जा सकता है alignऔर subequations, जहां लेबल समीकरण के कुछ हिस्सों के लिए विशिष्ट है?
kdb

5

वास्तव में, ऐसा लगता है कि ऑर्ग मोड 8.3.1 में अंतर्निहित समर्थन है जो सवाल पूछ रहा है; labelऔर refबॉक्स से बाहर काम करते हैं।

इसके लिए पैकेज मैनेजर के माध्यम से Org मोड को अपडेट करने की आवश्यकता होती है; बाद में, (package-initialize)आरंभीकरण फ़ाइल के शीर्ष के पास छड़ी ।

संपादित करें। यह आपको \ref{...}लेबल पर क्लिक करने और जाने की अनुमति नहीं देता है । उसके लिए, कृपया ऊपर दिए गए स्वीकृत उत्तर को देखें, या org-ref का उपयोग करें ।


1
लेकिन आपको \ _ {।}, सही पर जाने के लिए \ ref {} पर क्लिक करने की आवश्यकता नहीं है?
rvf0068

नहीं, मैं नहीं कर सकता। उसके लिए, आपको ऊपर दिए गए Joafigue के उत्तर का उपयोग करना होगा या ऊपर मेरी टिप्पणी github.com/jkitchin/org-ref के बारे में देखना होगा । मैं अपने उत्तर को प्रतिबिंबित करने के लिए संपादित करूंगा।
केविन

1

जैसा कि आंतरिक लिंक्स में वर्णित है ।

आप <<id>>अपना टारगेट आईडी सेट करने के लिए उपयोग कर सकते हैं [[id]]या अपने लक्ष्य को खोजने के लिए [[id][description]]( या आप इसे C-c C-lसम्मिलित करने के लिए उपयोग कर सकते हैं ) का उपयोग कर सकते हैं ।

यह HTML के लिए निर्यात करते समय मेरे लिए काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.