annotate Doc/texinputs/python.sty @ 8713:ed8f4e2eb11a legacy-trunk

Lots of new stuff for "module synopsis support." Public interface consists of three macros, one which replaces some of the current conventions used in the module sections: \declaremodule: Requires two parameters: module type (standard, builtin, extension), and the module name. An optional parameter should be given as the basis for the module's "key" used for linking to or referencing the section. The "key" should only be given if the module's name contains underscores, and should be the name with the underscore's stripped. This should be the first thing after the \section used to introduce the module. \modulesynopsis: Requires a single parameter: a short, one-liner description of the module that can be used as part of the chapter introduction. This should probably be placed just after the \declaremodule, but may be placed anywhere in the same section. \localmoduletable: No parameters. If a .syn file exists for the current chapter (or for the entire document in howto docs), a synopsistable is created with the contents loaded from the .syn file. Some re-organization due to module synopsis support. Some \def's changed to \newcommand's.
author Fred Drake <fdrake@acm.org>
date Thu, 23 Jul 1998 17:50:45 +0000
parents ce295bfacef3
children 74ea4dfda82d
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
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
231 % support for the module index
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
232 \newif\ifpy@UseModuleIndex
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
233 \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
234
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
235 \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
236 \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
237 \openout\modindexfile=mod\jobname.idx
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
238 \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
239 }
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
240
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
241 % 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
242 \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
243 \renewcommand{\py@thismodule}{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
244 \setindexsubitem{(in module #1)}%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
245 \index{#1@{\py@idxcode{#1}} (#2module)|textbf}%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
246 \ifpy@UseModuleIndex%
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
247 \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
248 \fi%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
249 }
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
250
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
251 % 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
252 \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
253 \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
254
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
255 % 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
256 \newcommand{\modindex}[1]{\py@modindex{#1}{}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
257 \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
258
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
259 % 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
260 \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
261 \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
262 \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
263
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
264 \newcommand{\withsubitem}[2]{%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
265 \begingroup%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
266 \def\index@subitem{#1}#2%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
267 \endgroup%
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
268 }
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
269
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
270
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
271 % Module synopsis processing -----------------------------------------------
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
272 %
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
273 \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
274 \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
275 \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
276 \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
277
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
278 \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
279 \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
280
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
281 % \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
282 \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
283 \py@openModSynopsisFile
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
284 \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
285 \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
286 \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
287 \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
288 \else
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
289 \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
290 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
291 \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
292 \py@HaveModSynopsistrue
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
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
295
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
296 \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
297 \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
298 \newcommand{\modulesynopsis}[1]{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
299 \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
300 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
301
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
302 % define the file
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
303 \newwrite\py@ModSynopsisFile
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
304
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
305 % 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
306 \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
307 \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
308 {\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
309 {\string#1}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
310 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
311 \newcommand{\py@closeModSynopsisFile}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
312 \ifpy@ModSynopsisFileIsOpen
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
313 \closeout\py@ModSynopsisFile
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
314 \py@ModSynopsisFileIsOpenfalse
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
315 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
316 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
317 \newcommand{\py@openModSynopsisFile}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
318 \ifpy@ModSynopsisFileIsOpen\else
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
319 \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
320 \py@ModSynopsisFileIsOpentrue
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
321 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
322 }
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 \newcommand{\py@ProcessModSynopsis}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
325 \ifpy@HaveModSynopsis
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
326 \py@writeModSynopsisFile{\modulesynopsis%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
327 {\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
328 {\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
329 \py@HaveModSynopsisfalse
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
330 \fi
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
331 \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
332 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
333 \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
334
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
335 \newcommand{\localmoduletable}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
336 \IfFileExists{\py@ModSynopsisFilename}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
337 \begin{synopsistable}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
338 \input{\py@ModSynopsisFilename}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
339 \end{synopsistable}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
340 }{}
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 \@ifundefined{pdfoutput}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
344 \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
345 }{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
346 \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
347 {\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
348 \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
349 \pdfendlink}& #4\\}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
350 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
351 \newenvironment{synopsistable}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
352 % 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
353 \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
354 \begin{tabular}{ll}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
355 }{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
356 \end{tabular}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
357 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
358 %
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 \newcommand{\py@thisclass}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
363 \newcommand{\py@thismodule}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
364 \newcommand{\py@thismodulekey}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
365 \newcommand{\py@thismoduletype}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
366
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
367 \newcommand{\py@reset}{
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
368 \py@ProcessModSynopsis
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
369 \renewcommand{\py@thisclass}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
370 \renewcommand{\py@thismodule}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
371 \renewcommand{\py@thismodulekey}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
372 \renewcommand{\py@thismoduletype}{}
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
373 }
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 % 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
376 % 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
377 \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
378 \@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
379 {-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
380 {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
381 {\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
382 \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
383 {-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
384 {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
385 {\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
386 \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
387 {-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
388 {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
389 {\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
390 \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
391 {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
392 {-1em}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
393 {\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
394 \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
395 {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
396 {-1em}%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
397 {\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
398
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
399
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
400 % 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
401 %
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
402 % 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
403 % Latex 2e.
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
404
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
405 \DeclareRobustCommand\hackscore{%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
406 \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
407 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
408 \begingroup
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
409 \catcode`\_\active
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
410 \def\next{%
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
411 \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
412 }
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
413 \expandafter\endgroup\next
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
414
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
415
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
416 % 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
417 % 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
418 % 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
419
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
420
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
421 % {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
422 % 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
423 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
424 \newenvironment{fulllineitems}{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
425 \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
426 \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
427 \itemsep -\parsep
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
428 \let\makelabel=\itemnewline}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
429 }{\end{list}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
430
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
431 % \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
432 % {*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
433 % be used in the debugger chapter.
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
434 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
435 % Typical usage:
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
436 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
437 % \begin{funcdesc}{myfunc}{reqparm\optional{, optparm}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
438 % ^^^ ^^^
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
439 % No space here No space here
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
440 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
441 % 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
442 % nested, not chained. This is right:
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
443 %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
444 % \begin{funcdesc}{myfunc}{\optional{parm1\optional{, parm2}}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
445 %
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
446 \newcommand{\optional}[1]{%
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
447 {\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
448
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
449 % C functions ------------------------------------------------------------
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
450 % \begin{cfuncdesc}{type}{name}{arglist}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
451 \newenvironment{cfuncdesc}[3]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
452 \begin{fulllineitems}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
453 \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
454 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
455
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
456 % C variables ------------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
457 % \begin{cvardesc}{type}{name}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
458 \newenvironment{cvardesc}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
459 \begin{fulllineitems}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
460 \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
461 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
462
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
463 % C data types -----------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
464 % \begin{ctypedesc}{typedef name}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
465 \newenvironment{ctypedesc}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
466 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
467 \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
468 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
469
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
470 % simple functions (not methods) -----------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
471 % \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
472 \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
473 \newenvironment{funcdesc}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
474 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
475 \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
476 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
477
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
478 % 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
479 \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
480 \newenvironment{funcdescni}[2]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
481 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
482 \funclineni{#1}{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
483 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
484
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
485 % classes ----------------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
486 % \begin{classdesc}{name}{constructor args}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
487 \newenvironment{classdesc}[2]{
8713
ed8f4e2eb11a Lots of new stuff for "module synopsis support." Public interface consists
Fred Drake <fdrake@acm.org>
parents: 8609
diff changeset
488 \renewcommand{\py@thisclass}{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
489 \begin{fulllineitems}
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
490 \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
491 \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
492 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
493
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
494
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
495 \let\py@classbadkey=\@undefined
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
496
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
497 % object method ----------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
498 % \begin{methoddesc}[classname]{methodname}{args}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
499 \newcommand{\methodline}[3][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
500 \methodlineni{#2}{#3}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
501 \ifx#1\@undefined
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
502 \withsubitem{(\py@thisclass\ method)}{\ttindex{#2()}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
503 \else
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
504 \withsubitem{(#1 method)}{\ttindex{#2()}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
505 \fi
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
506 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
507 \newenvironment{methoddesc}[3][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
508 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
509 \ifx#1\@undefined
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
510 \methodline{#2}{#3}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
511 \else
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
512 \def\py@thisclass{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
513 \methodline[#1]{#2}{#3}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
514 \fi
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
515 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
516
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
517 % 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
518 % (never actually uses the optional argument)
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
519 \newcommand{\methodlineni}[3][\py@classbadkey]{%
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
520 \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
521 \newenvironment{methoddescni}[3][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
522 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
523 \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
524 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
525
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
526 % object data attribute --------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
527 % \begin{memberdesc}[classname]{membername}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
528 \newcommand{\memberline}[2][\py@classbadkey]{%
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
529 \ifx#1\@undefined
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
530 \memberlineni{#2}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
531 \withsubitem{(\py@thisclass\ attribute)}{\ttindex{#2}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
532 \else
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
533 \memberlineni{#2}
7898
6a0299ebccef Data attributes of objects should not be indexed with trailing parentheses!
Fred Drake <fdrake@acm.org>
parents: 7850
diff changeset
534 \withsubitem{(#1 attribute)}{\ttindex{#2}}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
535 \fi
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
536 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
537 \newenvironment{memberdesc}[2][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
538 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
539 \ifx#1\@undefined
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
540 \memberline{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
541 \else
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
542 \def\py@thisclass{#1}
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
543 \memberline[#1]{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
544 \fi
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
545 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
546
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
547 % 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
548 % (never actually uses the optional argument)
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
549 \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
550 \newenvironment{memberdescni}[2][\py@classbadkey]{
7764
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
551 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
552 \memberlineni{#2}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
553 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
554
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
555 % For exceptions: --------------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
556 % \begin{excdesc}{name}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
557 % -- 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
558 \newenvironment{excdesc}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
559 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
560 \item[\bfcode{#1}\ttindex{#1}]
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
561 }{\end{fulllineitems}}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
562
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
563 % Module data or constants: ----------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
564 % \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
565 \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
566 \newenvironment{datadesc}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
567 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
568 \dataline{#1}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
569 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
570
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
571 % 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
572 \newcommand{\datalineni}[1]{\item[\bfcode{#1}]\nopagebreak}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
573 \newenvironment{datadescni}[1]{
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
574 \begin{fulllineitems}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
575 \datalineni{#1}
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 % bytecode instruction ---------------------------------------------------
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
579 % \begin{opcodedesc}{name}{var}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
580 % -- {var} may be {}
9d0dc11775a4 Add comments about several of the environments.
Fred Drake <fdrake@acm.org>
parents: 7740
diff changeset
581 \newenvironment{opcodedesc}[2]{
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 \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
584 }{\end{fulllineitems}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
585
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
586
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
587 \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
588
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
589 % 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
590 % {\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
591 \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
592 \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
593 \newcommand{\POSIX}{POSIX}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
594 \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
595 \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
596 \newcommand{\C}{C}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
597 \newcommand{\EOF}{{\sc eof}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
598 \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
599
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
600 % 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
601
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
602 % 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
603 \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
604 \texttt{#1}}}
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
605
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
606 \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
607 \newcommand{\kbd}[1]{\code{#1}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
608 \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
609 % 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
610 % italics, and won't get funky in code fragments when we play around
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
611 % with fonts.
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
612 \newcommand{\var}[1]{\normalsize\textrm{\textit{#1\/}}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
613 \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
614 \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
615 \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
616 % 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
617 \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
618
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
619 % 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
620 % 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
621 \@ifundefined{pdfannotlink}{
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
622 \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
623 }{
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
624 \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
625 \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
626 \py@LinkColor% color of the link text
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
627 \mbox{\small\textsf{#1}}%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
628 \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
629 \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
630 }% formatting "box".
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
631 }
8067
48e2349d11c6 Fix the broken PDF links, really this time!
Fred Drake <fdrake@acm.org>
parents: 8066
diff changeset
632 \let\url=\py@url
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
633 \newcommand{\email}[1]{{\small\textsf{#1}}}
7778
b17d200edf62 Added some comments.
Fred Drake <fdrake@acm.org>
parents: 7764
diff changeset
634 \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
635
8075
e39145a13096 Hide \varvars from "public" interface.
Fred Drake <fdrake@acm.org>
parents: 8067
diff changeset
636 \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
637 % 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
638 \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
639
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
640 % 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
641 \newif\iftexi\texifalse
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
642
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
643 % 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
644 % 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
645 % 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
646 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
647 % 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
648 % 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
649 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
650 \newcommand{\module}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
651 \newcommand{\keyword}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
652 \newcommand{\exception}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
653 \newcommand{\class}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
654 \newcommand{\function}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
655 \newcommand{\member}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
656 \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
657
7801
047996666c81 Removed an obsolete hack that's been commented out for a long time.
Fred Drake <fdrake@acm.org>
parents: 7792
diff changeset
658 \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
659
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
660 \newcommand{\cfunction}[1]{\texttt{#1}}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
661 \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
662 \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
663
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
664 \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
665 % 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
666 \newcommand{\regexp}[1]{%
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
667 {\tiny$^{^\lceil}\!\!$%
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
668 {\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
669 $\!\rfloor\!$%
7670
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
670 }}
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
671 \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
672 \$#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
673 \index{#1@{\$#1}}% $
8e6a58019887 \regexp{}: Rewritten to look like Freidl's book. Too rip-off?
Fred Drake <fdrake@acm.org>
parents: 7659
diff changeset
674 \index{environment variables!{\$#1}}% $
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
675 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
676 \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
677 \newcommand{\character}[1]{\samp{#1}}
7659
869373fa0bf8 \withsubitem{}: New macro. Change indexsubitem temporarily for another
Fred Drake <fdrake@acm.org>
parents: 7617
diff changeset
678
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
679 % 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
680 \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
681
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
682 \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
683 \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
684 \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
685
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
686
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
687 % Deprecation stuff.
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
688 % 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
689 % 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
690 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
691 % 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
692 % 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
693 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
694 % Example:
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
695 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
696 % \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
697 %
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
698 \newcommand{\deprecated}[2]{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
699 \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
700
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
701
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
702 \newenvironment{tableii}[4]{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
703 \begin{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
704 \def\lineii##1##2{\csname#2\endcsname{##1}&##2\\}%
8018
011ae71fea96 Lighten up tables.
Fred Drake <fdrake@acm.org>
parents: 7898
diff changeset
705 \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
706 }{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
707 \end{tabular}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
708 \end{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
709 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
710
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
711 \newenvironment{tableiii}[5]{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
712 \begin{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
713 \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
714 \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
715 }{%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
716 \end{tabular}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
717 \end{center}%
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
718 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
719
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
720 \newcommand{\itemnewline}[1]{%
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
721 \@tempdima\linewidth%
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
722 \advance\@tempdima \leftmargin\makebox[\@tempdima][l]{#1}%
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
8229
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
725 % Define \itembreak: force the text after an item to start on a new line
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
726 \newcommand{\itembreak}{%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
727 \mbox{}%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
728 \\*[0mm]%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
729 }
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
730
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
731 % Define \itemjoin: some negative vspace to join two items together
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
732 \newcommand{\itemjoin}{%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
733 \mbox{}%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
734 \vspace{-\itemsep}%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
735 \vspace{-\parsep}%
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
736 }
df752c08b462 \itembreak,
Fred Drake <fdrake@acm.org>
parents: 8190
diff changeset
737
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
738 % 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
739 % Sample usage:
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
740 % \begin{seealso}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
741 % \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
742 % \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
743 %
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
744 % % 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
745 % \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
746 %
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
747 % \end{seealso}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
748
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
749 \@ifundefined{pdfannotlink}{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
750 \newcommand{\py@seemodule}[3][\py@modulebadkey]{%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
751 \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
752 \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
753 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
754 \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
755 }
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
756 }{\newcommand{\py@seemodule}[3][\py@modulebadkey]{%
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
757 \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
758 \ref{module-\py@modulekey}:\quad %
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
759 {\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
760 \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
761 \pdfendlink%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
762 }%
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
763 \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
764 }
2ef0aca96f2d Revise some of the PDF support to get at least preliminary outline support.
Fred Drake <fdrake@acm.org>
parents: 7561
diff changeset
765 }
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
766 \newenvironment{seealso}[0]{
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
767 \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
768 \def\seetext##1{\par{##1}}
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
769 \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
770 }{\par}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
771
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 % Allow the release number to be specified independently of the
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
774 % \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
775 % 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
776 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
777 \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
778 \newcommand{\version}{}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
779 \newcommand{\releasename}{Release}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
780 \newcommand{\release}[1]{%
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
781 \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
782 \renewcommand{\version}{#1}}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
783
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
784 % 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
785 % 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
786 % 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
787 %
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
788 \newcommand{\py@authoraddress}{}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
789 \newcommand{\authoraddress}[1]{\renewcommand{\py@authoraddress}{#1}}
8341
ebfde06fdb8d Added definitions for \developer, \developers, \developersaddress.
Fred Drake <fdrake@acm.org>
parents: 8306
diff changeset
790 \let\developersaddress=\authoraddress
ebfde06fdb8d Added definitions for \developer, \developers, \developersaddress.
Fred Drake <fdrake@acm.org>
parents: 8306
diff changeset
791 \let\developer=\author
ebfde06fdb8d Added definitions for \developer, \developers, \developersaddress.
Fred Drake <fdrake@acm.org>
parents: 8306
diff changeset
792 \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
793
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
794 % 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
795 % 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
796 %
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
797 \@ifundefined{ChTitleVar}{}{
8190
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
798 \ChNameVar{\raggedleft\normalsize\py@HeaderFamily}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
799 \ChNumVar{\raggedleft \bfseries\Large\py@HeaderFamily}
25c2aea64501 Fixed \code so word wrapping is allowed.
Fred Drake <fdrake@acm.org>
parents: 8076
diff changeset
800 \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
801 % 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
802 \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
803 {\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
804 \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
805 \DOCH
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
806 \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
807 \interlinepenalty\@M
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
808 \DOTI{#1}
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
809 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
810 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
811 }
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
812
8396
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
813
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
814 % 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
815 % 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
816 %
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
817 \newenvironment{definitions}{%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
818 \begin{description}%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
819 \def\term##1{\item[##1]\itembreak}
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
820 }{%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
821 \end{description}%
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
822 }
79071a4e0eca Added {definitions} environment, which has \term to define indivual terms.
Fred Drake <fdrake@acm.org>
parents: 8341
diff changeset
823
7527
26a8771a4cfd Convert LaTeX support to create a new class of documents. HTML generation
Fred Drake <fdrake@acm.org>
parents:
diff changeset
824 % 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
825 \hyphenation{Base-HTTP-Re-quest-Hand-ler}