emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Export (to `LaTeX`) `~⟨code snippet⟩~` into `\lstinline+⟨code snippet⟩+`


From: Denis Bitouzé
Subject: Export (to `LaTeX`) `~⟨code snippet⟩~` into `\lstinline+⟨code snippet⟩+` (just as does `src_⟨language⟩{⟨code snippet⟩}`)
Date: Fri, 11 Mar 2022 15:45:56 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi,

here is a feature request about the LaTeX export (another one: the
previous mine, https://list.orgmode.org/87zgmda67z.fsf@example.com/,
sadly didn't get any answer).

With `(setq org-latex-listings t)`, `src_⟨language⟩{⟨code snippet⟩}` is
exported from `org-mode` to `LaTeX` into
`\lstinline[language=⟨language⟩]~⟨code snippet⟩~` (here, `~` could be
almost any token): so far, so good.

But one could expect to get the same export with the usual `org-mode`
syntax for code snippets: `~⟨code snippet⟩~` (this supposes the ⟨language⟩
to be declared globally), as in the following example:

--8<---------------cut here---------------start------------->8---
#+OPTIONS:   toc:nil title:nil

#+LaTeX_HEADER: \usepackage{xcolor}
#+LaTeX_HEADER: \usepackage{listings}
#+LaTeX_HEADER: 
\lstset{language=[auto]lisp,basicstyle=\ttfamily,keywordstyle=\color{red}}

#+PROPERTY: header-args :padline no :exports both :noweb yes :eval always

src_lisp{defun} is fun!

~defun~ is fun!
--8<---------------cut here---------------end--------------->8---

For this, it is possible to redefine the `org-latex-code` function:

--8<---------------cut here---------------start------------->8---
;; Inspired by https://emacs.stackexchange.com/q/70720/5267
(defun org-latex-code (code _contents info)
  "Transcode a CODE object from Org to LaTeX.
CONTENTS is nil.  INFO is a plist used as a communication
channel."
  (format "\\lstinline+%s+"
          (org-element-property :value code)))
--8<---------------cut here---------------end--------------->8---

but, IMHO, this should be the default.

WDYT?
-- 
Denis



reply via email to

[Prev in Thread] Current Thread [Next in Thread]