¿Qué argumentos de línea de comandos utilizo para hacer que Emacs exporte un archivo de modo org a un PDF de Beamer? (Quiero crear un Makefile
archivo PDF que produzca cuando el usuario lo ejecute make
).
Intenté seguir esta respuesta, pero no pude hacerlo 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
El error anterior proviene del hecho de que los archivos del modo org están en una ubicación personalizada y mi ~/.emacs.d/init.el
no está cargado ( --batch
implica -q
alias --no-init-file
).
Si le digo a Emacs que cargue mi archivo init, funcionará:
$ emacs --batch -l ~/.emacs.d/init.el foo.org -f org-beamer-export-to-pdf
Sin embargo, esto no funciona para otros usuarios que usan ~/.emacs
o ~/.emacs.el
no ~/.emacs.d/init.el
. Intenté decirle a Emacs que cargara user-init-file
pero no funcionó:
$ emacs --batch --eval '(load user-init-file)' foo.org -f org-beamer-export-to-pdf
Wrong type argument: stringp, nil
Suponiendo que todos los usuarios pueden presionar C-x C-e l P
con éxito para exportar un PDF de Beamer cuando usan Emacs de forma interactiva, ¿qué comando no interactivo producirá un PDF?
fuente
(require 'org)
o algo así: su archivo init está cargando algo que--batch
está prohibiendo.emacs -u $USER --batch --eval '(message "-----> My user-init-file: "%s" user-init-file)'
. Si no carga su archivo de inicio, probablemente necesite solicitarloox-beamer
.Respuestas:
Lo siguiente funcionó para mí:
Gracias a @mutbuerger por la sugerencia que debe pasar
-u <username>
parauser-init-file
definirse.fuente
(load user-init-file)
y reemplazarlo con(require 'blah)
expresiones s específicas para que funcione (usando emacs 24.5.1).