~bzg/emacsfr

1

Exportation LaTeX asynchrone Org → PDF

Sergiu Ivanov <sivanov@colimite.fr>
Details
Message ID
<87mtcoclly.fsf@univ-evry.fr>
DKIM signature
missing
Download raw message
Bonjour,

Je voulais partager avec vous ma trouvaille d'hier soir concernant
l'exportation asynchrone de fichiers Org vers PDF via le moteur LaTeX.

Les fonctions org-latex-export-to-pdf et org-beamer-export-to-pdf ont un
argument ASYNC, mais je n'ai jamais réussi à le faire marcher. Et hier
soir, révélation : je peux lancer un nouveau Emacs en batch mode, et lui
demander de faire l'exportation, e.g. :

emacs --batch myfile.org -l ~/.emacs -f org-beamer-export-to-pdf

C'est de toute façon à peu près ce que l'argument ASYNC est censé
produire comme comportement, il me semble.

Évidemment, on n'a généralement pas besoin de l'entière config .emacs
lorsqu'on est en batch mode, donc je me suis fait une version réduite de
~/.emacs spécifiquement pour la tâche.

En tant qu'utilisateur d'EXWM, je suis très content de ne pas voir mon
X bloqué à chaque fois que j'exporte une présentation en Org-beamer :-)

-
Bonne journée,
Sergiu
Details
Message ID
<87y1w8vvcm.fsf@m4x.org>
In-Reply-To
<87mtcoclly.fsf@univ-evry.fr> (view parent)
DKIM signature
missing
Download raw message
Bonjour,

On 2022-08-01 12:12, Sergiu Ivanov <sivanov@colimite.fr> writes:

> Je voulais partager avec vous ma trouvaille d'hier soir concernant
> l'exportation asynchrone de fichiers Org vers PDF via le moteur LaTeX.
>
> Les fonctions org-latex-export-to-pdf et org-beamer-export-to-pdf ont un
> argument ASYNC, mais je n'ai jamais réussi à le faire marcher. Et hier
> soir, révélation : je peux lancer un nouveau Emacs en batch mode, et lui
> demander de faire l'exportation, e.g. :
>
> emacs --batch myfile.org -l ~/.emacs -f org-beamer-export-to-pdf

Dans mes fichiers org pour les présentations, j’ai souvent ceci à la
fin :

* Local Variables                                                :noexport:
# Local Variables:
# eval: (load (expand-file-name "shared-init.el"))
# eval: (setq-local org-export-async-init-file (expand-file-name "export-init.el"))
# org-export-in-background: t
# End:

La partie shared-init est pour ce dont j’ai besoin quand j’écris la
présentation dans mon environnement emacs normal. Et le export-init a ce
dont j’ai besoin pour l’exportation. En voici un exemple.


;;; export-init.el --- description -*- lexical-binding: t; -*-

;;; Code:

(add-to-list 'load-path (file-name-directory load-file-name))

(setq-default indent-tabs-mode nil)
(setq debug-on-error t)

(require 'ox-latex)

(add-to-list 'org-latex-classes
             '("my-beamer"
               "\\documentclass\[presentation,aspectratio=169\]\{beamer\}
[NO-DEFAULT-PACKAGES]"
               ("\\section\{%s\}" . "\\section*\{%s\}")
               ("\\subsection\{%s\}" . "\\subsection*\{%s\}")
               ("\\subsubsection\{%s\}" . "\\subsubsection*\{%s\}")))

(require 'ox-beamer)

(setq org-latex-listings 'minted)
;; (setq org-latex-minted-options
;;       '(("frame" "lines")
;;         ("fontsize" "\\scriptsize")))

(org-babel-do-load-languages
 'org-babel-load-languages
 '((js . t)
   (shell . t)))

(setq org-confirm-babel-evaluate nil)

(setq org-latex-pdf-process
      '("latexmk -pdflatex='%latex --shell-escape -8bit' -pdf -quiet %f"))

(setq org-export-async-debug t)

(require 'shared-init)
(provide 'export-init)
;;; export-init.el ends here

Amicalement,

Alan
Reply to thread Export thread (mbox)