Created
November 13, 2013 01:56
-
-
Save meefen/7442269 to your computer and use it in GitHub Desktop.
Makefile and LaTeX templates for compiling Markdown documents for job application. Applicable to other situations where you need to compile a bunch of Markdown files to PDF or Word/ODT formats.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$lang$,$endif$$if(papersize)$$papersize$,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$} | |
\usepackage[T1]{fontenc} | |
\usepackage{lmodern} | |
\usepackage{amssymb,amsmath} | |
\usepackage{ifxetex,ifluatex} | |
\usepackage{fixltx2e} % provides \textsubscript | |
% use upquote if available, for straight quotes in verbatim environments | |
\IfFileExists{upquote.sty}{\usepackage{upquote}}{} | |
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex | |
\usepackage[utf8]{inputenc} | |
$if(euro)$ | |
\usepackage{eurosym} | |
$endif$ | |
\else % if luatex or xelatex | |
\ifxetex | |
\usepackage{mathspec} | |
\usepackage{xltxtra,xunicode} | |
\else | |
\usepackage{fontspec} | |
\fi | |
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase} | |
\newcommand{\euro}{€} | |
$if(mainfont)$ | |
\setmainfont{$mainfont$} | |
$endif$ | |
$if(sansfont)$ | |
\setsansfont{$sansfont$} | |
$endif$ | |
$if(monofont)$ | |
\setmonofont[Mapping=tex-ansi]{$monofont$} | |
$endif$ | |
$if(mathfont)$ | |
\setmathfont(Digits,Latin,Greek){$mathfont$} | |
$endif$ | |
\fi | |
% use microtype if available | |
\IfFileExists{microtype.sty}{\usepackage{microtype}}{} | |
$if(geometry)$ | |
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} | |
$endif$ | |
$if(natbib)$ | |
\usepackage{natbib} | |
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} | |
$endif$ | |
$if(biblatex)$ | |
\usepackage{biblatex} | |
$if(biblio-files)$ | |
\bibliography{$biblio-files$} | |
$endif$ | |
$endif$ | |
$if(listings)$ | |
\usepackage{listings} | |
$endif$ | |
$if(lhs)$ | |
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} | |
$endif$ | |
$if(highlighting-macros)$ | |
$highlighting-macros$ | |
$endif$ | |
$if(verbatim-in-note)$ | |
\usepackage{fancyvrb} | |
$endif$ | |
$if(tables)$ | |
\usepackage{longtable} | |
$endif$ | |
$if(graphics)$ | |
\usepackage{graphicx} | |
% Redefine \includegraphics so that, unless explicit options are | |
% given, the image width will not exceed the width of the page. | |
% Images get their normal width if they fit onto the page, but | |
% are scaled down if they would overflow the margins. | |
\makeatletter | |
\def\ScaleIfNeeded{% | |
\ifdim\Gin@nat@width>\linewidth | |
\linewidth | |
\else | |
\Gin@nat@width | |
\fi | |
} | |
\makeatother | |
\let\Oldincludegraphics\includegraphics | |
{% | |
\catcode`\@=11\relax% | |
\gdef\includegraphics{\@ifnextchar[{\Oldincludegraphics}{\Oldincludegraphics[width=\ScaleIfNeeded]}}% | |
}% | |
$endif$ | |
\ifxetex | |
\usepackage[setpagesize=false, % page size defined by xetex | |
unicode=false, % unicode breaks when used with xetex | |
xetex]{hyperref} | |
\else | |
\usepackage[unicode=true]{hyperref} | |
\fi | |
\hypersetup{breaklinks=true, | |
bookmarks=true, | |
pdfauthor={$author-meta$}, | |
pdftitle={$title-meta$}, | |
colorlinks=true, | |
citecolor=$if(citecolor)$$citecolor$$else$blue$endif$, | |
urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$, | |
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$, | |
pdfborder={0 0 0}} | |
\urlstyle{same} % don't use monospace font for urls | |
$if(links-as-notes)$ | |
% Make links footnotes instead of hotlinks: | |
\renewcommand{\href}[2]{#2\footnote{\url{#1}}} | |
$endif$ | |
$if(strikeout)$ | |
\usepackage[normalem]{ulem} | |
% avoid problems with \sout in headers with hyperref: | |
\pdfstringdefDisableCommands{\renewcommand{\sout}{}} | |
$endif$ | |
\setlength{\parindent}{0pt} | |
\setlength{\parskip}{6pt plus 2pt minus 1pt} | |
\setlength{\emergencystretch}{3em} % prevent overfull lines | |
$if(numbersections)$ | |
\setcounter{secnumdepth}{5} | |
$else$ | |
\setcounter{secnumdepth}{0} | |
$endif$ | |
$if(verbatim-in-note)$ | |
\VerbatimFootnotes % allows verbatim text in footnotes | |
$endif$ | |
$if(lang)$ | |
\ifxetex | |
\usepackage{polyglossia} | |
\setmainlanguage{$mainlang$} | |
\else | |
\usepackage[$lang$]{babel} | |
\fi | |
$endif$ | |
$for(header-includes)$ | |
$header-includes$ | |
$endfor$ | |
$if(title)$ | |
\title{$title$} | |
$endif$ | |
$if(subtitle)$ | |
\subtitle{$subtitle$} | |
$endif$ | |
\author{$for(author)$$author$$sep$ \and $endfor$} | |
\date{$date$} | |
\begin{document} | |
$if(title)$ | |
\maketitle | |
$endif$ | |
$for(include-before)$ | |
$include-before$ | |
$endfor$ | |
$if(toc)$ | |
{ | |
\hypersetup{linkcolor=black} | |
\setcounter{tocdepth}{$toc-depth$} | |
\tableofcontents | |
} | |
$endif$ | |
$body$ | |
$if(natbib)$ | |
$if(biblio-files)$ | |
$if(biblio-title)$ | |
$if(book-class)$ | |
\renewcommand\bibname{$biblio-title$} | |
$else$ | |
\renewcommand\refname{$biblio-title$} | |
$endif$ | |
$endif$ | |
\bibliography{$biblio-files$} | |
$endif$ | |
$endif$ | |
$if(biblatex)$ | |
\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ | |
$endif$ | |
$for(include-after)$ | |
$include-after$ | |
$endfor$ | |
\end{document} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\usepackage[top=1.2in, bottom=1in, left=1in, right=1in]{geometry} | |
\usepackage{tgpagella} | |
%\usepackage{multicol} | |
\pagestyle{empty} | |
\hyphenation{Media-Wiki} | |
\usepackage{wallpaper} | |
\ThisULCornerWallPaper{0.4}{OISE_Blue_Logo.jpg} | |
\renewcommand{\labelitemi}{} | |
\renewcommand{\labelitemii}{\raise .5ex\hbox{\tiny$\blacktriangleright$}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry} | |
\usepackage{tgpagella} | |
% \usepackage{titlesec} | |
% \titleformat{\section}{\huge\bfseries}{\thesection}{1em}{} | |
% \titlespacing{\section}{0pt}{0pt}{2em} % change values to adjust heading spacing | |
% \titleformat{\subsection}{\large\bfseries\MakeUppercase}{\thesubsection}{1em}{} | |
%\usepackage{multicol} | |
\pagestyle{empty} | |
\hyphenation{Media-Wiki} | |
\renewcommand{\labelitemi}{} | |
\renewcommand{\labelitemii}{\raise .5ex\hbox{\tiny$\blacktriangleright$}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Makefile used to compile job application documents from MarkDown to PDF or ODT | |
# Bodong Chen | |
## Files | |
SRC = $(wildcard *.md) | |
PDFS = $(SRC:.md=.pdf) | |
ODTS = $(SRC:.md=.odt) | |
## Targets | |
all: $(PDFS) | |
odt: $(ODTS) | |
clean: | |
-rm $(PDFS) | |
rebuild: clean all | |
## Rules | |
# PDFs | |
# Rules specific for letters - with letterhead | |
CoverLetter-%.pdf: CoverLetter-%.md | |
pandoc $< -o $@ --template=default.latex -H header-letter.tex \ | |
-V papersize:"letterpaper" --variable fontsize=11pt | |
# Rules specific for statements - without letterhead | |
%S.pdf: %S.md | |
pandoc $< -o $@ --template=default.latex -H header.tex \ | |
-V papersize:"letterpaper" --variable fontsize=11pt | |
# ODTs | |
# No specific rules needed | |
%.odt: %.md | |
pandoc $< -o $@ --standalone -f markdown -t odt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment