#!/bin/sh CDPATH='' cd -- "$(dirname -- "$0")" || exit SCRIPT="$(basename "$0")" long='help,open,all,name:,address:' short='hoAn:a:' if ! opts="$(getopt -o $short -l $long -n "$SCRIPT" -- "$@")"; then exit 1 fi eval set -- "$opts" help() { cat <<-EOF $SCRIPT Toby Vincent $SCRIPT Builds resume and cover letter. USAGE: $SCRIPT [OPTIONS...]
-- [LATEXMK_OPTS...] OPTIONS: -A, --all Build all cover letters -n, --name Specify a company name to use for generic cover letter -a, --address Specify a company address to use for generic cover letter -o, --open Open combined PDF after building -h, --help Show this help. EXAMPLES: $SCRIPT -n "Chuck's Clucks" -a "Cluckville, KY" --open EOF } error() { printf 'Error: %s' "$1" 1>&2 help exit 1 } open=false all=false while true; do case "$1" in -h | --help) help exit 0 ;; -o | --open) open=true shift ;; -A | --all) all=true shift ;; -n | --name) name=$2 shift 2 ;; -a | --address) address=$2 shift 2 ;; --) shift break ;; *) exit 1 ;; esac done if $all; then for f in src/*/cover_letter.tex; do latexmk "$f" done fi if [ -n "$name" ]; then if [ -n "$address" ]; then company=generic set -- "$@" -usepretex="\def\companyname{$name}\def\companyaddress{$address}" -g elif [ -e "src/$name/cover_letter.tex" ]; then company="$name" else error "Directory $name not found" fi else company=generic set -- "$@" -g fi latexmk "src/resume.tex" latexmk "src/$company/cover_letter.tex" -cd- -outdir="src" -auxdir="src" "$@" pdfunite src/cover_letter.pdf src/resume.pdf src/cover_letter-resume.pdf if $open; then xdg-open src/cover_letter-resume.pdf fi