% This document is in the public domain.
% Originally written 2007, 2008 Troy Henderson.
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[charter]{mathdesign}
\renewcommand*{\ttdefault}{lmtt}
\linespread{1.05}
\usepackage{textcomp}
\usepackage{mflogo}
\usepackage{microtype}
\usepackage{ifpdf}
\ifpdf\microtypesetup{expansion=true}\fi
\usepackage[margin=1.25in,letterpaper]{geometry}
\usepackage[rgb,x11names]{xcolor}
\usepackage{graphicx}
\usepackage{listings}
\lstloadlanguages{MetaPost, [LaTeX]TeX}
\lstdefinelanguage[ext]{MetaPost}[]{MetaPost}{
morekeywords={verbatimtex},
morekeywords=[2]{blackpart, cmykcolor, colormodel, colorpart,
cyanpart, greypart, magentapart, rgbcolor, yellowpart},
morekeywords=[3]{filenametemplate, withcmykcolor, withgreyscale,
withoutcolor, withpostscript, withprescript, withrgbcolor},
morekeywords=[5]{defaultcolormodel, mpprocset, outputformat,
outputtemplate},
morekeywords=[6]{mpversion},
morecomment=[s][basicstyle]{\%}{&},
deletekeywords=[4]{z}
}
\lstset{
basicstyle=\normalfont\ttfamily,
columns=flexible, breaklines=true, breakatwhitespace=true,
escapechar=|,
aboveskip=8pt, belowskip=8pt,
frame=leftline, framerule=32pt, framesep=16pt, xleftmargin=48pt
}
\colorlet{mpcolor}{Chartreuse3!50!white!95!black}
% \colorlet{testcolor}{mpcolor!90!black}
% \extractcolorspec{testcolor}{\testcol}
% \show\testcol
\lstdefinestyle{MP}{
language=[ext]MetaPost,
keywordstyle=\bfseries\color{mpcolor!75!black},
commentstyle=\itshape,
rulecolor=\color{mpcolor}
}
\lstdefinestyle{LaTeX}{
language=[LaTeX]TeX, keywordstyle={}, commentstyle=\itshape,
rulecolor=\color{PeachPuff2}
}
\lstdefinestyle{text}{
keywordstyle={}, commentstyle={},
rulecolor=\color{Snow2!95!black}
}
\lstMakeShortInline[style=MP, keywordstyle={}, commentstyle={}]|
\newcommand*{\File}[1]{\texttt{#1}}
\usepackage{float}
\floatplacement{figure}{htp}
\floatplacement{table}{tp}
\usepackage{hyperxmp}
\usepackage{hyperref}
\hypersetup{
pdfencoding=unicode,
pdfstartview=FitH,
pdfpagemode=UseNone,
colorlinks=true,
linkcolor=RoyalBlue3,
urlcolor=Chocolate4,
citecolor=DeepPink2
}
\usepackage{attachfile2}
\attachfilesetup{
mimetype={text/plain}
}
\newcommand*{\paperclip}[1][]{\includegraphics[#1]{paperclip.mps}}
\newcommand*{\attach}[2][]{%
\textattachfile[description={#2},#1]{#2}{\paperclip}%
}
\newlength{\attachmentraise}
\newenvironment{withattachment}[2][0pt]
{%
\setlength{\attachmentraise}{#1}%
\addtolength{\attachmentraise}{6pt}%
\makebox[0pt][l]{%
\raisebox{\attachmentraise}[0pt][0pt]{%
\makebox[32pt][c]{%
\attach[subject={MetaPost source file}]{#2}%
}%
}%
}%
\begin{minipage}[b]{\linewidth}%
}{%
\end{minipage}%
}
%%% Definitions copied from ltugboat.cls.
\makeatletter
\DeclareRobustCommand\SMC{%
\ifx\@currsize\normalsize\small\else
\ifx\@currsize\small\footnotesize\else
\ifx\@currsize\footnotesize\scriptsize\else
\ifx\@currsize\large\normalsize\else
\ifx\@currsize\Large\large\else
\ifx\@currsize\LARGE\Large\else
\ifx\@currsize\scriptsize\tiny\else
\ifx\@currsize\tiny\tiny\else
\ifx\@currsize\huge\LARGE\else
\ifx\@currsize\Huge\huge\else
\small\SMC@unknown@warning
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
}
\newcommand\SMC@unknown@warning{\TBWarning{\string\SMC: nonstandard
text font size command -- using \string\small}}
\newcommand\textSMC[1]{{\SMC #1}}
\newcommand\acro[1]{\textSMC{#1}\@}
\def\endash{--}
\def\emdash{\endash-}
\def\thinskip{\hskip 0.16667em\relax}
\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces}
\def\Dash{\d@sh\nobreak\emdash}
\def\JPEG{\acro{JPEG}}
\def\PiC{P\kern-.05em\lower.5ex\hbox{I}\kern-.07emC\@}
\def\PNG{\acro{PNG}}
\def\PS{\acro{PS}}
\def\SVG{\acro{SVG}}
\makeatother
\def\EPS{\acro{EPS}}
\def\PDF{\acro{PDF}}
\def\SVG{\acro{SVG}}
\def\Xy{\leavevmode
\hbox{\kern-.1em X\kern-.15em\lower.4ex\hbox{Y\kern-.05em}}}
\def\textdegree{$^\circ$}% real \textdegree is too small
\def\RGB{\acro{RGB}}
\def\CMYK{\acro{CMYK}}
\iffalse
% workaround for acrobat 7+8 bugs in printing
\let\origtextattachfile=\textattachfile
\renewcommand{\textattachfile}[3][]{%
{\notextattachfile[#1]{#3}}%
\origtextattachfile[#1]{#2}{#3}%
}
\fi
\newcommand*{\showcol}[2][named]{%
\begingroup%
\setlength{\fboxsep}{0pt}%
\setlength{\fboxrule}{0.2pt}%
% \raisebox{1pt}{%
\fcolorbox{gray}[#1]{#2}{%
\makebox[1.5em]{\rule{0pt}{1.25ex}}%
}%
% }%
\endgroup%
}
\begin{document}
\hypersetup{
pdftitle={A Beginner's Guide to MetaPost for Creating High-Quality Graphics},
pdfauthor={Troy Henderson, Stephan Hennig},
pdfsubject={MetaPost},
pdfkeywords={graphics, MetaPost, TeX, LaTeX, PostScript},
pdfcopyright={Public Domain}
}
\title{A Beginner's Guide to \MP{}\\for Creating High-Quality Graphics}
\author{Troy Henderson \and Stephan Hennig}
\maketitle
\input{abstract}
\input{intro}
\input{compilation}
\input{data}
\input{commands}
\input{graph}
\input{inclusion}
\input{conclusion}
\input{biblio}
\end{document}