Xuất tệp chế độ org dưới dạng PDF qua dòng lệnh?


10

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 Makefilebả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.elkhông được tải ( --batchngụ ý -qaka --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 ~/.emacshoặc ~/.emacs.elthay vì ~/.emacs.d/init.el. Tôi đã cố nói với Emacs tải user-init-filenhư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?


eval (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 --batchbị cấm.
Sean Allred

Hãy thử một cái gì đó như 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.
mutbuerger 30/03/2015

Bạn có thể thấy github.com/fniessen/orgmk hữu ích.
Ista

Câu trả lời:


8

Sau đây làm việc cho tôi:

emacs \
    -u "$(id -un)" \
    --batch \
    --eval '(load user-init-file)' \
    foo.org \
    -f org-beamer-export-to-pdf

Cảm ơn, hãy truy cập @mutbuerger để gợi ý vượt qua -u <username>để được user-init-filexác định.


Trong trường hợp của tôi, tôi thấy rằng tôi cần phải loại bỏ (load user-init-file)và thay thế nó bằng (require 'blah)các biểu thức s cụ thể để nó hoạt động (sử dụng emacs 24.5.1).
Đánh dấu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.