summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/.latex2html-init95
1 files changed, 95 insertions, 0 deletions
diff --git a/Doc/.latex2html-init b/Doc/.latex2html-init
index 299a471..090cdfd 100644
--- a/Doc/.latex2html-init
+++ b/Doc/.latex2html-init
@@ -219,4 +219,99 @@ sub clean_key {
}
+$idx_module_mark = '<tex2html_idx_module_mark>';
+$idx_module_title = 'Module Index';
+$idxmodulefile = '';
+
+sub add_module_idx {
+ print "\nDoing the module index ...";
+ local($key, @keys, $index);
+ $index = "<p>";
+ @keys = keys %Modules;
+ @keys = sort keysort @keys;
+ foreach $key (@keys) {
+ $index .= "$Modules{$key}$key</a><br>\n"
+ }
+ s/$idx_module_mark/$index<p>/o;
+}
+
+
+sub remove_general_markers {
+ s/$lof_mark/<UL>$figure_captions<\/UL>/o;
+ s/$lot_mark/<UL>$table_captions<\/UL>/o;
+ &replace_citations if /$bbl_mark/;
+ &add_toc if (/$toc_mark/);
+ &add_idx if (/$idx_mark/);
+ &add_module_idx if (/$idx_module_mark/);
+ &replace_cross_references if /$cross_ref_mark/;
+ &replace_external_references if /$external_ref_mark/;
+ &replace_cite_references if /$cite_mark/;
+ if (defined &replace_user_references) {
+ &replace_user_references if /$user_ref_mark/;
+ }
+}
+
+
+# $idx_mark will be replaced with the real index at the end
+sub do_cmd_textohtmlmoduleindex {
+ local($_) = @_;
+ $TITLE = $idx_module_title;
+ $idxmodulefile = $CURRENT_FILE;
+ join('', '<p>' , &make_section_heading($idx_module_title, "h2"),
+ $idx_module_mark, $_);
+}
+
+# The bibliography and the index should be treated as separate sections
+# in their own HTML files. The \bibliography{} command acts as a sectioning command
+# that has the desired effect. But when the bibliography is constructed
+# manually using the thebibliography environment, or when using the
+# theindex environment it is not possible to use the normal sectioning
+# mechanism. This subroutine inserts a \bibliography{} or a dummy
+# \textohtmlindex command just before the appropriate environments
+# to force sectioning.
+
+# XXX This *assumes* that if there are two {theindex} environments, the
+# first is the module index and the second is the standard index. This
+# is sufficient for the current Python documentation, but that's about
+# it.
+
+sub add_bbl_and_idx_dummy_commands {
+ local($id);
+ s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
+#print STDERR "\nthebibliography: $bbl_cnt\n";
+ #if ($bbl_cnt == 1) {
+ s/([\\]begin\s*$O\d+$C\s*thebibliography)/do { $id = ++$global{'max_id'}; "\\bibliography$O$id$C$O$id$C $1"}/geo;
+ #}
+ local(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);
+ if (scalar(@parts) == 3) {
+ print "\n&add_bbl_and_idx_dummy_commands ==> adding module index";
+ s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlmoduleindex $1/o;
+ }
+ s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
+ s/[\\]printindex/\\textohtmlindex /o;
+ &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands);
+}
+
+# The bibliographic references, the appendices, the lists of figures and tables
+# etc. must appear in the contents table at the same level as the outermost
+# sectioning command. This subroutine finds what is the outermost level and
+# sets the above to the same level;
+sub set_depth_levels {
+ $section_headings['textohtmlmoduleindex'] = 'h1';
+ # Sets $outermost_level
+ local($level);
+ foreach $level ("part", "chapter", "section", "subsection",
+ "subsubsection", "paragraph") {
+ last if (($outermost_level) = /\\($level)$delimiter_rx/);
+ }
+ $level = ($outermost_level ? $section_commands{$outermost_level} :
+ do {$outermost_level = 'section'; 3;});
+ $MAX_SPLIT_DEPTH = $MAX_SPLIT_DEPTH + $level;
+ %section_commands = ('tableofcontents', $level, 'listoffigures', $level,
+ 'listoftables', $level, 'bibliography', $level,
+ 'textohtmlindex', $level,
+ 'textohtmlmoduleindex', $level,
+ %section_commands);
+}
+
1; # This must be the last line