emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Latex exporting


From: Russell Adams
Subject: Re: [Orgmode] Latex exporting
Date: Wed, 6 Aug 2008 16:32:41 -0500
User-agent: Mutt/1.5.18 (2008-05-17)

On Tue, Jul 29, 2008 at 06:46:37PM -0500, Russell Adams wrote:
> I've finally embarked upon a journey of exploration, attempting to
> publish quality PDF's via org and latex.
> 

As a follow up to my command line tricks, I want to share how to get
headers and footers into Latex exports.

First, the default latex exporter uses A4 paper, I need letter. To
change that I use the following in my .emacs to add a custom export
type, "myarticle". 

This includes expanding the default margins via the geometry package,
and sets up packages I will use later like fancyhdr and lastpage. I
also include a default footer on my work, which includes the filename
and date, page numbering, and copyright statement with current year.

~/.emacs ------------------------------------------------------------

(setq org-export-latex-classes (cons '("myarticle"
     "% BEGIN My Article Defaults
\\documentclass[10pt,letterpaper]{article}
\\usepackage[letterpaper,includeheadfoot,top=0.5in,bottom=0.5in,left=0.75in,right=0.75in]{geometry}
\\usepackage[utf8]{inputenc}
\\usepackage[T1]{fontenc}
\\usepackage{hyperref}
\\usepackage{lastpage}
\\usepackage{fancyhdr}
\\pagestyle{fancy}
\\renewcommand{\\headrulewidth}{1pt}
\\renewcommand{\\footrulewidth}{0.5pt}

% Default footer
\\fancyfoot[L]{\\small \\jobname \\\\ \\today}
\\fancyfoot[C]{\\small Page \\thepage\\ of \\pageref{LastPage}}
\\fancyfoot[R]{\\small \\copyright \\the\\year\\  Me}
% END My Article Defaults

"
     ("\\section{%s}" . "\\section*{%s}")
     ("\\subsection{%s}" . "\\subsection*{%s}")
     ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
     ("\\paragraph{%s}" . "\\paragraph*{%s}")
     ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
                                                                         
org-export-latex-classes))

------------------------------------------------------------

To use this custom type I add this as the first line in my Org file:

#+LaTeX_CLASS: myarticle

Further customization is easy using a local variables block at the end
of my file.

End of file.org --------------------------------------------------

#+ Local Variables:
#+ org-export-latex-title-command: ""
#+ org-export-latex-append-header: "\
#+ \\usepackage{graphicx}
#+ \\usepackage{multicol}
#+ \\geometry{headheight=47pt}
#+ \\fancyhead[L]{\\LARGE This is the header title}
#+ \\fancyfoot[L]{\\small Overridden filename\\\\ \\today}
#+ "
#+ End:
------------------------------------------------------------

Changing the title command means no title page is created, so I must
make my own. Omitting that line will create the normal title page.

Other packages I include via the append header variable are graphicx
for PNG support, multicol for two columns, overriding the page header
height in case I get a warning its too tall, and new headers to
override the defaults (ie: I want something better than a filename).

I'm exporting to latex via a Makefile, using the command line tricks I
posted earlier. The Makefile is attached.

I've attached a sample org file and its output PDF using these
settings, because one of my frustrations learning latex has been the
lack of finished output for examples. ;]

Enjoy!

------------------------------------------------------------------
Russell Adams                            address@hidden

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

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

Attachment: Makefile
Description: Text document

Attachment: Example.org
Description: Text document

Attachment: Example.pdf
Description: Adobe PDF document

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]