Sèkun blog


Utiliser minted pour l'export en latex avec orgmode

2022-08-10 math | tags : emacs orgmode

Le package minted permet un rendu plus beau (via l'outil pygments écrit en python) du code. De plus, je préfère utiliser xelatex au lieu de latex.

Il faut changer la manière dont on compile notre programme, pour ma part j'utilise latexmk. Le souci est que, lors des prévisualisation en latex, c'est le format .dvi qui est converti en png, or avec xelatex, il génère des pdf. Il faut donc modifier quelques variables:

(add-to-list 'org-latex-packages-alist '("" "minted"))
(setq org-latex-create-formula-image-program 'imagemagick)
(setq org-latex-listings 'minted)
(setq org-latex-pdf-process '("latexmk -shell-escape -f -pdf -%latex -interaction=nonstopmode -output-directory=%o %f"))
(setq org-preview-latex-process-alist
      (let*
          ((imagemagick (alist-get 'imagemagick org-preview-latex-process-alist))
           (imagemagick (plist-put imagemagick :programs '("xelatex" "convert")))
           (imagemagick (plist-put imagemagick :latex-compiler '("xelatex -shell-escape -interaction nonstopmode -output-directory %o %f")))
           (imagemagick (plist-put imagemagick :image-converter '("/usr/bin/gm convert -density %D -trim -antialias %f -quality 100 %O"))))

        (cons (cons 'imagemagick imagemagick) (assq-delete-all 'imagemagick org-preview-latex-process-alist))))

J'utilise ici GraphicsMagick plutôt que ImageMagick (ligne /usr/bin/gm convert au lieu de /usr/bin/convert).

Au début de votre document, vous pourrez spécifier le compilateur:

#+latex_compiler: xelatex
Article publié le 10 août 2022.