Tôi sử dụng đối số dòng lệnh nào để nhận Emacs để xuất tệp chế độ org sang Beamer PDF? (Tôi muốn tạo một Makefile
bản PDF tạo ra khi người dùng chạy make
.)
Tôi đã cố gắng làm theo câu trả lời này nhưng không thể làm cho nó hoạt động:
$ 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ỗi trên xuất phát từ thực tế là các tệp chế độ org nằm ở vị trí tùy chỉnh và tệp của tôi ~/.emacs.d/init.el
không được tải ( --batch
ngụ ý -q
aka --no-init-file
).
Nếu tôi bảo Emacs tải tập tin init của tôi thì nó sẽ hoạt động:
$ emacs --batch -l ~/.emacs.d/init.el foo.org -f org-beamer-export-to-pdf
Tuy nhiên, điều này không hoạt động đối với những người dùng khác sử dụng ~/.emacs
hoặc ~/.emacs.el
thay vì ~/.emacs.d/init.el
. Tôi đã cố nói với Emacs tải user-init-file
nhưng nó không hoạt động:
$ emacs --batch --eval '(load user-init-file)' foo.org -f org-beamer-export-to-pdf
Wrong type argument: stringp, nil
Giả sử tất cả người dùng có thể nhấn thành công C-x C-e l P
để xuất Beamer PDF khi sử dụng Emacs một cách tương tác, lệnh không tương tác nào sẽ tạo ra PDF?
emacs -u $USER --batch --eval '(message "-----> My user-init-file: "%s" user-init-file)'
. Nếu bạn không tải tập tin init của mình, có lẽ bạn cần phải yêu cầu ox-beamer
.
(require 'org)
hoặc một cái gì đó tương tự - tập tin init của bạn đang thực hiện một số tải--batch
bị cấm.