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 RLAdams@AdamsInfoServ.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3