emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Latex exporting


From: Daniel Goldin
Subject: Re: [Orgmode] Latex exporting
Date: Wed, 6 Aug 2008 21:08:39 -0700

Thank you so much for sharing this!

d.

On Wed, Aug 6, 2008 at 2:32 PM, Russell Adams <address@hidden> wrote:
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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkiaGHkACgkQEVTgGBFg3LPwcQCeJMBRNJhDujh1f8HIt0x+3jY2
A58AoMjnNFTPvjzU7xYRj+lAtqymxB7J
=9EH5
-----END PGP SIGNATURE-----

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode




--
Daniel Goldin
213.926.1960

reply via email to

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