#!/bin/bash
#/ Usage: make_handout infile.pdf outfile.pdf
#/ Turn pdf of slides into 3x3 tiled handout (using settings I like)
#/
# Iain Murray, September 2010

set -e

# Usage message:
[ "$#" -eq 2 ] || {
    grep '^#/' <"$0" | cut -c4-
    exit 1
}

# Workspace and cleanup thereof
TMPDIR=$(mktemp -d) || exit 1
function CLEAR_IT () {
    rm -r "$TMPDIR"
}
trap CLEAR_IT EXIT

# Interpreting input filenames
function FULLNAME () {
    if [ "${1:0:1}" = '/' ] ; then
        echo "$1"
    else
        echo "$PWD/$1"
    fi
}
FULLIN=$(FULLNAME "$1")
FULLOUT=$(FULLNAME "$2")

# Drive pdflatex with pdfpages package in TMPDIR to do the real work:
echo Doing stuff in "$TMPDIR"
cd "$TMPDIR"
ln -s "$FULLIN" tiles.pdf
cat > "ho.tex" <<EOF
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\\begin{document}
\includepdf[nup=3x3,pages=-,frame,landscape,scale=0.93,delta=2mm -0.1mm]{tiles.pdf}
\\end{document}
EOF
pdflatex -halt-on-error -interaction batchmode ho.tex
mv ho.pdf "$FULLOUT"

