diff options
author | Carsten Dominik <carsten.dominik@gmail.com> | 2010-04-27 06:58:48 +0200 |
---|---|---|
committer | Carsten Dominik <carsten.dominik@gmail.com> | 2010-04-27 06:58:48 +0200 |
commit | d555545b48008b98999d0e5cba58474585b58b49 (patch) | |
tree | 66d4d61d6ef536a5d3b6a7b44450173f3ba7c50d | |
parent | a9539f449c824a0e52502a6590b2df322186be41 (diff) | |
download | org-mode-d555545b48008b98999d0e5cba58474585b58b49.tar.gz |
Docbook export: Implement ordered lists with offset
-rwxr-xr-x | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/org-docbook.el | 21 |
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 |