lisp/ox-latex.el: Allow arbitrary float environments
* lisp/ox-latex.el (org-latex--inline-image) (org-latex--decorate-table): Recognize arbitrary :float value. * etc/ORG-NEWS: Announce new :float capability. LaTeX users are able to define arbitrary float types. This patch makes them accessible from Org mode.
This commit is contained in:
parent
200f454714
commit
e0bc2b37fb
|
@ -178,7 +178,7 @@ See [[msg:875z8njaol.fsf@protesilaos.com][this thread]].
|
|||
|
||||
See [[msg:87im57fh8j.fsf@gmail.com][this thread]].
|
||||
|
||||
*** =ob-python= improvements to =:return= header argument
|
||||
*** =ob-python= improvements to =:return= header argument
|
||||
|
||||
The =:return= header argument in =ob-python= now works for session
|
||||
blocks as well as non-session blocks. Also, it now works with the
|
||||
|
@ -250,6 +250,13 @@ Example:
|
|||
|
||||
: #+startup: show3levels
|
||||
|
||||
*** LaTeX attribute ~:float~ now passes through arbitrary values
|
||||
|
||||
LaTeX users are able to define arbitrary float types, e.g. with the
|
||||
float package. The Org mode LaTeX exporter is now able to process and
|
||||
export arbitrary float types. The user is responsible for ensuring
|
||||
that Org mode configures LaTeX to process any new float type.
|
||||
|
||||
*** New =u= table formula flag to enable Calc units simplification mode
|
||||
|
||||
A new =u= mode flag for Calc formulas in Org tables has been added to
|
||||
|
|
|
@ -2384,8 +2384,8 @@ used as a communication channel."
|
|||
((string= float "sideways") 'sideways)
|
||||
((string= float "multicolumn") 'multicolumn)
|
||||
((and (plist-member attr :float) (not float)) 'nonfloat)
|
||||
((or float
|
||||
(org-element-property :caption parent)
|
||||
(float float)
|
||||
((or (org-element-property :caption parent)
|
||||
(org-string-nw-p (plist-get attr :caption)))
|
||||
'figure)
|
||||
(t 'nonfloat))))
|
||||
|
@ -2477,6 +2477,18 @@ used as a communication channel."
|
|||
nil t))))
|
||||
;; Return proper string, depending on FLOAT.
|
||||
(pcase float
|
||||
((and (pred stringp) env-string)
|
||||
(format "\\begin{%s}%s
|
||||
%s%s
|
||||
%s%s
|
||||
%s\\end{%s}"
|
||||
env-string
|
||||
placement
|
||||
(if caption-above-p caption "")
|
||||
(if center "\\centering" "")
|
||||
comment-include image-code
|
||||
(if caption-above-p "" caption)
|
||||
env-string))
|
||||
(`wrap (format "\\begin{wrapfigure}%s
|
||||
%s%s
|
||||
%s%s
|
||||
|
@ -3207,9 +3219,9 @@ centered."
|
|||
(defun org-latex--decorate-table (table attributes caption above? info)
|
||||
"Decorate TABLE string with caption and float environment.
|
||||
|
||||
ATTRIBUTES is the plist containing is LaTeX attributes. CAPTION
|
||||
is its caption, as a string or nil. It is located above the
|
||||
table if ABOVE? is non-nil. INFO is the plist containing current
|
||||
ATTRIBUTES is the plist containing LaTeX attributes. CAPTION is
|
||||
its caption, as a string or nil. It is located above the table
|
||||
if ABOVE? is non-nil. INFO is the plist containing current
|
||||
export parameters.
|
||||
|
||||
Return new environment, as a string."
|
||||
|
@ -3218,7 +3230,8 @@ Return new environment, as a string."
|
|||
(cond ((and (not float) (plist-member attributes :float)) nil)
|
||||
((member float '("sidewaystable" "sideways")) "sidewaystable")
|
||||
((equal float "multicolumn") "table*")
|
||||
((or float (org-string-nw-p caption)) "table")
|
||||
(float float)
|
||||
((org-string-nw-p caption) "table")
|
||||
(t nil))))
|
||||
(placement
|
||||
(or (plist-get attributes :placement)
|
||||
|
|
Loading…
Reference in New Issue