我要使用什么命令行参数来使Emacs将组织模式文件导出到Beamer PDF?(我想创建一个Makefile
在用户运行时生成PDF的文件make
。)
我尝试按照以下答案进行操作,但无法正常工作:
$ 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
上面的错误来自以下事实:组织模式文件位于自定义位置,并且my ~/.emacs.d/init.el
未被加载(--batch
意味着-q
aka --no-init-file
)。
如果我告诉Emacs加载我的初始化文件,它将起作用:
$ emacs --batch -l ~/.emacs.d/init.el foo.org -f org-beamer-export-to-pdf
但是,这对于使用~/.emacs
或~/.emacs.el
代替的其他用户不起作用~/.emacs.d/init.el
。我试图告诉Emacs加载,user-init-file
但没有成功:
$ emacs --batch --eval '(load user-init-file)' foo.org -f org-beamer-export-to-pdf
Wrong type argument: stringp, nil
假设C-x C-e l P
在交互式使用Emacs时,所有用户都可以成功按下以导出Beamer PDF,那么哪个非交互式命令将生成PDF?
尝试类似的东西
—
mutbuerger 2015年
emacs -u $USER --batch --eval '(message "-----> My user-init-file: "%s" user-init-file)'
。如果您不加载初始化文件,则可能需要ox-beamer
。
您可能会发现github.com/fniessen/orgmk有用。
—
Ista 2015年
(require 'org)
或类似的操作–您的init文件正在执行某些--batch
禁止的加载。