#! /bin/sh

PATH=/bin:/usr/bin

sed '
s/^\.S \(.*\)/\\section{\1}/
s/^\.SS \(.*\)/\\subsection{\1}/
s/^\.BD$/\\begin{description}/
s/^\.ED$/\\end{description}\\onlinebreak/
s/^\.BF$/\\begin{itemize}/
s/^\.EF$/\\end{itemize}\\onlinebreak/
s/^\.IT \([^ ]*\) \(.*\) \([^ ]*\)/\\onlinebreak\\item[{\\makebox[-6pt]{}}]{\\it \1 \\verb!\2! \3}\\hfil\\\\\\index{\2\/2}%/
s/^\.PT \([^ ]*\) \(.*\)/\\onlinebreak\\item[{\\makebox[-6pt]{}}]{\\it \\verb!\1! \2}\\hfil\\\\\\index{\1\/1}%/
s/^\.D \([^ ]*\) \([1-9]*\) \(.*\)/\\predicate{:- \1}{\2}{\3}\\index{\1\/\2}%/
s/^\.C \([^ ]*\) \([1-9]*\) \(.*\)/\\predicate{\1}{\2}{\3}\\index{\1\/\2}%/
s/^\.C \([^ ]*\) 0/\\noargpredicate{\1}\\index{\1\/0}%/
s/^\.P \([^ ]*\) \(.*\)/\\prefix{\1}{\2}\\index{\1\/1}%/
s/^\.I \([^ ]*\) \(.*\) \([^ ]*\)/\\infix{\1}{\2}{\3}\\index{\2\/2}%/
s/^\.F \(.*\) \([^ ]*\) \([1-9]*\) \(.*\)/\\function{\1}{\2}{\3}{\4}\\index{\2()}%/
s/^\.F \(.*\) \([^ ]*\) 0/\\noargfunction{\1}{\2}\\index{\2()}%/
s/^\.M \(.*\) \([^ ]*\) \([1-9]*\) \(.*\)/\\macro{\1}{\2}{\3}{\4}\\index{\2()}%/
s/^\.M \(.*\) \([^ ]*\) 0/\\noargmacro{\1}{\2}\\index{\2()}%/
s/^\.V \(.*\) \([^ ]*\)/\\variable{\1}{\2}\\index{\2}%/
t
s/\([a-z][a-zA-Z0-9_]*\/[0-9]\)/{\\tt \1}/g
s/\([a-z][a-zA-Z0-9_]*\/\[.*\]\)/{\\tt \1}/g
t

s/\\begin{code}/&/
t version
b

:version
n
s/^\.VERSION/Welcome to SWI-Prolog (version 2.1.11)\
Copyright (c) 1993-1995 University of Amsterdam.  All rights reserved./
t version
s/\\end{code}/&/
t
b version
' "$@"
