forked from mirrors/org-mode
ox-latex: Fix interning of engraved theme keyword
* lisp/ox-latex.el (org-latex-src-block--engraved, org-latex-inline-src-block--engraved): The engrave-faces backend expects themes to be named using symbols, as does the default theme used by org `org-latex-engraved-theme'. However, when set using #+attr_latex or the use of #+latex_engraved_theme the value in the info plist is a string. Thus, the code path needs to handle both string and symbol values, interning string values to symbols.
This commit is contained in:
parent
16240adb94
commit
6665f5274c
|
@ -2761,9 +2761,10 @@ INFO, CODE, and LANG are provided by `org-latex-inline-src-block'."
|
||||||
"Transcode an inline src block's content from Org to LaTeX, using engrave-faces.
|
"Transcode an inline src block's content from Org to LaTeX, using engrave-faces.
|
||||||
INFO, CODE, and LANG are provided by `org-latex-inline-src-block'."
|
INFO, CODE, and LANG are provided by `org-latex-inline-src-block'."
|
||||||
(let ((engraved-theme (plist-get info :latex-engraved-theme)))
|
(let ((engraved-theme (plist-get info :latex-engraved-theme)))
|
||||||
|
(when (stringp engraved-theme)
|
||||||
|
(setq engraved-theme (intern engraved-theme)))
|
||||||
(org-latex-src--engrave-code
|
(org-latex-src--engrave-code
|
||||||
code lang
|
code lang engraved-theme nil
|
||||||
(and engraved-theme (intern engraved-theme)) nil
|
|
||||||
(plist-get info :latex-engraved-options) t)))
|
(plist-get info :latex-engraved-options) t)))
|
||||||
|
|
||||||
(defun org-latex-inline-src-block--listings (info code lang)
|
(defun org-latex-inline-src-block--listings (info code lang)
|
||||||
|
@ -3897,9 +3898,16 @@ and FLOAT are extracted from SRC-BLOCK and INFO in `org-latex-src-block'."
|
||||||
`(("linenos")
|
`(("linenos")
|
||||||
("firstnumber" ,(number-to-string (1+ num-start)))))
|
("firstnumber" ,(number-to-string (1+ num-start)))))
|
||||||
(and local-options `((,local-options))))))
|
(and local-options `((,local-options))))))
|
||||||
(engraved-doc-theme (plist-get info :latex-engraved-theme))
|
(intern-safe
|
||||||
(engraved-theme (or (plist-get attributes :engraved-theme)
|
(lambda (name)
|
||||||
engraved-doc-theme))
|
(if (stringp name)
|
||||||
|
(intern name)
|
||||||
|
name)))
|
||||||
|
(engraved-doc-theme
|
||||||
|
(funcall intern-safe (plist-get info :latex-engraved-theme)))
|
||||||
|
(engraved-theme
|
||||||
|
(or (funcall intern-safe (plist-get attributes :engraved-theme))
|
||||||
|
engraved-doc-theme))
|
||||||
(content
|
(content
|
||||||
(let* ((code-info (org-export-unravel-code src-block))
|
(let* ((code-info (org-export-unravel-code src-block))
|
||||||
(max-width
|
(max-width
|
||||||
|
@ -3925,7 +3933,7 @@ and FLOAT are extracted from SRC-BLOCK and INFO in `org-latex-src-block'."
|
||||||
(org-latex-src--engrave-mathescape-p info options)))
|
(org-latex-src--engrave-mathescape-p info options)))
|
||||||
(org-latex-src--engrave-code
|
(org-latex-src--engrave-code
|
||||||
content lang
|
content lang
|
||||||
(and engraved-theme (intern engraved-theme))
|
engraved-theme
|
||||||
(not (eq engraved-theme engraved-doc-theme))
|
(not (eq engraved-theme engraved-doc-theme))
|
||||||
options))))
|
options))))
|
||||||
(concat (car float-env) body (cdr float-env))))
|
(concat (car float-env) body (cdr float-env))))
|
||||||
|
|
Loading…
Reference in New Issue