BSD 3 development
[unix-history] / .ref-Bell-32V / usr / man / tocrc
tmp=/tmp/toc$$
trap "rm $tmp ; exit" 2 3 15
if [ $# -eq 2 ]
then
: create toc input file for one section only
> man0/tocx$1
for file in man$1/*.$1*
do
test -s $file \
&& < $file grep '^\.TH' | grep local >/dev/null \
|| < $file sed -n '1p' | grep '^\.so' >/dev/null \
|| < $file grep '\\-' |
sed -n '1p' |
sed \
-e 's/.s-1//g' \
-e 's/.s0//g' \
-e 's/.s+1//g' \
-e 's/ *.- */: /' \
-e "s/^/`basename $file | sed 's/\.\([^\.]*\)\$/(\1)/'` /" \
-e 's/$/./' \
>> man0/tocx$1
done
else case $1 in
all )
: tocx files for all sections and everything else
for x in 1 2 3 4 5 6 7 8
do
$0 $x $x
done
$0 t
;;
t )
: permuted index and toc files
if [ ! -f man0/tocx1 ]
then
echo "tocx? files missing; must run tocrc all first"
exit
fi
sed \
-e 's/(1c)/(1C)/' \
-e 's/(1m)/(1M)/' \
-e 's/(1g)/(1G)/' \
-e 's/(3c)/(3C)/' \
-e 's/(3m)/(3M)/' \
-e 's/(3s)/(3S)/' \
-e '/"\."/d' \
man0/tocx? \
> cattoc
ptx -r -t -b break -f -w 108 -i ignore cattoc man0/ptxx
cd man0; troff -g ptx.in >t.ptx ; cd ..
for x in 1 2 3 4 5 6 7 8
do
< man0/tocx$x grep '^intro' >$tmp
sed \
-e '2,${' \
-e '/^intro/d' \
-e '}' \
-e 's/ .*://' \
-e 's/.$//' \
-e 's/(.*) /" "/' \
-e 's/.*/.xx "&"/' \
-e '/""/d' \
$tmp man0/tocx$x \
>man0/toc$x
done
cd man0; troff -g toc.in >t.toc ; cd ..
;;
* )
$0 $1 $1
;;
esac
fi
exit