[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 40c559ac3d 02/13: ox-latex: Refactor `org-latex-inl
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 40c559ac3d 02/13: ox-latex: Refactor `org-latex-inline-src-block' |
Date: |
Thu, 12 May 2022 12:57:51 -0400 (EDT) |
branch: externals/org
commit 40c559ac3d9e98350470b3de99f9ceeb55cad8df
Author: TEC <tec@tecosaur.com>
Commit: TEC <tec@tecosaur.com>
ox-latex: Refactor `org-latex-inline-src-block'
* lisp/ox-latex.el (org-latex-inline-src-block,
org-latex-inline-src-block--minted,
org-latex-inline-src-block--listings): Extract the minted and listings
specific logic out of `org-latex-inline-src-block` into the new
functions `org-latex-inline-src-block--minted` and
`org-latex-inline-src-block--listings`.
---
lisp/ox-latex.el | 62 +++++++++++++++++++++++++++++---------------------------
1 file changed, 32 insertions(+), 30 deletions(-)
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index c2f728a1c9..38f36a1f38 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -2127,36 +2127,38 @@ CONTENTS is nil. INFO is a plist holding contextual
information."
"Transcode an INLINE-SRC-BLOCK element from Org to LaTeX.
CONTENTS holds the contents of the item. INFO is a plist holding
contextual information."
- (let* ((code (org-element-property :value inline-src-block))
- (separator (org-latex--find-verb-separator code)))
- (cl-case (plist-get info :latex-listings)
- ;; Do not use a special package: transcode it verbatim, as code.
- ((nil) (org-latex--text-markup code 'code info))
- ;; Use minted package.
- (minted
- (let* ((org-lang (org-element-property :language inline-src-block))
- (mint-lang (or (cadr (assq (intern org-lang)
- (plist-get info :latex-minted-langs)))
- (downcase org-lang)))
- (options (org-latex--make-option-string
- (plist-get info :latex-minted-options))))
- (format "\\mintinline%s{%s}{%s}"
- (if (string= options "") "" (format "[%s]" options))
- mint-lang
- code)))
- ;; Use listings package.
- (otherwise
- ;; Maybe translate language's name.
- (let* ((org-lang (org-element-property :language inline-src-block))
- (lst-lang (or (cadr (assq (intern org-lang)
- (plist-get info :latex-listings-langs)))
- org-lang))
- (options (org-latex--make-option-string
- (append (plist-get info :latex-listings-options)
- `(("language" ,lst-lang))))))
- (concat (format "\\lstinline[%s]" options)
- separator code separator))))))
-
+ (let ((code (org-element-property :value inline-src-block))
+ (lang (org-element-property :language inline-src-block)))
+ (pcase (plist-get info :latex-listings)
+ ('nil (org-latex--text-markup code 'code info))
+ ('minted (org-latex-inline-src-block--minted info code lang))
+ (_ (org-latex-inline-src-block--listings info code lang)))))
+
+(defun org-latex-inline-src-block--minted (info code lang)
+ "Transcode an inline src block's content from Org to LaTeX, using minted.
+INFO, CODE, and LANG are provided by `org-latex-inline-src-block'."
+ (let ((mint-lang (or (cadr (assq (intern lang)
+ (plist-get info :latex-minted-langs)))
+ (downcase lang)))
+ (options (org-latex--make-option-string
+ (plist-get info :latex-minted-options))))
+ (format "\\mintinline%s{%s}{%s}"
+ (if (string= options "") "" (format "[%s]" options))
+ mint-lang
+ code)))
+
+(defun org-latex-inline-src-block--listings (info code lang)
+ "Transcode an inline src block's content from Org to LaTeX, using
lstlistings.
+INFO, CODE, and LANG are provided by `org-latex-inline-src-block'."
+ (let* ((lst-lang (or (cadr (assq (intern lang)
+ (plist-get info :latex-listings-langs)))
+ lang))
+ (separator (org-latex--find-verb-separator code))
+ (options (org-latex--make-option-string
+ (append (plist-get info :latex-listings-options)
+ `(("language" ,lst-lang))))))
+ (concat (format "\\lstinline[%s]" options)
+ separator code separator)))
;;;; Inlinetask
- [elpa] externals/org updated (d5a52be0a5 -> 5766ddd758), ELPA Syncer, 2022/05/12
- [elpa] externals/org bbba45a07f 05/13: ox-latex: Don't use `length' to get string width, ELPA Syncer, 2022/05/12
- [elpa] externals/org b4e4b3c502 07/13: ox-latex: Replace `org-latex-listings', ELPA Syncer, 2022/05/12
- [elpa] externals/org 61d85bcdb3 01/13: ox-latex: Refactor `org-latex-src-block', ELPA Syncer, 2022/05/12
- [elpa] externals/org 40c559ac3d 02/13: ox-latex: Refactor `org-latex-inline-src-block',
ELPA Syncer <=
- [elpa] externals/org e07b89c31c 06/13: ox-latex: Refactor source block transcode fun sigs, ELPA Syncer, 2022/05/12
- [elpa] externals/org d30738b786 04/13: ox-latex: Introduce "engraved" code highlighting, ELPA Syncer, 2022/05/12
- [elpa] externals/org a16e208938 08/13: ox-latex: Support setting the engraved theme, ELPA Syncer, 2022/05/12
- [elpa] externals/org 4d5805755c 09/13: ox-latex: Support setting engraved theme per-block, ELPA Syncer, 2022/05/12
- [elpa] externals/org faa5c1887c 11/13: ox-latex: Support mathescape'd code with engraved, ELPA Syncer, 2022/05/12
- [elpa] externals/org 5766ddd758 13/13: ox-latex: Prefix lst: to source block labels, ELPA Syncer, 2022/05/12
- [elpa] externals/org ca91473639 03/13: ox-latex: More versitile option construction, ELPA Syncer, 2022/05/12
- [elpa] externals/org af4ca40eae 10/13: ox-latex: Fix %-captions in minted/engraved code, ELPA Syncer, 2022/05/12
- [elpa] externals/org 2cb62c0798 12/13: news and manual: Mention ox-latex's engraved code, ELPA Syncer, 2022/05/12