Hi

version 3 patch, add document about :caption attribute.


On Sun, Jun 30, 2013 at 7:46 PM, Nicolas Goaziou <n.goaz...@gmail.com>wrote:

> Hello,
>
> feng shu <tuma...@gmail.com> writes:
>
> > This is the updated patch of  "Add :caption attribute to #+ATTR_LATEX
> > property"
> > If possible, please include it to master
>
> Thanks for your patch.
>
> I agree that #+CAPTION isn't ready for complex caption commands (nor
> that it should), so a :caption attribute may be useful. Though, it must
> be documented in the manual (see "12.7.4 LaTeX specific attributes"). In
> particular, documentation should insist on the fact that:
>
>   1. :caption attribute has precedence over #+caption keyword
>   2. :caption attribute is only meaningful special caption commands,
>      i.e., this isn't the standard way to set a caption in Org.
>   3. This is a raw command, nothing in it will be interpreted by Org.
>
> Here are some comments about the code:
> > +      (caption-from-attr-latex (plist-get (org-export-read-attribute
> :attr_latex element) :caption)))
>
> You can use the following slightly shorter sexp:
>
>   (caption-from-attr-latex (org-export-read-attribute :attr_latex element
> :caption))
>
> > +    (if (and caption-from-attr-latex (not (equal
> caption-from-attr-latex "")))
> > +     (concat caption-from-attr-latex "\n")
> > +      (cond
> > +       ((and (not main) (equal label-str "")))
> > +       ((not main) (concat label-str "\n"))
> > +       ;; Option caption format with short name.
> > +       (short (format "\\caption[%s]{%s%s}\n"
> > +                   (org-export-data short info)
> > +                   label-str
> > +                   (org-export-data main info)))
> > +       ;; Standard caption format.
> > +       (t (format "\\caption{%s%s}\n" label-str (org-export-data main
> info)))))))
>
> Here you can include the "then" part in the `cond', and use
> `org-string-nw-p':
>
>   (cond ((org-string-nw-p caption-from-attr-latex)
>          (concat caption-from-attr-latex "\n"))
>         ((and (not main) (equal label-str "")) "")
>         ...)
>
> >  (defun org-latex-guess-inputenc (header)
> >    "Set the coding system in inputenc to what the buffer is.
> > @@ -1655,7 +1658,7 @@ used as a communication channel."
> >                 (cond ((and (not float) (plist-member attr :float)) nil)
> >                       ((string= float "wrap") 'wrap)
> >                       ((string= float "multicolumn") 'multicolumn)
> > -                     ((or float (org-element-property :caption parent))
> > +                     ((or float (org-element-property :caption parent)
> (plist-get attr :caption))
>
> Be careful here: (plist-get attr :caption) will be non-nil if :caption
> is set to the empty string. It may be bulkier to use:
>
>   (org-string-nw-p (plist-get attr :caption))
>
> >                        'figure))))
> >        (placement
> >         (let ((place (plist-get attr :placement)))
> > @@ -2333,7 +2336,7 @@ This function assumes TABLE has `org' as its
> `:type' property and
> >                        ((and (not float) (plist-member attr :float)) nil)
> >                        ((string= float "sidewaystable") "sidewaystable")
> >                        ((string= float "multicolumn") "table*")
> > -                      ((or float (org-element-property :caption table))
> > +                      ((or float (org-element-property :caption table)
> (plist-get attr :caption))
>
> Ditto.
>
>
> Regards,
>
> --
> Nicolas Goaziou
>

Attachment: 0001-Add-caption-attribute-to-ATTR_LATEX-property.patch
Description: Binary data

Reply via email to