#!/bin/bash usage() { cat <&2 usage: $0 [-o output.pdf] [-q] [-t template.fig ] file.lib ... file.sch EOF exit 1 } out=out.pdf quiet=false template= while [ "$1" ]; do case "$1" in -o) out=$2 shift 2;; -q) quiet=true shift;; -t) template="-t $2" shift 2;; -*) usage;; *) break;; esac done [ "$1" ] || usage libs= while [ "$2" ]; do libs="$libs $1" shift done first=true sheet=false while read line; do if ! $sheet; then [ "${line#\$Sheet}" != "$line" ] && sheet=true continue else if [ "${line#\$EndSheet}" != "$line" ]; then sheet=false continue fi fi if [ "${line#F0 \"}" != "$line" ]; then name=${line#F0 \"} name=${name%%\"*} fi [ "${line#F1 \"}" = "$line" ] && continue file=${line#F1 \"} file=${file%%\"*} $quiet || echo "$file" 1>&2 ./sch2fig "-DTITLE=$name" $template $libs `dirname "$1"`/$file | fig2dev -L pdf >_tmp.pdf if $first; then mv _tmp.pdf "$out" first=false else pdfunite "$out" _tmp.pdf _tmp2.pdf mv _tmp2.pdf "$out" fi done <"$1" exit