emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Russell Adams <RLAdams@AdamsInfoServ.Com>
To: emacs-orgmode@gnu.org
Subject: Re: How to invoke org-export externally from outside Emacs
Date: Thu, 25 Sep 2014 04:01:24 -0500	[thread overview]
Message-ID: <20140925090124.GB4563@cardamom.adamsinfoserv.com> (raw)
In-Reply-To: <20140925105626.14caee18@patti>

On Thu, Sep 25, 2014 at 10:56:26AM +0200, Miguel Telleria de Esteban wrote:
> Dear list,
>
> I am using org-mode more and more everyday, congrats to the community for
> such a great program!!
>
> I would like to automate the generation of PDF/HTML/ODT... thorough a
> command line with a makefile.  Something like:
>
> file.pdf:  file.org
> 	<generation_command_here>
>
> Is there a way to externally launch, let's say org-latex-export-to-pdf from
> outside Emacs?.  Maybe through a script.
>
> Probably this is more an Emacs-list question than an org-mode one but any
> suggestion here will be welcome.
>
> Cheers and thanks in advance for any suggestion.
>
> 	Miguel

I use a Makefile to export to latex, then I use pdflatex to compile
the final version. Org does the same thing if you ask it to go
straight to PDF, but this lets me include my revision number.

This also launches my pdf viewer (xpdf), and works for every .org file
in the directory.

Makefile:
----------------------------------------------------------------------
.PHONY: all clean

OBJS := $(patsubst %.org, %.pdf, $(wildcard *.org))

CRAP := $(patsubst %.org, %.pdf, $(wildcard *.org))
CRAP += $(patsubst %.org, %.aux, $(wildcard *.org))
CRAP += $(patsubst %.org, %.log, $(wildcard *.org))
CRAP += $(patsubst %.org, %.out, $(wildcard *.org))
CRAP += $(patsubst %.org, %.toc, $(wildcard *.org))

all: $(OBJS)

clean:
	rm -f $(CRAP)

%.tex: %.org
	emacs -batch \
		-load ~/.emacs \
		--eval '(setq enable-local-variables :all)' \
		--visit=$< \
		-f org-export-as-latex \

%.pdf: %.tex
	pdflatex "\\def\\Revision {`bzr version-info --custom --template=\"{revno}\" $<`}" "\\input{$<}"
	pdflatex "\\def\\Revision {`bzr version-info --custom --template=\"{revno}\" $<`}" "\\input{$<}"
	xpdf $@
----------------------------------------------------------------------

------------------------------------------------------------------
Russell Adams                            RLAdams@AdamsInfoServ.com

PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/

Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3

  reply	other threads:[~2014-09-25  9:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-25  8:56 How to invoke org-export externally from outside Emacs Miguel Telleria de Esteban
2014-09-25  9:01 ` Russell Adams [this message]
2014-09-25 10:40   ` Miguel Telleria de Esteban
2014-09-25 11:32   ` Fabrice Niessen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140925090124.GB4563@cardamom.adamsinfoserv.com \
    --to=rladams@adamsinfoserv.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).