Quali argomenti della riga di comando uso per far sì che Emacs esporti un file in modalità org in un PDF Beamer? (Voglio creare un file Makefile
che produce un PDF quando l'utente esegue make
.)
Ho provato a seguire questa risposta ma non sono riuscito a farlo funzionare:
$ emacs --batch foo.org -f org-beamer-export-to-pdf
Symbol's function definition is void: org-beamer-export-to-pdf
$ emacs --batch -l ox-beamer foo.org -f org-beamer-export-to-pdf
Cannot open load file: ox-beamer
L'errore sopra riportato deriva dal fatto che i file in modalità org si trovano in una posizione personalizzata e my ~/.emacs.d/init.el
non è caricato ( --batch
implica -q
aka --no-init-file
).
Se dico a Emacs di caricare il mio file init funzionerà:
$ emacs --batch -l ~/.emacs.d/init.el foo.org -f org-beamer-export-to-pdf
Tuttavia, questo non funziona per altri utenti che usano ~/.emacs
o ~/.emacs.el
invece di ~/.emacs.d/init.el
. Ho provato a dire a Emacs di caricare user-init-file
ma non ha funzionato:
$ emacs --batch --eval '(load user-init-file)' foo.org -f org-beamer-export-to-pdf
Wrong type argument: stringp, nil
Supponendo che tutti gli utenti possano premere con successo C-x C-e l P
per esportare un PDF Beamer quando utilizzano Emacs in modo interattivo, quale comando non interattivo produrrà un PDF?
emacs -u $USER --batch --eval '(message "-----> My user-init-file: "%s" user-init-file)'
. Se non carichi il tuo file init, probabilmente dovrai richiederlo ox-beamer
.
(require 'org)
o qualcosa del genere - il tuo file init sta eseguendo un caricamento che--batch
sta vietando.