mirror of https://github.com/python/cpython
Adjust the index support a bit to make it easier to deal with module index.
Don't generate the mod???.idx file if it wasn't requested with the new command \makemodindex. Change the format of mod???.idx to match that of "normal" .idx files. This lets us use makeindex for it and not need a special script.
This commit is contained in:
parent
8fcad7beb1
commit
b390daf704
|
@ -269,26 +269,52 @@
|
|||
\newcommand{\refstmodindex}[1]{\refmodule{#1}{standard }}
|
||||
|
||||
% support for the module index
|
||||
\if@usemoduleindex
|
||||
\newwrite\modindexfile
|
||||
\openout\modindexfile=mod\jobname.idx
|
||||
\fi
|
||||
\newif\if@UseModuleIndex
|
||||
\@UseModuleIndexfalse
|
||||
|
||||
\newcommand{\indexlabel}{genindex}
|
||||
|
||||
% Fix the theindex environment to add an entry to the Table of
|
||||
% Contents; this is much nicer than just having to jump to the end of
|
||||
% the book and flip around, especially with multiple indexes.
|
||||
%
|
||||
\let\OldTheindex=\theindex
|
||||
\renewcommand{\theindex}{
|
||||
\cleardoublepage
|
||||
\OldTheindex
|
||||
\addcontentsline{toc}{chapter}{\indexname}
|
||||
\label{\indexlabel}
|
||||
}
|
||||
|
||||
\newcommand{\@thismodule}{$<<$ ERROR - NO CURRENT MODULE $>>$}
|
||||
|
||||
% Add the defining entry for a module
|
||||
\newcommand{\defmodindex}[2]{%
|
||||
\newcommand{\@modindex}[2]{%
|
||||
\index{#1@{\idxcode{#1}} (#2module)|textbf}%
|
||||
\setindexsubitem{(in module #1)}%
|
||||
\if@usemoduleindex%
|
||||
\write\modindexfile{#1 \thepage}%
|
||||
\fi}
|
||||
\if@UseModuleIndex%
|
||||
\write\modindexfile{\protect\indexentry{#1@{\tt #1}}{\thepage}}%
|
||||
\fi%
|
||||
\renewcommand{\@thismodule}{#1}
|
||||
}
|
||||
|
||||
\newcommand{\makemodindex}{
|
||||
\newwrite\modindexfile
|
||||
\openout\modindexfile=mod\jobname.idx
|
||||
\@UseModuleIndextrue
|
||||
}
|
||||
|
||||
\newcommand{\inputindex}[1]{
|
||||
\IfFileExists{#1}{\input{#1}}{\begin{theindex}\end{theindex}}
|
||||
}
|
||||
|
||||
% built-in & Python modules in the main distribution
|
||||
\newcommand{\bimodindex}[1]{\defmodindex{#1}{built-in }}
|
||||
\newcommand{\stmodindex}[1]{\defmodindex{#1}{standard }}
|
||||
\newcommand{\bimodindex}[1]{\@modindex{#1}{built-in }}
|
||||
\newcommand{\stmodindex}[1]{\@modindex{#1}{standard }}
|
||||
|
||||
% Python & extension modules outside the main distribution
|
||||
\newcommand{\modindex}[1]{\defmodindex{#1}{}}
|
||||
\newcommand{\exmodindex}[1]{\defmodindex{#1}{extension }}
|
||||
\newcommand{\modindex}[1]{\@modindex{#1}{}}
|
||||
\newcommand{\exmodindex}[1]{\@modindex{#1}{extension }}
|
||||
|
||||
% Additional string for an index entry
|
||||
\newcommand{\index@subitem}{}
|
||||
|
@ -534,17 +560,6 @@
|
|||
}{\par}
|
||||
|
||||
|
||||
% Fix the theindex environment to add an entry to the Table of
|
||||
% Contents; this is much nicer than just having to jump to the end of
|
||||
% the book and flip around, especially with multiple indexes.
|
||||
%
|
||||
\let\OldTheindex=\theindex
|
||||
\renewcommand{\theindex}{
|
||||
\cleardoublepage
|
||||
\OldTheindex
|
||||
\addcontentsline{toc}{chapter}{\indexname}
|
||||
}
|
||||
|
||||
% Allow the release number to be specified independently of the
|
||||
% \date{}. This allows the date to reflect the document's date and
|
||||
% release to specify the Python release that is documented.
|
||||
|
|
Loading…
Reference in New Issue