क्या मैं Org मोड में लिंक बना सकता हूं जिसमें कोष्ठक, [या] हैं?


13

क्या ब्रैकेट्स ( [और ]) से बचने के लिए कोई है ताकि उन्हें ऑर्ग मोड लिंक के विवरण में शामिल किया जा सके ? निम्न लिंक काम नहीं करता है, उदाहरण के लिए:

[[http://mathoverflow.net/questions/195203/automorphisms-of-ideals-of-mathbbct][Automorphisms of ideals of C[t]]]

मुझे उम्मीद थी कि बैकस्लैश ( \[) का उपयोग करने से काम चलेगा या ऑर्ग-यूनिट होगा, लेकिन ऐसा नहीं लगता है।


1
समस्या यह है कि ऑर्ग में लिंक को नियमित अभिव्यक्तियों का उपयोग करके पार्स किया जाता है, और यह कार्य पुनरावृत्ति के बराबर होगा, जिसे नियमित अभिव्यक्तियों के साथ पार्स नहीं किया जा सकता है। यदि आप केवल एक स्तर की पुनरावृत्ति जोड़ना चाहते हैं, तो यह पैचिंग के द्वारा संभव होगा org-make-link-regexps, लेकिन सामान्य रूप से जो वर्तमान सेटअप के साथ नहीं किया जा सकता है।
wvxvw

पलायन किया जा सकता है। आप org-bracket-link-regexpइसे संभालने के लिए प्रासंगिक रेगेक्सप को अनुकूलित करने का प्रयास कर सकते हैं , हालांकि org-insert-linkअभी भी ब्रैकेट के साथ कोष्ठक को बदलना चाहते हैं और इसमें दो बड़े बदलाव हो सकते हैं।
पॉलिट्जा

ओह, मुझे सिर्फ इतना याद है कि \[और \]प्रदर्शित समीकरण (जैसे $$) देने हैं, बची हुई कोष्ठक नहीं।
उमर

जवाबों:


5

एक काम समाधान, हालांकि बहुत सुंदर नहीं है, ऑर्ग मोड मैक्रोज़ का उपयोग करना है ।

मैक्रो नीचे की ASCII कोड की जगह [और ]html या लेटेक्स के लिए निर्यात।

# Square Bracket Open [
#+MACRO: BO @@latex:\char91@@ @@html:[@@
# Square Bracket Close ]
#+MACRO: BC @@latex:\char93@@ @@html:]@@

[[http://emacs.stackexchange.com][{{{BO}}}Emacs SE{{{BC}}}]]

संदर्भ


धन्यवाद, लेकिन मैं बफर के अंदर उन्हें कोष्ठक के रूप में प्रस्तुत करने के लिए org-mode को समझाने की उम्मीद कर रहा था। आपका समाधान निश्चित रूप से निर्यात के लिए काम करता है।
उमर

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

3

नीचे संशोधित संस्करण है org-make-link-regexpजो विवरण के अंदर वर्ग कोष्ठक के एक घोंसले के स्तर की अनुमति देगा:

(defun org-make-link-regexps ()
  "Update the link regular expressions.
This should be called after the variable `org-link-types' has changed."
  (setq org-link-types-re
    (concat
     "\\`\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):")
    org-link-re-with-space
    (concat
     "<?\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):"
     "\\([^" org-non-link-chars " ]"
     "[^" org-non-link-chars "]*"
     "[^" org-non-link-chars " ]\\)>?")
    org-link-re-with-space2
    (concat
     "<?\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):"
     "\\([^" org-non-link-chars " ]"
     "[^\t\n\r]*"
     "[^" org-non-link-chars " ]\\)>?")
    org-link-re-with-space3
    (concat
     "<?\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):"
     "\\([^" org-non-link-chars " ]"
     "[^\t\n\r]*\\)")
    org-angle-link-re
    (concat
     "<\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):"
     "\\([^" org-non-link-chars " ]"
     "[^" org-non-link-chars "]*"
     "\\)>")
    org-plain-link-re
    (concat
     "\\<\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):"
     (org-re "\\([^ \t\n()<>]+\\(?:([[:word:]0-9_]+)\\|\\([^[:punct:] \t\n]\\|/\\)\\)\\)"))
    ;;   "\\([^]\t\n\r<>() ]+[^]\t\n\r<>,.;() ]\\)")
    org-bracket-link-regexp
    ;; "\\[\\[\\([^][]+\\)\\]\\(\\[\\([^][]+\\)\\]\\)?\\]"
    "\\[\\[\\([^][]+\\)\\]\\(\\[\\([^[]*?\\[[^]]*?\\][^]]*?\\|[^][]+\\)\\]\\)?\\]"
    org-bracket-link-analytic-regexp
    (concat
     "\\[\\["
     "\\(\\(" (mapconcat 'regexp-quote org-link-types "\\|") "\\):\\)?"
     "\\([^]]+\\)"
     "\\]"
     "\\(\\[" "\\([^[]*?\\[[^]]*?\\][^]]*?\\|[^]]+\\)" "\\]\\)?"
     ;; "\\(\\[" "\\([^]]+\\)" "\\]\\)?"
     "\\]")
    org-bracket-link-analytic-regexp++
    (concat
     "\\[\\["
     "\\(\\(" (mapconcat 'regexp-quote (cons "coderef" org-link-types) "\\|") "\\):\\)?"
     "\\([^]]+\\)"
     "\\]"
     "\\(\\[" "\\([^]]+\\)" "\\]\\)?"
     "\\]")
    org-any-link-re
    (concat "\\(" org-bracket-link-regexp "\\)\\|\\("
        org-angle-link-re "\\)\\|\\("
        org-plain-link-re "\\)")))

लेकिन जैसा कि ऊपर उल्लेख किया गया है, यह संपादन लिंक की समस्या को हल नहीं करता है (ऑर्ग अभी भी ब्रैकेट्स के साथ ब्रैकेट्स को बदलना चाहेगा।) यह भी केवल एक ब्रैकेटेड समूह के एक नेस्टिंग स्तर को संभाल सकता है।

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