\documentclass{manual}

\title{Macintosh Library Modules}

\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{copyright}

\begin{abstract}

\noindent
This library reference manual documents Python's extensions for the
Macintosh.  It should be used in conjunction with the
\citetitle[../lib/lib.html]{Python Library Reference}, which documents
the standard library and built-in types.

This manual assumes basic knowledge about the Python language.  For an
informal introduction to Python, see the
\citetitle[../tut/tut.html]{Python Tutorial}; the
\citetitle[../ref/ref.html]{Python Reference Manual} remains the
highest authority on syntactic and semantic questions.  Finally, the
manual entitled \citetitle[../ext/ext.html]{Extending and Embedding
the Python Interpreter} describes how to add new extensions to Python
and how to embed it in other applications.

\end{abstract}

\tableofcontents


\input{using.tex}                       % Using Python on the Macintosh


\chapter{MacPython Modules \label{macpython-modules}}

The following modules are only available on the Macintosh, and are
documented here:

\localmoduletable

\input{libmac}
\input{libmacfs}
\input{libmacic}
\input{libmacos}
\input{libmacostools}
\input{libmacui}
\input{libframework}
\input{libautogil}

\input{scripting}

\input{toolbox}                         % MacOS Toolbox Modules
\input{libcolorpicker}

\input{undoc}                           % Undocumented Modules

\appendix
\chapter{History and License}
\input{license}

%
%  The ugly "%begin{latexonly}" pseudo-environments are really just to
%  keep LaTeX2HTML quiet during the \renewcommand{} macros; they're
%  not really valuable.
%

%begin{latexonly}
\renewcommand{\indexname}{Module Index}
%end{latexonly}
\input{modmac.ind}      % Module Index

%begin{latexonly}
\renewcommand{\indexname}{Index}
%end{latexonly}
\input{mac.ind}         % Index

\end{document}
