diff --git a/Doc/tools/makesec.sh b/Doc/tools/makesec.sh
new file mode 100755
index 0000000..5ef4c3c
--- /dev/null
+++ b/Doc/tools/makesec.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+
+# Simple little checker for individual libref manual sections
+#
+# usage: makesec.sh section
+#
+
+# This script builds the minimal file necessary to run a single section
+# through latex, does so, then converts the resulting dvi file to ps or pdf
+# and feeds the result into a viewer.  It's by no means foolproof, but seems
+# to work okay for me (knock wood).  It sure beats manually commenting out
+# most of the man lib.tex file and running everything manually.
+
+# It attempts to locate an appropriate dvi converter and viewer for the
+# selected output format.  It understands the following environment
+# variables:
+#
+#	PYSRC - refers to the root of your build tree (dir containing Doc)
+#	DVICVT - refers to a dvi converter like dvips or dvipdf
+#	VIEWER - refers to an appropriate viewer for the ps/pdf file
+#
+# Of the three, only PYSRC is currently required.  The other two can be set
+# to specify unusual tools which perform those tasks.
+
+# Known issues:
+#   - It would be nice if the script could determine PYSRC on its own.
+#   - Something about \seealso{}s blows the latex stack, so they need
+#     to be commented out for now.
+
+if [ x$PYSRC = x ] ; then
+    echo "PYSRC must refer to the Python source tree" 1>&2
+    exit 1
+fi
+
+if [ ! -d $PYSRC/Doc ] ; then
+    echo "Can't find a Doc subdirectory in $PYSRC" 1>&2
+    exit 1
+fi
+
+if [ "$#" -ne 1 ] ; then
+    echo "Must specify a single libref manual section on cmd line" 1>&2
+    exit 1
+fi
+
+# settle on a dvi converter
+if [ x$DVICVT != x ] ; then
+    converter=$DVICVT
+    ext=`echo $DVICVT | sed -e 's/^dvi//'`
+    result=lib.$ext
+elif [ x`which dvipdf` != x ] ; then
+    converter=`which dvipdf`
+    ext=.pdf
+elif [ x`which dvips` != x ] ; then
+    converter=`which dvips`
+    ext=.ps
+else
+    echo "Can't find a reasonable dvi converter" 1>&2
+    echo "Set DVICVT to refer to one" 1>&2
+    exit 1
+fi
+
+# how about a viewer?
+if [ x$VIEWER != x ] ; then
+    viewer=$VIEWER
+elif [ $ext = ".ps" -a x`which gv` != x ] ; then
+    viewer=gv
+elif [ $ext = ".ps" -a x`which gs` != x ] ; then
+    viewer=gs
+elif [ $ext = ".pdf" -a x`which acroread` != x ] ; then
+    viewer=acroread
+elif [ $ext = ".pdf" -a "`uname`" = "Darwin" -a x`which open` != x ] ; then
+    viewer=open
+elif [ $ext = ".pdf" -a x`which acroread` != x ] ; then
+    viewer=acroread
+else
+    echo "Can't find a reasonable viewer" 1>&2
+    echo "Set VIEWER to refer to one" 1>&2
+    exit 1
+fi
+
+# make sure necessary links are in place
+for f in howto.cls pypaper.sty ; do
+    rm -f $f
+    ln -s $PYSRC/Doc/$f
+done
+
+export TEXINPUTS=.:$PYSRC/Doc/texinputs:
+
+# strip extension in case they gave full filename
+inp=`basename $1 .tex`
+
+# create the minimal framework necessary to run section through latex
+tmpf=lib.tex
+cat > $tmpf <<EOF
+\documentclass{manual}
+
+% NOTE: this file controls which chapters/sections of the library
+% manual are actually printed.  It is easy to customize your manual
+% by commenting out sections that you are not interested in.
+
+\title{Python Library Reference}
+
+\input{boilerplate}
+
+\makeindex                      % tell \index to actually write the
+                                % .idx file
+\makemodindex                   % ... and the module index as well.
+
+
+\begin{document}
+
+\maketitle
+
+\ifhtml
+\chapter*{Front Matter\label{front}}
+\fi
+
+\input{$inp}
+\end{document}
+EOF
+
+latex $tmpf
+
+$converter lib
+
+$viewer lib.pdf
+
+rm -f $tmpf howto.cls pypaper.sty *.idx *.syn
+rm -f lib.{aux,log}
