emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Add figure/table numbers to HTML captions


From: Yoshinari Nomura
Subject: Re: [O] Add figure/table numbers to HTML captions
Date: Fri, 28 Jun 2013 10:15:30 +0900 (JST)

Hi Nicolas, 

On Thu, 27 Jun 2013 16:46:19 +0200,
        Nicolas Goaziou <address@hidden> said:

> Sure. Here are a few comments in addition to those suggested by Rasmus
> in this thread.

Thanks for your to-the-point advice. I've hesitated to add some
functions at the top level and split commits. I'll follow your advice.

>> +    (unless (string= caption "")
>> +      (let* ((org-html-standalone-image-predicate
>> +          (lambda (img) (org-element-property :caption img)))
>> +         (number (org-export-get-ordinal
>> +                  link info nil 'org-html-standalone-image-p)))
> 
> You should put this function at the top level instead, since another
> transcoder use it. See `org-ascii--has-caption-p' in ascii export
> back-end. You can also use a lambda each time. Your call.

Thanks, you encouraged me. Also, while I made this patch, I was in
the mood for consolidating some exporter-local functions around the
captions. Especially, ox-odt and ox-ascii seem to have rich functions to
add ordinal numbers to captions. It might be over-killing, though.

Anyway, I'll add `org-html--has-caption-p' for this time.

>> @@ -2725,14 +2734,23 @@ INFO is a plist holding contextual information.  See
>>                   (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 org-html-standalone-image-predicate)
>>           (unless desc
>> +           (setq caption-predicate
>> +                 (if (org-element-property :caption destination)
>> +                     (lambda (elem &optional info)
>> +                       (org-element-property :caption elem))
>> +                   (lambda (elem &optional info)
>> +                     (not (org-element-property :caption elem)))))
>> +           (setq org-html-standalone-image-predicate caption-predicate)
>>             (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))))
> 
> You don't need to change `org-html-link'. I think it already DTRT.

I'm afraid I made some misunderstand, but without this hunk,
Tables/Figures without captions are mistakenly counted as a part of
numbered staffs. As shown below, Figure[[fig:manual]] makes Figure3
instead of Figure2.

* Figure Test
  See Figure[[fig:screenshot]] for screenshot.
  See Figure[[fig:manual]] for printed version of Org's manual.

  #+CAPTION: Org mode screen shot
  #+name: fig:screenshot
  [[http://orgmode.org/img/main.jpg]]

  This is org-mode logo: [[http://orgmode.org/img/org-mode-unicorn-logo.png]]
  (no caption, excluded from ordinal list).

  #+CAPTION: Org mode manual
  #+name: fig:manual
  [[http://orgmode.org/img/org-mode-7-network-theory.jpg]]


>> -     ("es" :default "Figura"))
>> +     ("es" :default "Figura")
>> +     ("ja" :html "&#22259;" :utf-8 "図"))
>> +    ("Figure %d:"
>> +     ("de" :default "Abbildung %d:")
>> +     ("es" :default "Figura %d:")
>> +     ("ja" :html "&#22259;%d:" :utf-8 "図%d:"))
> 
> Maybe you should also provide a :default value, otherwise it will use
> "Figure %d:" for latex, texinfo, ascii...

Let me confirm, do you mean I should have add :default value to the ``ja''
entry like: ("ja" :default "図" :html "&#22259;" :utf-8 "図")? In this
case, is the `:utf-8' meaning-less? Also, can I put UTF-8 word in `:default'?

> Also, I think it belong to a different patch. Would you mind splitting
> them?

Indeed.

I'll revise my patch in this weekend. thanks.
Regards,
--
Yoshinari Nomura
https://github.com/yoshinari-nomura



reply via email to

[Prev in Thread] Current Thread [Next in Thread]