[alt.hackers] Big calendar

johnl@esegue.segue.boston.ma.us (John R. Levine) (09/23/90)

I wanted a full-page calendar, but had lost the fine old Fortran program
that Geoff Peck wrote 20 years ago.  So, in the finest Unix tradition,
I hacked up the following that uses cal, sed, tbl, and troff to produce
reasonably attractive calendars.  It seemed like an excellent abuse of
Unix tools.

#!/bin/sh
# shar:	Shell Archiver  (v1.22)
#
#	Run the following text with /bin/sh to create:
#	  mkcal
#
sed 's/^X//' << 'SHAR_EOF' > mkcal &&
X: make a large calendar
X
Xmonth()
X{
Xcat << \END
X.TS
Xallbox expand tab(:);
XcfHB s s s s s s
XcfHB cfHB cfHB cfHB cfHB cfHB cfHB
Xc c c c c c c.
XEND
Xcal $1 $2 | sed '1s/^ *//
X	3,$s/   / X /g
X	2,$s/^ *//
X	2,$s/  */:/g
X	2,$s/X//g
X	1a\
X=
X'
Xecho .TE
X}
X
Xcat << 'END'
X.ps 28
X.vs 32
X.ft H
X.de TS
X.sp 1in
X..
X.de TE
X.bp
X..
XEND
X
Xcase "$#" in
X	1)	for m in 1 2 3 4 5 6 7 8 9 10 11 12
X		do
X			month $m $1
X		done
X		exit
X		;;
X	2)	month $1 $2
X		exit
X		;;
X	*)	echo "Syntax: $0 [month] year" >&2
X		exit 1
X		;;
Xesac
SHAR_EOF
chmod 0775 mkcal || echo "restore of mkcal fails"
exit 0

-- 
John R. Levine, Segue Software, POB 349, Cambridge MA 02238, +1 617 864 9650
johnl@esegue.segue.boston.ma.us, {ima|spdcc|world}!esegue!johnl
Atlantic City gamblers lose $8200 per minute. -NY Times