Ihor Radchenko writes: >> In tables there is more consistency because :float is a float >> environment (table or any arbitrary value) and :environment is a table >> environment (tabular or any arbitrary value). Here :placement :options >> and :align act as what is expected of them: >> >> #+ATTR_LaTeX: :environment foo :float var :placement [!h] :options [blah] >> :align cccc >> |a|a|a|a| >> >> ===> >> >> \begin{var}[!h] >> \centering >> \begin{foo}[blah]{cccc} >> a & a & a & a\\[0pt] >> \end{foo} >> \end{var} >> \end{document} > > This is not documented and is possibly a bug.
I would say that it is the expected behavior: :float is for a float environment and :environment is for the environment that builds the table (by default tabular). According to the manual: #+begin_quote The table environments by default are not floats in LaTeX. To make them floating objects use =:float= with one of the following options: =t= (for a default =table= environment), =sideways= (for a =sidewaystable= environment), =multicolumn= [...] and =nil=. In addition to these three values, =:float= can pass through any arbitrary value, for example a user-defined float type with the =float= LaTeX package #+end_quote and (for :environment): #+begin_quote Set the default LaTeX table environment for the LaTeX export backend to use when exporting Org tables. Common LaTeX table environments are provided by these packages: tabularx, longtable, array, tabu, and bmatrix. For packages, such as tabularx and tabu, or any newer replacements #+end_quote The difference is that with images, except in cases of somewhat more complex constructions where there are subfigures, there is only one environment, "figure" by default or any other arbitrary one. There was a commit a while ago, I don't remember when, that allowed :float to support any arbitrary string as the float environment name, in images and tables. In images ':float t' is figure (by default) and in tables it is table (also by default). Update: ah, I already have the commit located, because I also remember that I myself sent a patch to update the documentation and correct a regression that that commit introduced (:float t produced an environment "t" (\begin{t}...\end{t}): https://list.orgmode.org/878ruhrvfq....@posteo.net/