summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Dominik <carsten.dominik@gmail.com>2010-04-27 06:58:48 +0200
committerCarsten Dominik <carsten.dominik@gmail.com>2010-04-27 06:58:48 +0200
commitd555545b48008b98999d0e5cba58474585b58b49 (patch)
tree66d4d61d6ef536a5d3b6a7b44450173f3ba7c50d
parenta9539f449c824a0e52502a6590b2df322186be41 (diff)
downloadorg-mode-d555545b48008b98999d0e5cba58474585b58b49.tar.gz
Docbook export: Implement ordered lists with offset
-rwxr-xr-xlisp/ChangeLog5
-rw-r--r--lisp/org-docbook.el21
2 files changed, 23 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3b97d17..49a8b4e 100755
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-27 Carsten Dominik <carsten.dominik@gmail.com>
+
+ * org-docbook.el (org-export-as-docbook): Implement ordered
+ lists starting at some offset.
+
2010-04-26 Carsten Dominik <carsten.dominik@gmail.com>
* org.el (org-link-types, org-open-at-point): Add doi links.
diff --git a/lisp/org-docbook.el b/lisp/org-docbook.el
index bb8d048..d7ea4b7 100644
--- a/lisp/org-docbook.el
+++ b/lisp/org-docbook.el
@@ -533,7 +533,7 @@ publishing directory."
table-buffer table-orig-buffer
ind item-type starter didclose
rpl path attr caption label desc descp desc1 desc2 link
- fnc item-tag
+ fnc item-tag initial-number
footref-seen footnote-list
id-file
)
@@ -998,7 +998,11 @@ publishing directory."
starter (if (match-beginning 2)
(substring (match-string 2 line) 0 -1))
line (substring line (match-beginning 5))
- item-tag nil)
+ item-tag nil
+ initial-number nil)
+ (if (string-match "\\`\\[@start:\\([0-9]+\\)\\][ \t]?" line)
+ (setq initial-number (match-string 1 line)
+ line (replace-match "" t t line)))
(if (and starter (string-match "\\(.*?\\) ::[ \t]*" line))
(setq item-type "d"
item-tag (match-string 1 line)
@@ -1031,7 +1035,18 @@ publishing directory."
(org-export-docbook-close-para-maybe)
(insert (cond
((equal item-type "u") "<itemizedlist>\n<listitem>\n")
- ((equal item-type "o") "<orderedlist>\n<listitem>\n")
+ ((equal item-type "o")
+ ;; Check for a specific start number. If it
+ ;; is specified, we use the ``override''
+ ;; attribute of element <listitem> to pass the
+ ;; info to DocBook. We could also use the
+ ;; ``startingnumber'' attribute of element
+ ;; <orderedlist>, but the former works on both
+ ;; DocBook 5.0 and prior versions.
+ (if initial-number
+ (format "<orderedlist>\n<listitem override=\"%s\">\n"
+ initial-number)
+ "<orderedlist>\n<listitem>\n"))
((equal item-type "d")
(format "<variablelist>\n<varlistentry><term>%s</term><listitem>\n" item-tag))))
;; For DocBook, we need to open a para right after tag