emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [RFC] [PATCH] ox-latex: support :float no with caption for minte


From: Aaron Ecay
Subject: Re: [O] [RFC] [PATCH] ox-latex: support :float no with caption for minted listings
Date: Thu, 28 Aug 2014 01:03:52 -0400
User-agent: Notmuch/0.18.1+51~gbbbdf04 (http://notmuchmail.org) Emacs/24.4.50.2 (x86_64-unknown-linux-gnu)

Hi Nicolas,

2014ko abuztuak 24an, Nicolas Goaziou-ek idatzi zuen:
> 
> Hello,
> 
> Aaron Ecay <address@hidden> writes:
> 
>> Why is the compatibility=false option needed?  I can’t figure this
>> out.
> 
> This is in my local copy of the minted manual, in "7 Known issues". It
> may be outdated, though.

Hmm.  I had not seen that in the manual; good catch.  There didn’t seem
to be any problems in the test documents I worked with, but they were
very minimalistic so perhaps don’t exercise the problem areas.

Anyway, the suggestion from Nicolas R. of using the capt-of package
makes this moot.

> 
>> “Pretty” source code export in all cases requires adding certain packages
>> to the default, as explained in the docstring of ‘org-latex-listings’.
>> The patch adds discussion of the caption requirement there, so there is
>> no “if” about the documentation.
>> 
>> I don’t understand what you’re saying about introducing “support” for
>> the caption package.  The patch uses one specific feature of the caption
>> package in one specific place to accomplish one specific goal.  There
>> are no other changes needed anywhere else in the codebase than these
>> couple of lines in one function (plus the documentation).
> 
> With your patch latex back-end can produce "\captionof" macros. This is
> what I call (partial) "support" from Org: knowing the macro.
> 
> Again, using this macro is an error in the default configuration.
> Besides not doing using it at all, there are usually two ways to solve
> the problem:
> 
>   1. Add the package in the default package list, so the combination
>      still works out of the box for anyone. E.g., `rotating' package.
>      Use with care, more packages is a higher risk of incompatibilites
>      between them. The lighter counterpart of `caption' package may be
>      safe though.
> 
>      OTOH, once the package is in the default package list, it can be
>      used everywhere in the back-end. This can be an advantage if there
>      are several places that could use \captionof.

The other application I can think of is to allow captioned images and
tables not to float.  The LaTeX world is full of tutorials on how to
un-float floating images and tables, but IME the org community doesn’t
ask for this.  (perhaps they implement their own solutions in latex.)

Given that the capt-of package is just two lines of code, defines just
one new command, and doesn’t modify any existing code, I’m inclined to
the belief that adding it to the default packages list is tolerable.

If capt-of is added to the default packages, then <caption, non-float,
org-latex-listing = nil> source blocks can also be handled.  My original
patch did not handle this case, on the theory that default option values
should always generate output that complies, even if it’s not correct in
other ways.

> 
>   2. Suggest, through docstring or manual, to the user to require
>      a specific package if he wants to benefit from the feature. E.g.,
>      `booktabs'.
> 
>      Usually, the situation makes it obvious that such a package is
>      required (e.g. ":environment longtabu" or ":booktabs t").
>      Unfortunately, this is not the case here. Under some
>      circumstances, :float nil needs `caption' (or its lighter
>      counterpart). I find it a bit too magical.

I see your point.  But, the \captionof command will only be emitted
if the user has changed org-latex-listings to a non-default value
(i.e. 'minted), necessitating the addition of the minted package to
org-latex-packages-alist.  The patch adds a note about the caption
(-> capt-of) package to the same docstring, so hopefully it will be
obvious enough.  So this is hopefully a workable backup option to an
addition to the default list.

> 
>      Note there is also :caption attribute which is used in tables and
>      special blocks, but not in source blocks, which may come handy
>      here.

I can’t tell what this is for.  It looks like merely a backend-specific
alternative to specifying the caption using org syntax (#+caption:).  Am
I missing something?

(Actually there seems to be subtle inconsistencies with respect to the
handling of attr_latex :caption in the present code, which I will work
on a patch to fix...)

Thanks,

-- 
Aaron Ecay



reply via email to

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