Jakich argumentów wiersza polecenia używam, aby Emacs wyeksportował plik w trybie org do pliku Beamer PDF? (Chcę utworzyć plik, Makefilektóry generuje plik PDF podczas uruchamiania użytkownika make).
Próbowałem zastosować się do tej odpowiedzi, ale nie udało mi się jej uruchomić:
$ 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
Powyższy błąd wynika z faktu, że pliki trybu org znajdują się w niestandardowej lokalizacji i mój plik ~/.emacs.d/init.elnie jest ładowany ( --batchoznacza to -qrównież --no-init-file).
Jeśli powiem Emacsowi, aby załadował mój plik init, zadziała:
$ emacs --batch -l ~/.emacs.d/init.el foo.org -f org-beamer-export-to-pdf
Nie działa to jednak w przypadku innych użytkowników, którzy używają ~/.emacslub ~/.emacs.elzamiast tego ~/.emacs.d/init.el. Próbowałem powiedzieć Emacsowi, żeby się załadował, user-init-fileale to nie zadziałało:
$ emacs --batch --eval '(load user-init-file)' foo.org -f org-beamer-export-to-pdf
Wrong type argument: stringp, nil
Zakładając, że wszyscy użytkownicy mogą z powodzeniem nacisnąć przycisk, C-x C-e l Paby wyeksportować plik Beamer PDF podczas interaktywnego używania Emacsa, jakie nieinteraktywne polecenie wygeneruje plik PDF?
emacs -u $USER --batch --eval '(message "-----> My user-init-file: "%s" user-init-file)'. Jeśli nie załadujesz pliku init, prawdopodobnie będziesz potrzebować ox-beamer.
(require 'org)lub coś w tym rodzaju - Twój plik init wykonuje ładowanie, które--batchjest zabronione.