annotate Doc/texinputs/python.sty @ 9868:a58f36352c4f legacy-trunk

\seemodule: Fix so that each \seemodule entry gets its own paragraph, so they don't get run together when there's no blank line between them in the source. The HTML conversion already did the right thing. \refmodule: Refer to a module, using a hyperlink in the PDF version. Visually the same as \module.
author Fred Drake <fdrake@acm.org>
date Wed, 13 Jan 1999 17:09:06 +0000
parents 1437c2335b3b
children 2750e1de6829
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
1 %
7592
09440606aac5 Oops; file copy error somewhere along the way....
Fred Drake <fdrake@acm.org>
parents: 7585
diff changeset
2 % python.sty for the Python docummentation [works only with with Latex2e]
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
3 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
4
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
5 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
6 \ProvidesPackage{python}
7737
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
7 [1998/01/11 LaTeX package (Python markup)]
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
8
7778
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
9 % These packages can be used to add marginal annotations which indicate
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
10 % index entries and labels; useful for reviewing this messy documentation!
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
11 %
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
12 %\RequirePackage{showkeys}
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
13 %\RequirePackage{showidx}
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
14
7737
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
15 % for PDF output, use maximal compression & a lot of other stuff
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
16 % (test for PDF recommended by Tanmoy Bhattacharya <tanmoy@qcd.lanl.gov>)
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
17 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
18 \newif\ifpy@doing@page@targets
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
19 \py@doing@page@targetsfalse
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
20
7737
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
21 \ifx\pdfoutput\undefined\else\ifcase\pdfoutput
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
22 \else
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
23 \input{pdfcolor}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
24 \let\py@LinkColor=\NavyBlue
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
25 \let\py@NormalColor=\Black
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
26 \pdfcompresslevel=9
8306
4674cd2f6f07 Set the right page size in the PDF output.
Fred Drake <fdrake@acm.org>
parents: 8229
diff changeset
27 \pdfpagewidth=\paperwidth % page width of PDF output
4674cd2f6f07 Set the right page size in the PDF output.
Fred Drake <fdrake@acm.org>
parents: 8229
diff changeset
28 \pdfpageheight=\paperheight % page height of PDF output
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
29 %
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
30 % Pad the number with '0' to 3 digits wide so no page name is a prefix
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
31 % of any other.
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
32 %
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
33 \newcommand{\py@targetno}[1]{\ifnum#1<100 0\fi\ifnum#1<10 0\fi#1}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
34 \newcommand{\py@pageno}{\py@targetno\thepage}
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
35 %
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
36 % This definition allows the entries in the page-view of the ToC to be
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
37 % active links. Some work, some don't.
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
38 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
39 \let\py@OldContentsline=\contentsline
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
40 % Compute the padded page number separately since we end up with a pair of
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
41 % \relax tokens; this gets the right string computed and works.
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
42 \renewcommand{\contentsline}[3]{%
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
43 \def\my@pageno{\py@targetno{#3}}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
44 \py@OldContentsline{#1}{%
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
45 \pdfannotlink attr{/Border [0 0 0]} goto name{page\my@pageno}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
46 \py@LinkColor#2\py@NormalColor%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
47 \pdfendlink%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
48 }{#3}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
49 }
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
50 \AtEndDocument{
7737
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
51 \InputIfFileExists{\jobname.bkm}{\pdfcatalog{/PageMode /UseOutlines}}{}
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
52 }
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
53 \newcommand{\py@target}[1]{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
54 \ifpy@doing@page@targets%
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
55 {\pdfdest name{#1} fit}%
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
56 \fi%
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
57 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
58 \let\py@OldLabel=\label
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
59 \renewcommand{\label}[1]{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
60 \py@OldLabel{#1}%
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
61 \py@target{label-#1}%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
62 }
8306
4674cd2f6f07 Set the right page size in the PDF output.
Fred Drake <fdrake@acm.org>
parents: 8229
diff changeset
63 % This stuff adds a page# destination to every PDF page, where # is three
4674cd2f6f07 Set the right page size in the PDF output.
Fred Drake <fdrake@acm.org>
parents: 8229
diff changeset
64 % digits wide, padded with leading zeros. This doesn't really help with
4674cd2f6f07 Set the right page size in the PDF output.
Fred Drake <fdrake@acm.org>
parents: 8229
diff changeset
65 % the frontmatter, but does fine with the body.
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
66 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
67 % This is *heavily* based on the hyperref package.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
68 %
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
69 \def\@begindvi{%
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
70 \unvbox \@begindvibox
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
71 \@hyperfixhead
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
72 }
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
73 \def\@hyperfixhead{%
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
74 \let\H@old@thehead\@thehead
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
75 \global\def\@foo{\py@target{page\py@pageno}}%
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
76 \expandafter\ifx\expandafter\@empty\H@old@thehead
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
77 \def\H@old@thehead{\hfil}\fi
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
78 \def\@thehead{\@foo\relax\H@old@thehead}%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
79 }
7737
5d7e4d20c89e Change uses of \pdfinfo and \pdfcatalog to use the new syntax from the
Fred Drake <fdrake@acm.org>
parents: 7706
diff changeset
80 \fi\fi
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
81
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
82 % Increase printable page size (copied from fullpage.sty)
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
83 \topmargin 0pt
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
84 \advance \topmargin by -\headheight
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
85 \advance \topmargin by -\headsep
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
86
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
87 % attempt to work a little better for A4 users
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
88 \@ifundefined{paperheight}{
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
89 \textheight 9in
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
90 }{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
91 \textheight \paperheight
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
92 \advance\textheight by -2in
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
93 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
94
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
95 \oddsidemargin 0pt
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
96 \evensidemargin \oddsidemargin
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
97 \marginparwidth 0.5in
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
98
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
99 \@ifundefined{paperwidth}{
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
100 \textwidth 6.5in
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
101 }{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
102 \textwidth \paperwidth
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
103 \advance\textwidth by -2in
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
104 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
105
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
106
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
107 % Style parameters and macros used by most documents here
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
108 \raggedbottom
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
109 \sloppy
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
110 \parindent = 0mm
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
111 \parskip = 2mm
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
112 \hbadness = 5000 % don't print trivial gripes
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
113
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
114 \pagestyle{empty} % start this way; change for
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
115 \pagenumbering{roman} % ToC & chapters
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
116 \setcounter{secnumdepth}{1}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
117
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
118 % Use this to set the font family for headers and other decor:
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
119 \newcommand{\py@HeaderFamily}{\sffamily}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
120
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
121 % Redefine the 'normal' header/footer style when using "fancyhdr" package:
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
122 \@ifundefined{fancyhf}{}{
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
123 % Use \pagestyle{normal} as the primary pagestyle for text.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
124 \fancypagestyle{normal}{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
125 \fancyhf{}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
126 \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
127 \fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
128 \fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
129 \renewcommand{\headrulewidth}{0pt}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
130 \renewcommand{\footrulewidth}{0.4pt}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
131 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
132 % Update the plain style so we get the page number & footer line,
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
133 % but not a chapter or section title. This is to keep the first
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
134 % page of a chapter and the blank page between chapters `clean.'
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
135 \fancypagestyle{plain}{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
136 \fancyhf{}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
137 \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
138 \renewcommand{\headrulewidth}{0pt}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
139 \renewcommand{\footrulewidth}{0.4pt}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
140 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
141 % Redefine \cleardoublepage so that the blank page between chapters
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
142 % gets the plain style and not the fancy style. This is described
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
143 % in the documentation for the fancyhdr package by Piet von Oostrum.
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
144 \@ifundefined{chapter}{}{
7548
7eb19b1ce84d Improve separation of document class and python semantic constructs. This
Fred Drake <fdrake@acm.org>
parents: 7527
diff changeset
145 \renewcommand{\cleardoublepage}{
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
146 \clearpage\if@openright \ifodd\c@page\else
7548
7eb19b1ce84d Improve separation of document class and python semantic constructs. This
Fred Drake <fdrake@acm.org>
parents: 7527
diff changeset
147 \hbox{}
7eb19b1ce84d Improve separation of document class and python semantic constructs. This
Fred Drake <fdrake@acm.org>
parents: 7527
diff changeset
148 \thispagestyle{plain}
7eb19b1ce84d Improve separation of document class and python semantic constructs. This
Fred Drake <fdrake@acm.org>
parents: 7527
diff changeset
149 \newpage
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
150 \if@twocolumn\hbox{}\newpage\fi\fi\fi
7548
7eb19b1ce84d Improve separation of document class and python semantic constructs. This
Fred Drake <fdrake@acm.org>
parents: 7527
diff changeset
151 }
7eb19b1ce84d Improve separation of document class and python semantic constructs. This
Fred Drake <fdrake@acm.org>
parents: 7527
diff changeset
152 }
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
153 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
154
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
155 % This sets up the {verbatim} environment to be indented and a minipage,
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
156 % and to have all the other mostly nice properties that we want for
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
157 % code samples.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
158
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
159 % Variable used by begin code command
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
160 \newlength{\py@codewidth}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
161
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
162 \newcommand{\py@examplevspace}{2mm}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
163 \newcommand{\py@exampleindent}{1cm}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
164
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
165 \let\py@OldVerbatim=\verbatim
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
166 \let\py@OldEndVerbatim=\endverbatim
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
167 \renewcommand{\verbatim}{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
168 \begingroup%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
169 \setlength{\parindent}\py@exampleindent%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
170 % Calculate the text width for the minipage:
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
171 \setlength{\py@codewidth}{\linewidth}%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
172 \addtolength{\py@codewidth}{-\parindent}%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
173 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
174 \par%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
175 \vspace\py@examplevspace%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
176 \indent%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
177 \begin{minipage}[t]{\py@codewidth}%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
178 \small%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
179 \py@OldVerbatim%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
180 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
181 \renewcommand{\endverbatim}{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
182 \py@OldEndVerbatim%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
183 \end{minipage}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
184 \endgroup%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
185 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
186
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
187
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
188 \newcommand{\py@modulebadkey}{{--just-some-junk--}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
189
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
190
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
191 %% Lots of index-entry generation support.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
192
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
193 % Command to wrap around stuff that refers to function / module /
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
194 % attribute names in the index. Default behavior: like \code{}. To
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
195 % just keep the index entries in the roman font, uncomment the second
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
196 % definition; it matches O'Reilly style more.
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
197 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
198 \newcommand{\py@idxcode}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
199 %\renewcommand{\py@idxcode}[1]{#1}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
200
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
201 % Command to generate two index entries (using subentries)
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
202 \newcommand{\indexii}[2]{\index{#1!#2}\index{#2!#1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
203
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
204 % And three entries (using only one level of subentries)
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
205 \newcommand{\indexiii}[3]{\index{#1!#2 #3}\index{#2!#3, #1}\index{#3!#1 #2}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
206
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
207 % And four (again, using only one level of subentries)
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
208 \newcommand{\indexiv}[4]{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
209 \index{#1!#2 #3 #4}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
210 \index{#2!#3 #4, #1}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
211 \index{#3!#4, #1 #2}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
212 \index{#4!#1 #2 #3}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
213 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
214
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
215 % Command to generate a reference to a function, statement, keyword,
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
216 % operator.
8229
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
217 \newcommand{\kwindex}[1]{\indexii{keyword}{#1@{\py@idxcode{#1}}}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
218 \newcommand{\stindex}[1]{\indexii{statement}{#1@{\py@idxcode{#1}}}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
219 \newcommand{\opindex}[1]{\indexii{operator}{#1@{\py@idxcode{#1}}}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
220 \newcommand{\exindex}[1]{\indexii{exception}{#1@{\py@idxcode{#1}}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
221 \newcommand{\obindex}[1]{\indexii{object}{#1}}
7792
8d4148213cc0 \bifuncindex: Fix so entries combine correctly with those of the built-in
Fred Drake <fdrake@acm.org>
parents: 7786
diff changeset
222 \newcommand{\bifuncindex}[1]{\withsubitem{(built-in function)}{\ttindex{#1()}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
223
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
224 % Add an index entry for a module
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
225 \newcommand{\py@refmodule}[2]{\index{#1@{\py@idxcode{#1}} (#2module)}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
226 \newcommand{\refmodindex}[1]{\py@refmodule{#1}{}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
227 \newcommand{\refbimodindex}[1]{\py@refmodule{#1}{built-in }}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
228 \newcommand{\refexmodindex}[1]{\py@refmodule{#1}{extension }}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
229 \newcommand{\refstmodindex}[1]{\py@refmodule{#1}{standard }}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
230
9868
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
231 % Refer to a module's documentation using a hyperlink of the module's
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
232 % name, at least if we're building PDF:
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
233 \@ifundefined{pdfannotlink}{%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
234 \newcommand{\refmodule}[2][\py@modulebadkey]{\module{#2}}
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
235 }{\newcommand{\refmodule}[2][\py@modulebadkey]{%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
236 \ifx\py@modulebadkey#1\def\py@modulekey{#2}\else\def\py@modulekey{#1}\fi%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
237 {\pdfannotlink attr{/Border [0 0 0]} goto name{label-module-\py@modulekey}%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
238 \py@LinkColor\module{#2}\py@NormalColor%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
239 \pdfendlink%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
240 }%
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
241 }
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
242 }
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
243
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
244 % support for the module index
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
245 \newif\ifpy@UseModuleIndex
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
246 \py@UseModuleIndexfalse
7617
068a6942fe1a Adjust the index support a bit to make it easier to deal with module index.
Fred Drake <fdrake@acm.org>
parents: 7597
diff changeset
247
068a6942fe1a Adjust the index support a bit to make it easier to deal with module index.
Fred Drake <fdrake@acm.org>
parents: 7597
diff changeset
248 \newcommand{\makemodindex}{
068a6942fe1a Adjust the index support a bit to make it easier to deal with module index.
Fred Drake <fdrake@acm.org>
parents: 7597
diff changeset
249 \newwrite\modindexfile
068a6942fe1a Adjust the index support a bit to make it easier to deal with module index.
Fred Drake <fdrake@acm.org>
parents: 7597
diff changeset
250 \openout\modindexfile=mod\jobname.idx
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
251 \py@UseModuleIndextrue
7617
068a6942fe1a Adjust the index support a bit to make it easier to deal with module index.
Fred Drake <fdrake@acm.org>
parents: 7597
diff changeset
252 }
068a6942fe1a Adjust the index support a bit to make it easier to deal with module index.
Fred Drake <fdrake@acm.org>
parents: 7597
diff changeset
253
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
254 % Add the defining entry for a module
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
255 \newcommand{\py@modindex}[2]{%
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
256 \renewcommand{\py@thismodule}{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
257 \setindexsubitem{(in module #1)}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
258 \index{#1@{\py@idxcode{#1}} (#2module)|textbf}%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
259 \ifpy@UseModuleIndex%
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
260 \write\modindexfile{\protect\indexentry{#1@{\tt #1}}{\thepage}}%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
261 \fi%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
262 }
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
263
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
264 % built-in & Python modules in the main distribution
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
265 \newcommand{\bimodindex}[1]{\py@modindex{#1}{built-in }}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
266 \newcommand{\stmodindex}[1]{\py@modindex{#1}{standard }}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
267
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
268 % Python & extension modules outside the main distribution
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
269 \newcommand{\modindex}[1]{\py@modindex{#1}{}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
270 \newcommand{\exmodindex}[1]{\py@modindex{#1}{extension }}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
271
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
272 % Additional string for an index entry
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
273 \newcommand{\index@subitem}{}
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
274 \newcommand{\setindexsubitem}[1]{\renewcommand{\index@subitem}{#1}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
275 \newcommand{\ttindex}[1]{\index{#1@{\py@idxcode{#1}} \index@subitem}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
276
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
277 \newcommand{\withsubitem}[2]{%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
278 \begingroup%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
279 \def\index@subitem{#1}#2%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
280 \endgroup%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
281 }
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
282
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
283
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
284 % Module synopsis processing -----------------------------------------------
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
285 %
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
286 \newcommand{\py@standardIndexModule}[1]{\stmodindex{#1}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
287 \newcommand{\py@builtinIndexModule}[1]{\bimodindex{#1}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
288 \newcommand{\py@extensionIndexModule}[1]{\exmodindex{#1}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
289 \newcommand{\py@IndexModule}[1]{\modindex{#1}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
290
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
291 \newif\ifpy@HaveModSynopsis\py@HaveModSynopsisfalse
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
292 \newif\ifpy@ModSynopsisFileIsOpen\py@ModSynopsisFileIsOpenfalse
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
293
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
294 % \declaremodule[key]{type}{name}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
295 \newcommand{\declaremodule}[3][\py@modulebadkey]{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
296 \py@openModSynopsisFile
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
297 \renewcommand{\py@thismoduletype}{#2}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
298 \csname py@#2IndexModule\endcsname{#3}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
299 \ifx\py@modulebadkey#1
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
300 \renewcommand{\py@thismodulekey}{#3}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
301 \else
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
302 \renewcommand{\py@thismodulekey}{#1}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
303 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
304 \label{module-\py@thismodulekey}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
305 \py@HaveModSynopsistrue
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
306 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
307
8916
6b633df41e59 \moduleauthor,
Fred Drake <fdrake@acm.org>
parents: 8779
diff changeset
308 % \moduleauthor{name}{email}
6b633df41e59 \moduleauthor,
Fred Drake <fdrake@acm.org>
parents: 8779
diff changeset
309 \newcommand{\moduleauthor}[2]{}
6b633df41e59 \moduleauthor,
Fred Drake <fdrake@acm.org>
parents: 8779
diff changeset
310
6b633df41e59 \moduleauthor,
Fred Drake <fdrake@acm.org>
parents: 8779
diff changeset
311 % \sectionauthor{name}{email}
6b633df41e59 \moduleauthor,
Fred Drake <fdrake@acm.org>
parents: 8779
diff changeset
312 \newcommand{\sectionauthor}[2]{}
6b633df41e59 \moduleauthor,
Fred Drake <fdrake@acm.org>
parents: 8779
diff changeset
313
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
314
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
315 \newcommand{\py@defsynopsis}{Module has no synopsis.}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
316 \newcommand{\py@modulesynopsis}{\py@defsynopsis}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
317 \newcommand{\modulesynopsis}[1]{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
318 \renewcommand{\py@modulesynopsis}{#1}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
319 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
320
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
321 % define the file
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
322 \newwrite\py@ModSynopsisFile
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
323
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
324 % hacked from \addtocontents from latex.ltx:
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
325 \long\def\py@writeModSynopsisFile#1{%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
326 \protected@write\py@ModSynopsisFile%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
327 {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
328 {\string#1}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
329 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
330 \newcommand{\py@closeModSynopsisFile}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
331 \ifpy@ModSynopsisFileIsOpen
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
332 \closeout\py@ModSynopsisFile
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
333 \py@ModSynopsisFileIsOpenfalse
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
334 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
335 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
336 \newcommand{\py@openModSynopsisFile}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
337 \ifpy@ModSynopsisFileIsOpen\else
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
338 \openout\py@ModSynopsisFile=\py@ModSynopsisFilename
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
339 \py@ModSynopsisFileIsOpentrue
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
340 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
341 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
342
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
343 \newcommand{\py@ProcessModSynopsis}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
344 \ifpy@HaveModSynopsis
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
345 \py@writeModSynopsisFile{\modulesynopsis%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
346 {\py@thismodulekey}{\py@thismodule}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
347 {\py@thismoduletype}{\py@modulesynopsis}}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
348 \py@HaveModSynopsisfalse
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
349 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
350 \renewcommand{\py@modulesynopsis}{\py@defsynopsis}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
351 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
352 \AtEndDocument{\py@ProcessModSynopsis\py@closeModSynopsisFile}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
353
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
354 \newcommand{\localmoduletable}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
355 \IfFileExists{\py@ModSynopsisFilename}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
356 \begin{synopsistable}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
357 \input{\py@ModSynopsisFilename}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
358 \end{synopsistable}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
359 }{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
360 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
361
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
362 \@ifundefined{pdfoutput}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
363 \newcommand{\py@ModSynopsisSummary}[4]{\bfcode{#2} & #4\\}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
364 }{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
365 \newcommand{\py@ModSynopsisSummary}[4]{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
366 {\pdfannotlink attr{/Border [0 0 0]} goto name{label-module-#1}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
367 \py@LinkColor \bfcode{#2} \py@NormalColor
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
368 \pdfendlink}& #4\\}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
369 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
370 \newenvironment{synopsistable}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
371 % key, name, type, synopsis
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
372 \let\modulesynopsis=\py@ModSynopsisSummary
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
373 \begin{tabular}{ll}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
374 }{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
375 \end{tabular}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
376 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
377 %
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
378 % --------------------------------------------------------------------------
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
379
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
380
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
381 \newcommand{\py@thisclass}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
382 \newcommand{\py@thismodule}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
383 \newcommand{\py@thismodulekey}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
384 \newcommand{\py@thismoduletype}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
385
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
386 \newcommand{\py@reset}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
387 \py@ProcessModSynopsis
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
388 \renewcommand{\py@thisclass}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
389 \renewcommand{\py@thismodule}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
390 \renewcommand{\py@thismodulekey}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
391 \renewcommand{\py@thismoduletype}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
392 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
393
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
394 % Augment the sectioning commands used to get our own font family in place,
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
395 % and reset some internal data items:
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
396 \renewcommand{\section}{\py@reset%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
397 \@startsection{section}{1}{\z@}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
398 {-3.5ex \@plus -1ex \@minus -.2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
399 {2.3ex \@plus.2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
400 {\reset@font\Large\py@HeaderFamily}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
401 \renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
402 {-3.25ex\@plus -1ex \@minus -.2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
403 {1.5ex \@plus .2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
404 {\reset@font\large\py@HeaderFamily}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
405 \renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
406 {-3.25ex\@plus -1ex \@minus -.2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
407 {1.5ex \@plus .2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
408 {\reset@font\normalsize\py@HeaderFamily}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
409 \renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
410 {3.25ex \@plus1ex \@minus.2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
411 {-1em}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
412 {\reset@font\normalsize\py@HeaderFamily}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
413 \renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{\parindent}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
414 {3.25ex \@plus1ex \@minus .2ex}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
415 {-1em}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
416 {\reset@font\normalsize\py@HeaderFamily}}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
417
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
418
8726
74ea4dfda82d \textunderscore: Re-define with a width that's more appropriate for the
Fred Drake <fdrake@acm.org>
parents: 8713
diff changeset
419 % This gets the underscores closer to the right width; the only change
74ea4dfda82d \textunderscore: Re-define with a width that's more appropriate for the
Fred Drake <fdrake@acm.org>
parents: 8713
diff changeset
420 % from standard LaTeX is the width specified.
74ea4dfda82d \textunderscore: Re-define with a width that's more appropriate for the
Fred Drake <fdrake@acm.org>
parents: 8713
diff changeset
421
74ea4dfda82d \textunderscore: Re-define with a width that's more appropriate for the
Fred Drake <fdrake@acm.org>
parents: 8713
diff changeset
422 \DeclareTextCommandDefault{\textunderscore}{%
74ea4dfda82d \textunderscore: Re-define with a width that's more appropriate for the
Fred Drake <fdrake@acm.org>
parents: 8713
diff changeset
423 \leavevmode \kern.06em\vbox{\hrule\@width.55em}}
74ea4dfda82d \textunderscore: Re-define with a width that's more appropriate for the
Fred Drake <fdrake@acm.org>
parents: 8713
diff changeset
424
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
425 % Underscore hack (only act like subscript operator if in math mode)
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
426 %
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
427 % The following is due to Mark Wooding (the old version didn't work with
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
428 % Latex 2e.
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
429
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
430 \DeclareRobustCommand\hackscore{%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
431 \ifmmode_\else\textunderscore\fi%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
432 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
433 \begingroup
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
434 \catcode`\_\active
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
435 \def\next{%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
436 \AtBeginDocument{\catcode`\_\active\def_{\hackscore{}}}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
437 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
438 \expandafter\endgroup\next
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
439
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
440
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
441 % Now for a lot of semantically-loaded environments that do a ton of magical
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
442 % things to get the right formatting and index entries for the stuff in
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
443 % Python modules and C API.
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
444
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
445
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
446 % {fulllineitems} is used in one place in libregex.tex, but is really for
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
447 % internal use in this file.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
448 %
9078
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
449 \newcommand{\py@itemnewline}[1]{%
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
450 \@tempdima\linewidth%
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
451 \advance\@tempdima \leftmargin\makebox[\@tempdima][l]{#1}%
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
452 }
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
453
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
454 \newenvironment{fulllineitems}{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
455 \begin{list}{}{\labelwidth \leftmargin \labelsep 0pt
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
456 \rightmargin 0pt \topsep -\parskip \partopsep \parskip
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
457 \itemsep -\parsep
9078
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
458 \let\makelabel=\py@itemnewline}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
459 }{\end{list}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
460
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
461 % \optional is mostly for use in the arguments parameters to the various
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
462 % {*desc} environments defined below, but may be used elsewhere. Known to
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
463 % be used in the debugger chapter.
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
464 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
465 % Typical usage:
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
466 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
467 % \begin{funcdesc}{myfunc}{reqparm\optional{, optparm}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
468 % ^^^ ^^^
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
469 % No space here No space here
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
470 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
471 % When a function has multiple optional parameters, \optional should be
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
472 % nested, not chained. This is right:
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
473 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
474 % \begin{funcdesc}{myfunc}{\optional{parm1\optional{, parm2}}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
475 %
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
476 \newcommand{\optional}[1]{%
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
477 {\textnormal{\Large[}}{#1}\hspace{0.5mm}{\textnormal{\Large]}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
478
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
479 % C functions ------------------------------------------------------------
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
480 % \begin{cfuncdesc}{type}{name}{arglist}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
481 \newenvironment{cfuncdesc}[3]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
482 \begin{fulllineitems}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
483 \item[\code{#1 \bfcode{#2}(\py@varvars{#3})}\index{#2@{\py@idxcode{#2()}}}]
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
484 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
485
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
486 % C variables ------------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
487 % \begin{cvardesc}{type}{name}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
488 \newenvironment{cvardesc}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
489 \begin{fulllineitems}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
490 \item[\code{#1 \bfcode{#2}}\index{#2@{\py@idxcode{#2}}}]
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
491 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
492
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
493 % C data types -----------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
494 % \begin{ctypedesc}{typedef name}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
495 \newenvironment{ctypedesc}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
496 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
497 \item[\bfcode{#1}\ttindex{#1}]
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
498 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
499
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
500 % simple functions (not methods) -----------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
501 % \begin{funcdesc}{name}{args}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
502 \newcommand{\funcline}[2]{\funclineni{#1}{#2}\ttindex{#1()}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
503 \newenvironment{funcdesc}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
504 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
505 \funcline{#1}{#2}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
506 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
507
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
508 % similar to {funcdesc}, but doesn't add to the index
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
509 \newcommand{\funclineni}[2]{\item[\code{\bfcode{#1}(\py@varvars{#2})}]}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
510 \newenvironment{funcdescni}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
511 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
512 \funclineni{#1}{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
513 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
514
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
515 % classes ----------------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
516 % \begin{classdesc}{name}{constructor args}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
517 \newenvironment{classdesc}[2]{
9524
c6a1103efa8a Minor nit that fixes a bunch of indexing: the way the classdesc
Fred Drake <fdrake@acm.org>
parents: 9078
diff changeset
518 % Using \renewcommand doesn't work for this, for unknown reasons:
c6a1103efa8a Minor nit that fixes a bunch of indexing: the way the classdesc
Fred Drake <fdrake@acm.org>
parents: 9078
diff changeset
519 \global\def\py@thisclass{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
520 \begin{fulllineitems}
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
521 \item[\code{\bfcode{#1}(\py@varvars{#2})}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
522 \withsubitem{(class in \py@thismodule)}{\ttindex{#1}}]
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
523 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
524
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
525
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
526 \let\py@classbadkey=\@undefined
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
527
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
528 % object method ----------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
529 % \begin{methoddesc}[classname]{methodname}{args}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
530 \newcommand{\methodline}[3][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
531 \methodlineni{#2}{#3}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
532 \ifx#1\@undefined
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
533 \withsubitem{(\py@thisclass\ method)}{\ttindex{#2()}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
534 \else
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
535 \withsubitem{(#1 method)}{\ttindex{#2()}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
536 \fi
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
537 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
538 \newenvironment{methoddesc}[3][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
539 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
540 \ifx#1\@undefined
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
541 \methodline{#2}{#3}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
542 \else
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
543 \def\py@thisclass{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
544 \methodline[#1]{#2}{#3}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
545 \fi
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
546 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
547
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
548 % similar to {methoddesc}, but doesn't add to the index
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
549 % (never actually uses the optional argument)
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
550 \newcommand{\methodlineni}[3][\py@classbadkey]{%
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
551 \item[\code{\bfcode{#2}(\py@varvars{#3})}]}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
552 \newenvironment{methoddescni}[3][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
553 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
554 \methodlineni{#2}{#3}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
555 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
556
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
557 % object data attribute --------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
558 % \begin{memberdesc}[classname]{membername}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
559 \newcommand{\memberline}[2][\py@classbadkey]{%
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
560 \ifx#1\@undefined
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
561 \memberlineni{#2}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
562 \withsubitem{(\py@thisclass\ attribute)}{\ttindex{#2}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
563 \else
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
564 \memberlineni{#2}
7898
6a0299ebccef Data attributes of objects should not be indexed with trailing parentheses!
Fred Drake <fdrake@acm.org>
parents: 7850
diff changeset
565 \withsubitem{(#1 attribute)}{\ttindex{#2}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
566 \fi
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
567 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
568 \newenvironment{memberdesc}[2][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
569 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
570 \ifx#1\@undefined
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
571 \memberline{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
572 \else
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
573 \def\py@thisclass{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
574 \memberline[#1]{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
575 \fi
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
576 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
577
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
578 % similar to {memberdesc}, but doesn't add to the index
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
579 % (never actually uses the optional argument)
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
580 \newcommand{\memberlineni}[2][\py@classbadkey]{\item[\bfcode{#2}]}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
581 \newenvironment{memberdescni}[2][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
582 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
583 \memberlineni{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
584 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
585
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
586 % For exceptions: --------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
587 % \begin{excdesc}{name}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
588 % -- need support for constructor; maybe use optional parameter?
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
589 \newenvironment{excdesc}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
590 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
591 \item[\bfcode{#1}\ttindex{#1}]
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
592 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
593
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
594 % Module data or constants: ----------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
595 % \begin{datadesc}{name}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
596 \newcommand{\dataline}[1]{\datalineni{#1}\ttindex{#1}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
597 \newenvironment{datadesc}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
598 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
599 \dataline{#1}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
600 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
601
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
602 % similar to {datadesc}, but doesn't add to the index
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
603 \newcommand{\datalineni}[1]{\item[\bfcode{#1}]\nopagebreak}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
604 \newenvironment{datadescni}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
605 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
606 \datalineni{#1}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
607 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
608
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
609 % bytecode instruction ---------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
610 % \begin{opcodedesc}{name}{var}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
611 % -- {var} may be {}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
612 \newenvironment{opcodedesc}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
613 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
614 \item[\bfcode{#1}\quad\var{#2}]
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
615 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
616
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
617
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
618 \newcommand{\nodename}[1]{\label{#1}}
7740
423be7cd0479 Don't use the fncychap package for HOWTO documents; appendices break. Still
Fred Drake <fdrake@acm.org>
parents: 7737
diff changeset
619
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
620 % For these commands, use \command{} to get the typography right, not
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
621 % {\command}. This works better with the texinfo translation.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
622 \newcommand{\ABC}{{\sc abc}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
623 \newcommand{\UNIX}{{\sc Unix}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
624 \newcommand{\POSIX}{POSIX}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
625 \newcommand{\ASCII}{{\sc ascii}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
626 \newcommand{\Cpp}{C\protect\raisebox{.18ex}{++}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
627 \newcommand{\C}{C}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
628 \newcommand{\EOF}{{\sc eof}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
629 \newcommand{\NULL}{\constant{NULL}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
630
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
631 % Also for consistency: spell Python "Python", not "python"!
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
632
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
633 % code is the most difficult one...
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
634 \newcommand{\code}[1]{{\@vobeyspaces\@noligs\def\{{\char`\{}\def\}{\char`\}}\def\~{\char`\~}\def\^{\char`\^}\def\e{\char`\\}\def\${\char`\$}\def\#{\char`\#}\def\&{\char`\&}\def\%{\char`\%}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
635 \texttt{#1}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
636
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
637 \newcommand{\bfcode}[1]{\code{\bfseries#1}} % bold-faced code font
8609
ce295bfacef3 Fix the \kbd definition so it didn't leave the courier face on.
Fred Drake <fdrake@acm.org>
parents: 8396
diff changeset
638 \newcommand{\kbd}[1]{\code{#1}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
639 \newcommand{\samp}[1]{`\code{#1}'}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
640 % This weird definition of \var{} allows it to always appear in roman
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
641 % italics, and won't get funky in code fragments when we play around
9542
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
642 % with fonts. This also works directly in math mode.
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
643 \newcommand{\var}[1]{%
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
644 \ifmmode%
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
645 \hbox{\normalsize\textrm{\textit{#1\/}}}%
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
646 \else%
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
647 \normalsize\textrm{\textit{#1\/}}%
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
648 \fi%
1437c2335b3b Make \var work correctly in math mode.
Fred Drake <fdrake@acm.org>
parents: 9524
diff changeset
649 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
650 \renewcommand{\emph}[1]{{\em #1}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
651 \newcommand{\dfn}[1]{\emph{#1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
652 \newcommand{\strong}[1]{{\bf #1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
653 % let's experiment with a new font:
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
654 \newcommand{\file}[1]{`{\small\textsf{#1}}'}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
655
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
656 % Use this def/redef approach for \url{} since hyperref defined this already,
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
657 % but only if we actually used hyperref:
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
658 \@ifundefined{pdfannotlink}{
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
659 \newcommand{\py@url}[1]{\mbox{\small\textsf{#1}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
660 }{
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
661 \newcommand{\py@url}[1]{{%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
662 \pdfannotlink attr{/Border [0 0 0]} user{/S /URI /URI (#1)}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
663 \py@LinkColor% color of the link text
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
664 \mbox{\small\textsf{#1}}%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
665 \py@NormalColor% Turn it back off; these are declarative
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
666 \pdfendlink}% and don't appear bound to the current
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
667 }% formatting "box".
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
668 }
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
669 \let\url=\py@url
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
670 \newcommand{\email}[1]{{\small\textsf{#1}}}
7778
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
671 \newcommand{\newsgroup}[1]{{\small\textsf{#1}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
672
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
673 \newcommand{\py@varvars}[1]{{\def\,{\/{\char`\,}}\var{#1}}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
674 % let's see if this breaks anything now; we may be able to simplify...
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
675 \renewcommand{\py@varvars}[1]{\var{#1}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
676
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
677 % I'd really like to get rid of this!
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
678 \newif\iftexi\texifalse
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
679
8779
9138272c1fe6 Define stuff to allow simple HTML-only selection using TeX's \if<foo>...\fi
Fred Drake <fdrake@acm.org>
parents: 8762
diff changeset
680 % This is used to get l2h to put the copyright and abstract on
9138272c1fe6 Define stuff to allow simple HTML-only selection using TeX's \if<foo>...\fi
Fred Drake <fdrake@acm.org>
parents: 8762
diff changeset
681 % a separate HTML page.
9138272c1fe6 Define stuff to allow simple HTML-only selection using TeX's \if<foo>...\fi
Fred Drake <fdrake@acm.org>
parents: 8762
diff changeset
682 \newif\ifhtml\htmlfalse
9138272c1fe6 Define stuff to allow simple HTML-only selection using TeX's \if<foo>...\fi
Fred Drake <fdrake@acm.org>
parents: 8762
diff changeset
683
9138272c1fe6 Define stuff to allow simple HTML-only selection using TeX's \if<foo>...\fi
Fred Drake <fdrake@acm.org>
parents: 8762
diff changeset
684
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
685 % These should be used for all references to identifiers which are
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
686 % used to refer to instances of specific language constructs. See the
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
687 % names for specific semantic assignments.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
688 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
689 % For now, don't do anything really fancy with them; just use them as
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
690 % logical markup. This might change in the future.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
691 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
692 \newcommand{\module}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
693 \newcommand{\keyword}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
694 \newcommand{\exception}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
695 \newcommand{\class}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
696 \newcommand{\function}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
697 \newcommand{\member}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
698 \newcommand{\method}[1]{\texttt{#1}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
699
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
700 \newcommand{\pytype}[1]{#1} % built-in Python type
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
701
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
702 \newcommand{\cfunction}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
703 \newcommand{\ctype}[1]{\texttt{#1}} % C struct or typedef name
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
704 \newcommand{\cdata}[1]{\texttt{#1}} % C variable, typically global
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
705
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
706 \newcommand{\mimetype}[1]{{\small\textsf{#1}}}
7670
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
707 % The \! is a "negative thin space" in math mode.
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
708 \newcommand{\regexp}[1]{%
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
709 {\tiny$^{^\lceil}\!\!$%
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
710 {\normalsize\code{#1}}%
7850
db1e49d51fe1 Increase space between the end of a regexp and the little right floor symbol
Fred Drake <fdrake@acm.org>
parents: 7801
diff changeset
711 $\!\rfloor\!$%
7670
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
712 }}
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
713 \newcommand{\envvar}[1]{%
7670
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
714 \$#1% $ <-- bow to font-lock 3 times!
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
715 \index{#1@{\$#1}}% $
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
716 \index{environment variables!{\$#1}}% $
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
717 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
718 \newcommand{\makevar}[1]{#1} % variable in a Makefile
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
719 \newcommand{\character}[1]{\samp{#1}}
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
720
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
721 % constants defined in Python modules or C headers, not language constants:
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
722 \newcommand{\constant}[1]{\code{#1}} % manifest constant, not syntactic
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
723
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
724 \newcommand{\manpage}[2]{{\emph{#1}(#2)}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
725 \newcommand{\rfc}[1]{RFC #1\index{RFC!RFC #1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
726 \newcommand{\program}[1]{\strong{#1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
727
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
728
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
729 % Deprecation stuff.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
730 % Should be extended to allow an index / list of deprecated stuff. But
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
731 % there's a lot of stuff that needs to be done to make that automatable.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
732 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
733 % First parameter is the release number that deprecates the feature, the
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
734 % second is the action the should be taken by users of the feature.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
735 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
736 % Example:
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
737 % \deprecated{1.5.1}{Use \method{frobnicate()} instead.}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
738 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
739 \newcommand{\deprecated}[2]{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
740 \strong{Deprecated since release #1.} #2\par}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
741
8762
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
742 % New stuff.
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
743 % This should be used to mark things which have been added to the
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
744 % development tree but that aren't in the release, but are documented.
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
745 % This allows release of documentation that already includes updated
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
746 % descriptions.
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
747 %
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
748 % Example:
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
749 % \versionadded{1.5.2}
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
750 %
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
751 \newcommand{\versionadded}[1]{%
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
752 \strong{New in version #1.}\par}
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
753 \newcommand{\versionchanged}[1]{%
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
754 \strong{Changed in version #1.}\par}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
755
8762
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
756
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
757 % Tables.
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
758 %
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
759 \newenvironment{tableii}[4]{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
760 \begin{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
761 \def\lineii##1##2{\csname#2\endcsname{##1}&##2\\}%
8018
011ae71fea96 Lighten up tables.
Fred Drake <fdrake@acm.org>
parents: 7898
diff changeset
762 \begin{tabular}{#1}\strong{#3}&\strong{#4} \\ \hline%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
763 }{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
764 \end{tabular}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
765 \end{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
766 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
767
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
768 \newenvironment{tableiii}[5]{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
769 \begin{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
770 \def\lineiii##1##2##3{\csname#2\endcsname{##1}&##2&##3\\}%
8018
011ae71fea96 Lighten up tables.
Fred Drake <fdrake@acm.org>
parents: 7898
diff changeset
771 \begin{tabular}{#1}\strong{#3}&\strong{#4}&\strong{#5} \\ \hline%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
772 }{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
773 \end{tabular}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
774 \end{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
775 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
776
8751
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
777 \newenvironment{tableiv}[6]{%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
778 \begin{center}%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
779 \def\lineiv##1##2##3##4{\csname#2\endcsname{##1}&##2&##3&##4\\}%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
780 \begin{tabular}{#1}\strong{#3}&\strong{#4}&\strong{#5}&\strong{#6} \\%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
781 \hline%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
782 }{%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
783 \end{tabular}%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
784 \end{center}%
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
785 }
99793302d10d {tableiv} environment: Four-column table.
Fred Drake <fdrake@acm.org>
parents: 8726
diff changeset
786
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
787 % Cross-referencing (AMK, new impl. FLD)
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
788 % Sample usage:
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
789 % \begin{seealso}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
790 % \seemodule{rand}{Uniform random number generator}; % Module xref
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
791 % \seetext{\emph{Encyclopedia Britannica}}. % Ref to a book
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
792 %
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
793 % % A funky case: module name contains '_'; have to supply an optional key
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
794 % \seemodule[copyreg]{copy_reg}{pickle interface constructor registration}
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
795 %
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
796 % \end{seealso}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
797
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
798 \@ifundefined{pdfannotlink}{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
799 \newcommand{\py@seemodule}[3][\py@modulebadkey]{%
9868
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
800 \par%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
801 \ifx\py@modulebadkey#1\def\py@modulekey{#2}\else\def\py@modulekey{#1}\fi%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
802 \ref{module-\py@modulekey}:\quad %
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
803 Module \module{#2}%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
804 \quad (#3)%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
805 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
806 }{\newcommand{\py@seemodule}[3][\py@modulebadkey]{%
9868
a58f36352c4f \seemodule: Fix so that each \seemodule entry gets its own paragraph,
Fred Drake <fdrake@acm.org>
parents: 9542
diff changeset
807 \par%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
808 \ifx\py@modulebadkey#1\def\py@modulekey{#2}\else\def\py@modulekey{#1}\fi%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
809 \ref{module-\py@modulekey}:\quad %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
810 {\pdfannotlink attr{/Border [0 0 0]} goto name{label-module-\py@modulekey}%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
811 \py@LinkColor Module \module{#2} \py@NormalColor%
7585
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
812 \pdfendlink%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
813 }%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
814 \quad (#3)%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
815 }
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
816 }
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
817 \newenvironment{seealso}[0]{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
818 \strong{See Also:}\par
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
819 \def\seetext##1{\par{##1}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
820 \let\seemodule=\py@seemodule
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
821 }{\par}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
822
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
823
8762
4192a73ca430 \versionadded,
Fred Drake <fdrake@acm.org>
parents: 8751
diff changeset
824 % Allow the Python release number to be specified independently of the
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
825 % \date{}. This allows the date to reflect the document's date and
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
826 % release to specify the Python release that is documented.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
827 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
828 \newcommand{\py@release}{}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
829 \newcommand{\version}{}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
830 \newcommand{\releasename}{Release}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
831 \newcommand{\release}[1]{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
832 \renewcommand{\py@release}{\releasename\space\version}%
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
833 \renewcommand{\version}{#1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
834
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
835 % Allow specification of the author's address separately from the
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
836 % author's name. This can be used to format them differently, which
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
837 % is a good thing.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
838 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
839 \newcommand{\py@authoraddress}{}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
840 \newcommand{\authoraddress}[1]{\renewcommand{\py@authoraddress}{#1}}
8341
ebfde06fdb8d Added definitions for \developer, \developers, \developersaddress.
Fred Drake <fdrake@acm.org>
parents: 8306
diff changeset
841 \let\developersaddress=\authoraddress
ebfde06fdb8d Added definitions for \developer, \developers, \developersaddress.
Fred Drake <fdrake@acm.org>
parents: 8306
diff changeset
842 \let\developer=\author
ebfde06fdb8d Added definitions for \developer, \developers, \developersaddress.
Fred Drake <fdrake@acm.org>
parents: 8306
diff changeset
843 \let\developers=\author
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
844
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
845 % This sets up the fancy chapter headings that make the documents look
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
846 % at least a little better than the usual LaTeX output.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
847 %
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
848 \@ifundefined{ChTitleVar}{}{
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
849 \ChNameVar{\raggedleft\normalsize\py@HeaderFamily}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
850 \ChNumVar{\raggedleft \bfseries\Large\py@HeaderFamily}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
851 \ChTitleVar{\raggedleft \rm\Huge\py@HeaderFamily}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
852 % This creates chapter heads without the leading \vspace*{}:
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
853 \def\@makechapterhead#1{%
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
854 {\parindent \z@ \raggedright \normalfont
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
855 \ifnum \c@secnumdepth >\m@ne
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
856 \DOCH
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
857 \fi
7597
39b84a3dceaa Never, NEVER try to recover a screwed up file by carving a chunk out of an
Fred Drake <fdrake@acm.org>
parents: 7592
diff changeset
858 \interlinepenalty\@M
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
859 \DOTI{#1}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
860 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
861 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
862 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
863
8396
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
864
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
865 % Definition lists; requested by AMK for HOWTO documents. Probably useful
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
866 % elsewhere as well, so keep in in the general style support.
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
867 %
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
868 \newenvironment{definitions}{%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
869 \begin{description}%
9078
18f81faf4bd9 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8916
diff changeset
870 \def\term##1{\item[##1]\mbox{}\\*[0mm]}
8396
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
871 }{%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
872 \end{description}%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
873 }
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
874
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
875 % Tell TeX about pathological hyphenation cases:
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
876 \hyphenation{Base-HTTP-Re-quest-Hand-ler}