Juan Manuel Macías <maciasch...@posteo.net> writes: >> What about :wrap? > > I like :wrap. What's more, remembering that old thread where > some questions about code before/after the image were discussed, > what if the expected value of :wrap were a kind of template? This would > allow code to be placed before and/or after (not just an environment) > the image, always within the float environment, if it exists. Something > like this: > > #+ATTR_LaTeX: :float nil :wrap > \begin{minipage}[b]{10pc}\small\n%s\n\end{minipage} > #+CAPTION: caption > [[file:foo.png]] > ... > #+ATTR_LaTeX: :float minipage :placement [b]{10pc} :caption > \captionof{figure}{caption} > [[file:foo.png]] > > I don't know if it would be appropriate to explain in the Manual that > doing so would not be... "correct"? I don't know if there is any term in > programming to designate these situations which, without being bugs, are > functionalities not consciously sought...
What about making :wrap override :float completely + obsoleting :float. We can allow wrap to have special values like in float: :wrap t/:wrap multicolumn/:wrap sideways With these special values, :placement will be taken into account. Further, we can make templates a bit more detailed. Starting from similar to what you proposed in the above :wrap \begin{minipage}[b]{10pc}\small\n%{body}\n\end{minipage} to more granular control over caption, centering, comment-include, and image-code: %{caption} %{caption-text} %{centering} %{comment} %{comment-text} %{image} %{image-path}. If the :wrap text does not contain %{...} placeholder, it will be treated as what :float artbirary-environment does. We may even consider something like #+name: latex-template #+begin_src latex :export none \begin{minipage}[b]{10pc}\small %{body} \end{minipage} #+end_src #+attr_latex: :wrap latex-template[] As a bonus, :wrap may allow prepending/appending arbitrary code to headings: * Heading starting at a new page :PROPERTIES: :ATTR_LATEX: :wrap \clarpage%{default} :END: >>> ... However, :float can still be useful for >>> certain combinations. For example, a minipage environment cannot include >>> a caption (it produces an error of the type "LaTeX Error: \caption >>> outside float"). >> >> Do we know in advance which environments support \caption and which not? >> I feel that we may handle this programmatically without creating an array >> of almost-identical attributes. > > I like the idea, but unfortunately, apart from the known float > environments, there are those that a user can define using the \newfloat > command from the float package. We might also consider :caption-template \captionof{figure}{%{caption-text}} -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>