조직 모드 번호 매기기 목록에서 텍스트 정렬?


13

Q :org-mode 번호가 매겨진 목록 앞에 0을 추가하는 방법이 있습니까?

번호가 매겨진 목록의 텍스트 정렬은 숫자가 두 자리 숫자에 들어가면 불쾌 해 보이기 시작합니다.

* 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왼쪽 정렬하려면 숫자가 필요한 것 같습니다 . 따라서 텍스트가 잘 정렬되도록 한 자리 항목에 0을 추가 할 수 있는지 궁금합니다.

* 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!

호기심으로, 나는 목록에 0을 입력하고 때리는 것을 시도 C-c C-c했다.

그래서 : 번호가 매겨진 목록에 0을 붙이는 방법이 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
좋은! 그것을 org-mode 개발자들에게 제출할 수 있다면 좋을 것입니다.
Saint Aardvark the Carpeted
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.