From 8fbcdc0417776da5fcfa3517c8751a9ce7b4c232 Mon Sep 17 00:00:00 2001 From: "Wesley R. Elsberry" Date: Tue, 7 Oct 2025 05:01:39 -0400 Subject: [PATCH] Revised build.el to deal with Org import, Python3 import --- build.el | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/build.el b/build.el index af0b9bb..80935b0 100755 --- a/build.el +++ b/build.el @@ -1,12 +1,39 @@ +;; Load org and Babel tangle explicitly +(require 'ob-tangle) +(require 'ob-org) +(org-babel-do-load-languages 'org-babel-load-languages + '((org . t))) ;; <-- enable tangling of #+BEGIN_SRC org blocks + ;; Batch export & site publish (setq org-confirm-babel-evaluate nil) (setq org-latex-pdf-process '("latexmk -pdf -interaction=nonstopmode -shell-escape %f")) + +;; --- Babel / Python setup for batch exports --- +(setq org-confirm-babel-evaluate nil) +(setq org-babel-python-command "python3") +(setenv "MPLBACKEND" "Agg") ;; headless matplotlib + +;; Load languages you use in code blocks +(org-babel-do-load-languages 'org-babel-load-languages + '((python . t))) + +(defun wes--inject-setupfile (venue) + "Insert a per-venue #+SETUPFILE line at the top of the current buffer." + (save-excursion + (goto-char (point-min)) + ;; remove any previously injected line from a prior run + (when (looking-at "^#\\+SETUPFILE: setup/venue-.*\\.org") + (delete-region (line-beginning-position) (1+ (line-end-position)))) + (insert (format "#+SETUPFILE: setup/venue-%s.org\n" venue)))) + + (defun wes/export-pdf (&optional venue) (let* ((v (or venue (or (getenv "VENUE") "arxiv"))) (outfile (format "paper-%s.pdf" v))) (with-current-buffer (find-file-noselect "paper.org") (setenv "VENUE" v) + (wes--inject-setupfile v) (org-latex-export-to-pdf nil nil nil t) (when (file-exists-p "paper.pdf") (rename-file "paper.pdf" outfile t)) @@ -18,6 +45,7 @@ (defun wes/publish-site (&optional venue) (let* ((v (or venue (or (getenv "VENUE") "arxiv")))) (setenv "VENUE" v) + (wes--inject-setupfile v) (setq org-publish-project-alist `(("site-html" :base-directory "." @@ -67,6 +95,7 @@ (progn (with-current-buffer (find-file-noselect "paper.org") (setenv "VENUE" tmp-name) + (wes--inject-setupfile v) (org-latex-export-to-pdf nil nil nil t) (when (file-exists-p "paper.pdf") (rename-file "paper.pdf" outfile t)) @@ -83,6 +112,7 @@ (org-export-exclude-tags '("noexport"))) (with-current-buffer (find-file-noselect "paper.org") (setenv "VENUE" v) + (wes--inject-setupfile v) (org-latex-export-to-pdf nil nil nil t) (when (file-exists-p "paper.pdf") (rename-file "paper.pdf" outfile t))