Hello Nicolas, >> I'll revise my patch in this weekend. thanks.
I've split my work into these three commits: 0001-ox-html-add-figure-and-table-numbers-to-HTML-caption.patch 0002-ox-add-dictionary-entry-for-numbered-figures.patch 0003-ox-add-Japanese-translations-for-figures-and-tables.patch (enclosed in the attachments) I've also pushed them to my github repository: g...@github.com:yoshinari-nomura/org-mode.git branch: tab-and-fig-number-to-ox-html Please check the commits. I'm willing to revise them again if needed. Thanks for your great effort to tidy-up my rough work. Regards, -- Yoshinari Nomura https://github.com/yoshinari-nomura commit a82e712c3d60d8b58e2cffe13d5cbcdfa25ede24 Author: Yoshinari Nomura <n...@quickhack.net> Date: Sat Jun 29 15:06:49 2013 +0900 ox: add Japanese translations for figures and tables * lisp/ox.el: (org-export-dictionary): Add Japanese translations for figures and tables commit faced47cb6d049cbb4b6323556543bd86e32884d Author: Yoshinari Nomura <n...@quickhack.net> Date: Sat Jun 29 15:02:41 2013 +0900 ox: add dictionary entry for numbered figures * lisp/ox.el: (org-export-dictionary): Add "Figure %d:" entry in the same manner with "Table %d:". commit 793f69627fa290c95d41c0af9792fdafdda98b06 Author: Yoshinari Nomura <n...@quickhack.net> Date: Sat Jun 29 14:44:52 2013 +0900 ox-html: add figure and table numbers to HTML captions * lisp/ox-html.el: (org-html--has-caption-p): New function. (org-html-link--inline-image), (org-html-table): Prepend ordinal number to caption. (org-html-link): Make numbered link by counting captioned figures and tables.
>From 793f69627fa290c95d41c0af9792fdafdda98b06 Mon Sep 17 00:00:00 2001 From: Yoshinari Nomura <n...@quickhack.net> Date: Sat, 29 Jun 2013 14:44:52 +0900 Subject: [PATCH 1/3] ox-html: add figure and table numbers to HTML captions * lisp/ox-html.el: (org-html--has-caption-p): New function. (org-html-link--inline-image), (org-html-table): Prepend ordinal number to caption. (org-html-link): Make numbered link by counting captioned figures and tables. --- lisp/ox-html.el | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/lisp/ox-html.el b/lisp/ox-html.el index a996b40..30b23ca 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -1370,6 +1370,13 @@ (defun org-html--textarea-block (element) (or (plist-get attr :height) (org-count-lines code)) code))) +(defun org-html--has-caption-p (element &optional info) + "Non-nil when ELEMENT has a caption affiliated keyword. +INFO is a plist used as a communication channel. This function +is meant to be used as a predicate for `org-export-get-ordinal' or +a value to `org-html-standalone-image-predicate'." + (org-element-property :caption element)) + ;;;; Table (defun org-html-htmlize-region-for-paste (beg end) @@ -2532,7 +2539,15 @@ (defun org-html-link--inline-image (link desc info) (expand-file-name raw-path)) (t raw-path))) (parent (org-export-get-parent-element link)) - (caption (org-export-data (org-export-get-caption parent) info)) + (caption + (let ((raw (org-export-data (org-export-get-caption parent) info)) + (org-html-standalone-image-predicate 'org-html--has-caption-p)) + (if (org-string-nw-p raw) + (concat (format (org-html--translate "Figure %d:" info) + (org-export-get-ordinal + link info nil 'org-html-standalone-image-p)) + " " raw) + raw))) (label (org-element-property :name parent))) ;; Return proper string, depending on DISPOSITION. (org-html-format-inline-image @@ -2725,14 +2740,19 @@ (defun org-html-link (link desc info) (org-export-solidify-link-text href) attributes desc))) ;; Fuzzy link points to a target. Do as above. (t - (let ((path (org-export-solidify-link-text path)) number) + (let* ((path (org-export-solidify-link-text path)) number + (caption-predicate + (if (org-html--has-caption-p destination) + 'org-html--has-caption-p)) + (org-html-standalone-image-predicate caption-predicate)) (unless desc (setq number (cond ((org-html-standalone-image-p destination info) (org-export-get-ordinal (assoc 'link (org-element-contents destination)) info 'link 'org-html-standalone-image-p)) - (t (org-export-get-ordinal destination info)))) + (t (org-export-get-ordinal + destination info nil caption-predicate)))) (setq desc (when number (if (atom number) (number-to-string number) (mapconcat 'number-to-string number "."))))) @@ -3145,6 +3165,8 @@ (defun org-html-table (table contents info) (t (let* ((label (org-element-property :name table)) (caption (org-export-get-caption table)) + (number (org-export-get-ordinal + table info nil 'org-html--has-caption-p)) (attributes (if (org-html-html5-p info) "" (org-html--make-attribute-string @@ -3183,7 +3205,9 @@ (defun org-html-table (table contents info) (format (if org-html-table-caption-above "<caption align=\"above\">%s</caption>" "<caption align=\"bottom\">%s</caption>") - (org-export-data caption info))) + (concat + (format (org-html--translate "Table %d:" info) number) + " " (org-export-data caption info)))) (funcall table-column-specs table info) contents))))) -- 1.8.2.1
>From faced47cb6d049cbb4b6323556543bd86e32884d Mon Sep 17 00:00:00 2001 From: Yoshinari Nomura <n...@quickhack.net> Date: Sat, 29 Jun 2013 15:02:41 +0900 Subject: [PATCH 2/3] ox: add dictionary entry for numbered figures * lisp/ox.el: (org-export-dictionary): Add "Figure %d:" entry in the same manner with "Table %d:". --- lisp/ox.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/ox.el b/lisp/ox.el index fb56da4..e50e888 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -5266,6 +5266,9 @@ (defconst org-export-dictionary ("Figure" ("de" :default "Abbildung") ("es" :default "Figura")) + ("Figure %d:" + ("de" :default "Abbildung %d:") + ("es" :default "Figura %d:")) ("Footnotes" ("ca" :html "Peus de pàgina") ("cs" :default "Pozn\xe1mky pod carou") -- 1.8.2.1
From a82e712c3d60d8b58e2cffe13d5cbcdfa25ede24 Mon Sep 17 00:00:00 2001 From: Yoshinari Nomura <n...@quickhack.net> Date: Sat, 29 Jun 2013 15:06:49 +0900 Subject: [PATCH 3/3] ox: add Japanese translations for figures and tables * lisp/ox.el: (org-export-dictionary): Add Japanese translations for figures and tables --- lisp/ox.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/ox.el b/lisp/ox.el index e50e888..1133f21 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -5265,10 +5265,12 @@ (defconst org-export-dictionary ("fr" :ascii "Equation" :default "Équation")) ("Figure" ("de" :default "Abbildung") - ("es" :default "Figura")) + ("es" :default "Figura") + ("ja" :html "図" :utf-8 "図")) ("Figure %d:" ("de" :default "Abbildung %d:") - ("es" :default "Figura %d:")) + ("es" :default "Figura %d:") + ("ja" :html "図%d:" :utf-8 "図%d:")) ("Footnotes" ("ca" :html "Peus de pàgina") ("cs" :default "Pozn\xe1mky pod carou") @@ -5315,7 +5317,8 @@ (defconst org-export-dictionary ("de" :default "Tabelle %d") ("es" :default "Tabla %d") ("fr" - :ascii "Tableau %d :" :default "Tableau nº %d :" :latin1 "Tableau %d :")) + :ascii "Tableau %d :" :default "Tableau nº %d :" :latin1 "Tableau %d :") + ("ja" :html "表%d:" :utf-8 "表%d:")) ("Table of Contents" ("ca" :html "Índex") ("cs" :default "Obsah") -- 1.8.2.1