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


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.