ऑर्ग-मोड गिने सूचियों में पाठ संरेखण?


13

प्र: क्या org-modeगिने- चुने सूचियों को शून्य करने का एक तरीका है ?

संख्या सूचियों में पाठ संरेखण तब अप्रिय लगने लगता है जब संख्या दोहरे अंक में आ जाती है:

* A numbered list

  1. Item 1
  2. Item 2
  3. Item 3
  4. Item 4
  5. Item 5
  6. Item 6
  7. Item 7
  8. Item 8
  9. Item 9
  10. Item 10   # ah, my eyes!

org-modeपर मैनुअल सादा सूचियों कहा गया है कि:

समान सूची से संबंधित वस्तुओं में पहली पंक्ति पर समान इंडेंटेशन होना चाहिए। विशेष रूप से, यदि कोई आदेशित सूची संख्या '10 'तक पहुंचती है, तो 2-अंकों की संख्या को सूची में अन्य संख्याओं के साथ बाएं-संरेखित होना चाहिए। एक आइटम अगली पंक्ति से पहले समाप्त होता है जो इसकी बुलेट / संख्या से कम या समान रूप से इंडेंट किया जाता है।

तो ऐसा लगता org-modeहै कि अंकों को बाएं-संरेखित करने की आवश्यकता है। जैसे, मैं सोच रहा हूँ कि क्या एकल अंकों की वस्तुओं पर शून्य को रोकना संभव है ताकि पाठ अच्छी तरह से संरेखित हो जाए:

* A zero-padded numbered list

  01. Item 1
  02. Item 2
  03. Item 3
  04. Item 4
  05. Item 5
  06. Item 6
  07. Item 7
  08. Item 8
  09. Item 9
  10. Item 10   # much better!

जिज्ञासा से बाहर, मैंने एक सूची और हिटिंग में शून्य में प्रवेश करने की कोशिश की C-c C-c, जो बस उन्हें फिर से बाहर कर देता है।

तो: गिने हुए सूचियों में शून्य को पूर्व निर्धारित करने का कोई तरीका है org-mode?

(नोट: इस SO थ्रेड से प्रेरित प्रश्न ।)

जवाबों:


10

निम्नलिखित पर org-list.elअलग चाल है!

diff --git a/lisp/org-list.el b/lisp/org-list.el
index b1d47c9..509e79f 100644
--- a/lisp/org-list.el
+++ b/lisp/org-list.el
@@ -1641,7 +1641,8 @@ as returned by `org-list-prevs-alist'."
      ;; Num bullet: increment it.
      ((string-match "[0-9]+" bullet)
       (replace-match
-       (number-to-string (1+ (string-to-number (match-string 0 bullet))))
+       (format (format "%%0%dd" (length (match-string 0 bullet)))
+          (1+ (string-to-number (match-string 0 bullet))))
        nil nil bullet))
      ;; Alpha bullet: increment it.
      ((string-match "[A-Za-z]" bullet)
@@ -1715,7 +1716,7 @@ This function modifies STRUCT."
          (replace-match "a" nil nil bullet))
         ;; First bullet is num: use "1".
         ((string-match "\\([0-9]+\\|[A-Za-z]\\)" bullet)
-         (replace-match "1" nil nil bullet))
+         (replace-match (format (format "%%0%dd" (1+ (log (length struct) 10))) 1) nil nil bullet))
         ;; Not an ordered list: keep bullet.
         (t bullet)))))))))
     (mapc fix-bul (mapcar 'car struct))))

org-list-inc-bullet-maybeपहले आइटम पर उपयोग किए जाने वाले पैडिंग को रखने के लिए पहला चंक पैच कार्य करता है। org-list-struct-fix-bulसूची में तत्वों की संख्या के आधार पर पैडिंग की गणना करने के लिए दूसरा चंक पैच कार्य करता है।


2
अच्छा! यह बहुत अच्छा होगा यदि आप ऑर्ग-मोड डेवलपर्स के लिए (अधिमानतः इसे टॉगल करने के लिए एक विकल्प के साथ) प्रस्तुत कर सकते हैं।
— संत अड़वार्क ने
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.