Quais argumentos da linha de comando eu uso para o Emacs exportar um arquivo de modo organizacional para um PDF do Beamer? Quero criar um Makefile
que produza um PDF quando o usuário executa make
.
Tentei seguir esta resposta, mas não consegui fazê-la funcionar:
$ 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
O erro acima vem do fato de que os arquivos do modo organizacional estão em um local personalizado e o meu ~/.emacs.d/init.el
não está carregado ( --batch
implica -q
aka --no-init-file
).
Se eu disser ao Emacs para carregar meu arquivo init, ele funcionará:
$ emacs --batch -l ~/.emacs.d/init.el foo.org -f org-beamer-export-to-pdf
No entanto, isso não funciona para outros usuários que usam ~/.emacs
ou em ~/.emacs.el
vez de ~/.emacs.d/init.el
. Tentei dizer ao Emacs para carregar, user-init-file
mas não funcionou:
$ emacs --batch --eval '(load user-init-file)' foo.org -f org-beamer-export-to-pdf
Wrong type argument: stringp, nil
Supondo que todos os usuários possam pressionar C-x C-e l P
com êxito para exportar um PDF do Beamer ao usar o Emacs interativamente, que comando não interativo produzirá um PDF?
fonte
(require 'org)
ou algo parecido - seu arquivo init está fazendo algum carregamento que--batch
é proibido.emacs -u $USER --batch --eval '(message "-----> My user-init-file: "%s" user-init-file)'
. Se você não carregar o seu arquivo init, provavelmente precisará fazê-loox-beamer
.Respostas:
O seguinte funcionou para mim:
Obrigado a @mutbuerger para que a dica passe
-u <username>
para seruser-init-file
definida.fonte
(load user-init-file)
-lo e substituí-lo por(require 'blah)
expressões s específicas para que funcionasse (usando o emacs 24.5.1).