mirror of https://github.com/python/cpython
Many changes to work with newer versions of LaTeX2HTML. This has been
tested with version 99.2beta8.
This commit is contained in:
parent
1915754ec9
commit
85d14c9d02
|
@ -1,22 +1,12 @@
|
||||||
#LaTeX2HTML Version 96.1 : dot.latex2html-init -*- perl -*-
|
# LaTeX2HTML support base for use with Python documentation.
|
||||||
#
|
|
||||||
# Significantly revised by Fred L. Drake, Jr. <fdrake@acm.org> for use
|
|
||||||
# with the Python documentation.
|
|
||||||
#
|
|
||||||
# New name to avoid distributing "dot" files with the Python documentation.
|
|
||||||
#
|
|
||||||
|
|
||||||
package Override;
|
|
||||||
|
|
||||||
use Cwd qw(getcwd);
|
|
||||||
|
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
use L2hos;
|
||||||
|
|
||||||
$HTML_VERSION = 4.0;
|
$HTML_VERSION = 4.0;
|
||||||
|
|
||||||
$MAX_LINK_DEPTH = 2;
|
$MAX_LINK_DEPTH = 2;
|
||||||
$MAX_SPLIT_DEPTH = 5; # split at subsections but not sub-subsections
|
|
||||||
$ADDRESS = '';
|
$ADDRESS = '';
|
||||||
|
|
||||||
$NO_FOOTNODE = 1;
|
$NO_FOOTNODE = 1;
|
||||||
|
@ -34,9 +24,6 @@ $TOP_NAVIGATION = 1;
|
||||||
$BOTTOM_NAVIGATION = 1;
|
$BOTTOM_NAVIGATION = 1;
|
||||||
$AUTO_NAVIGATION = 0;
|
$AUTO_NAVIGATION = 0;
|
||||||
|
|
||||||
$SUPPRESS_CONTENTS = 0;
|
|
||||||
$SUPPRESS_INDEXES = 0;
|
|
||||||
|
|
||||||
# these exactly match the python.org colors
|
# these exactly match the python.org colors
|
||||||
$BODYTEXT = ('bgcolor="#ffffff" text="#000000"'
|
$BODYTEXT = ('bgcolor="#ffffff" text="#000000"'
|
||||||
. ' link="#0000bb" vlink="#551a8b" alink="#ff0000"');
|
. ' link="#0000bb" vlink="#551a8b" alink="#ff0000"');
|
||||||
|
@ -49,14 +36,20 @@ $MODULE_INDEX_COLUMNS = 4;
|
||||||
|
|
||||||
|
|
||||||
# A little painful, but lets us clean up the top level directory a little,
|
# A little painful, but lets us clean up the top level directory a little,
|
||||||
# and not be tied to the current directory (as far as I can tell).
|
# and not be tied to the current directory (as far as I can tell). Testing
|
||||||
|
# an existing definition of $mydir is needed since it cannot be computed when
|
||||||
|
# run under mkhowto with recent versions of LaTeX2HTML, since this file is
|
||||||
|
# not read directly by LaTeX2HTML any more. mkhowto is required to prepend
|
||||||
|
# the required definition at the top of the actual input file.
|
||||||
#
|
#
|
||||||
use Cwd;
|
if (!defined $mydir) {
|
||||||
use File::Basename;
|
use Cwd;
|
||||||
($myname, $mydir, $myext) = fileparse(__FILE__, '\..*');
|
use File::Basename;
|
||||||
chop $mydir; # remove trailing '/'
|
($myname, $mydir, $myext) = fileparse(__FILE__, '\..*');
|
||||||
$mydir = getcwd() . "$dd$mydir"
|
chop $mydir; # remove trailing '/'
|
||||||
unless $mydir =~ s|^/|/|;
|
$mydir = getcwd() . "$dd$mydir"
|
||||||
|
unless $mydir =~ s|^/|/|;
|
||||||
|
}
|
||||||
$LATEX2HTMLSTYLES = "$mydir$envkey$LATEX2HTMLSTYLES";
|
$LATEX2HTMLSTYLES = "$mydir$envkey$LATEX2HTMLSTYLES";
|
||||||
push (@INC, $mydir);
|
push (@INC, $mydir);
|
||||||
|
|
||||||
|
@ -84,71 +77,25 @@ $mytexinputs .= "$myrootdir${dd}texinputs";
|
||||||
$ABOUT_FILE = "$myrootdir${dd}html${dd}stdabout.dat";
|
$ABOUT_FILE = "$myrootdir${dd}html${dd}stdabout.dat";
|
||||||
|
|
||||||
|
|
||||||
sub custom_driver_hook{
|
sub custom_driver_hook {
|
||||||
#
|
#
|
||||||
# This adds the directory of the main input file to $TEXINPUTS; it
|
# This adds the directory of the main input file to $TEXINPUTS; it
|
||||||
# seems to be sufficiently general that it should be fine for HOWTO
|
# seems to be sufficiently general that it should be fine for HOWTO
|
||||||
# processing.
|
# processing.
|
||||||
#
|
#
|
||||||
my $file = @_[0];
|
my $file = @_[0];
|
||||||
my($jobname,$dir,$ext) = fileparse($file, '\..*');
|
my($jobname, $dir, $ext) = fileparse($file, '\..*');
|
||||||
$dir = make_directory_absolute($dir);
|
$dir = L2hos->Make_directory_absolute($dir);
|
||||||
$dir =~ s/$dd$//;
|
$dir =~ s/$dd$//;
|
||||||
$TEXINPUTS = "$dir$envkey$mytexinputs";
|
$TEXINPUTS = "$dir$envkey$mytexinputs";
|
||||||
print "\nadding $dir to \$TEXINPUTS\n";
|
print "\nAdding $dir to \$TEXINPUTS\n";
|
||||||
}
|
|
||||||
|
|
||||||
# Defining this allows us to remove all table of contents and index
|
|
||||||
# processing using an init file; this is required to get rid of the
|
|
||||||
# Table of Contents or we'd get a blank page. Based on a suggestion
|
|
||||||
# from Ross Moore <ross@ics.mq.edu.au>.
|
|
||||||
#
|
|
||||||
# Seems to require a more recent version of LaTeX2HTML than I've
|
|
||||||
# been using, though.
|
|
||||||
#
|
|
||||||
sub preprocess{
|
|
||||||
if ($SUPPRESS_CONTENTS) {
|
|
||||||
s/\\(tableofcontents|listof(figures|tables))/\2/g;
|
|
||||||
}
|
|
||||||
if ($SUPPRESS_INDEXES) {
|
|
||||||
s/\\(print|make)index//g;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub set_icon_size{
|
$CUSTOM_BUTTONS = '';
|
||||||
my($name, $w, $h) = @_;
|
$NAV_BGCOLOR = " bgcolor=\"#99CCFF\"";
|
||||||
$iconsizes{$name} = "width=$w height=$h";
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach $name (split(/ /, 'up next previous contents index modules blank')) {
|
sub make_nav_sectref {
|
||||||
set_icon_size($name, 32, 32);
|
|
||||||
}
|
|
||||||
sub adjust_icon_information{
|
|
||||||
# The '_motif' is really annoying, and makes the HTML larger with no value
|
|
||||||
# added, so strip it off:
|
|
||||||
foreach $name (keys %icons) {
|
|
||||||
my $icon = $icons{$name};
|
|
||||||
# Strip off the wasteful '_motif':
|
|
||||||
$icon =~ s/_motif//;
|
|
||||||
# Change the greyed-out icons to be blank:
|
|
||||||
$icon =~ s/[a-z]*_gr[.]/blank./;
|
|
||||||
# make sure we're using the latest $IMAGE_TYPE
|
|
||||||
$icon =~ s/[.](gif|png)$/.$IMAGE_TYPE/;
|
|
||||||
$icons{$name} = $icon;
|
|
||||||
}
|
|
||||||
$icons{'blank'} = 'blank.' . $IMAGE_TYPE;
|
|
||||||
|
|
||||||
$CUSTOM_BUTTONS = '';
|
|
||||||
$BLANK_ICON = "\n<td>" . img_tag('blank.' . $IMAGE_TYPE) . "</td>";
|
|
||||||
$BLANK_ICON =~ s/alt="blank"/alt=""/;
|
|
||||||
$NAV_BGCOLOR = " bgcolor=\"#99CCFF\"";
|
|
||||||
}
|
|
||||||
|
|
||||||
adjust_icon_information();
|
|
||||||
|
|
||||||
|
|
||||||
sub make_nav_sectref{
|
|
||||||
my($label,$title) = @_;
|
my($label,$title) = @_;
|
||||||
if ($title) {
|
if ($title) {
|
||||||
return ("<b class='navlabel'>$label:</b> "
|
return ("<b class='navlabel'>$label:</b> "
|
||||||
|
@ -157,43 +104,79 @@ sub make_nav_sectref{
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub make_nav_panel{
|
sub make_my_icon {
|
||||||
my $s;
|
my($name, $text) = @_;
|
||||||
$s = "<table align='center' width='100%' cellpadding='0' cellspacing='2'>"
|
my $iconserver = ($ICONSERVER eq '.') ? '' : "$ICONSERVER/";
|
||||||
. "\n<tr>"
|
return "<img src=\"$iconserver$name.$IMAGE_TYPE\" border=\"0\""
|
||||||
. "\n<td>$NEXT</td>"
|
. " height=\"32\"\n alt=\"$text\" width=\"32\">";
|
||||||
. "\n<td>$UP</td>"
|
}
|
||||||
. "\n<td>$PREVIOUS</td>";
|
|
||||||
if ($SUPPRESS_CONTENTS && $SUPPRESS_INDEXES) {
|
$BLANK_ICON = make_my_icon("blank", "");
|
||||||
$s .= ("\n<td align=right$NAV_BGCOLOR width=\"100%\">"
|
|
||||||
. "\n <b class=title>$t_title\ \ \ </b></td>");
|
@my_icons = ();
|
||||||
}
|
$my_icons{'next_page_inactive'} = $BLANK_ICON;
|
||||||
else {
|
$my_icons{'previous_page_inactive'} = $BLANK_ICON;
|
||||||
$s .= ("\n<td align=center$NAV_BGCOLOR width=\"100%\">"
|
$my_icons{'up_page_inactive'} = $BLANK_ICON;
|
||||||
. "\n <b class=title>$t_title</b></td>"
|
$x = make_my_icon("next", "Next Page");
|
||||||
. ($CONTENTS ? "\n<td>$CONTENTS</td>" : $BLANK_ICON)
|
$my_icons{'next_page'} = $x;
|
||||||
. "\n<td>$CUSTOM_BUTTONS</td>" # module index
|
$my_icons{'next'} = $x;
|
||||||
. ($INDEX ? "\n<td>$INDEX</td>" : $BLANK_ICON));
|
$x = make_my_icon("previous", "Previous Page");
|
||||||
}
|
$my_icons{'previous_page'} = $x;
|
||||||
$s .= ("\n</tr></table>"
|
$my_icons{'previous'} = $x;
|
||||||
. make_nav_sectref("Next", $NEXT_TITLE)
|
$my_icons{'up'} = make_my_icon("up", "Up One Level");
|
||||||
. make_nav_sectref("Up", $UP_TITLE)
|
$my_icons{'contents'} = make_my_icon("contents", "Contents");
|
||||||
. make_nav_sectref("Previous", $PREVIOUS_TITLE));
|
$my_icons{'index'} = make_my_icon("index", "Index");
|
||||||
# remove these; they are unnecessary and cause error from validation
|
$my_icons{'modules'} = make_my_icon("modules", "Module Index");
|
||||||
$s =~ s/ NAME="tex2html\d+"\n//g;
|
|
||||||
|
|
||||||
|
sub use_my_icon {
|
||||||
|
my $s = @_[0];
|
||||||
|
$s =~ s/\<tex2html_([a-z_]+)_visible_mark\>/$my_icons{$1}/;
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub make_nav_panel {
|
||||||
|
my $s;
|
||||||
|
$NEXT = use_my_icon("$NEXT");
|
||||||
|
$UP = use_my_icon("$UP");
|
||||||
|
$PREVIOUS = use_my_icon("$PREVIOUS");
|
||||||
|
$CONTENTS = use_my_icon("$CONTENTS");
|
||||||
|
$INDEX = $INDEX ? use_my_icon("$INDEX") : $BLANK_ICON;
|
||||||
|
if (!$CUSTOM_BUTTONS) {
|
||||||
|
$CUSTOM_BUTTONS = $BLANK_ICON;
|
||||||
|
}
|
||||||
|
$s = ('<table align="center" width="100%" cellpadding="0" cellspacing="2">'
|
||||||
|
. "\n<tr>"
|
||||||
|
# left-hand side
|
||||||
|
. "\n<td>$NEXT</td>"
|
||||||
|
. "\n<td>$UP</td>"
|
||||||
|
. "\n<td>$PREVIOUS</td>"
|
||||||
|
# title box
|
||||||
|
. "\n<td align=\"center\"$NAV_BGCOLOR width=\"100%\">"
|
||||||
|
. "\n <b class=\"title\">$t_title</b></td>"
|
||||||
|
# right-hand side
|
||||||
|
. "\n<td>$CONTENTS</td>"
|
||||||
|
. "\n<td>$CUSTOM_BUTTONS</td>" # module index
|
||||||
|
. "\n<td>$INDEX</td>"
|
||||||
|
. "\n</tr></table>\n"
|
||||||
|
# textual navigation
|
||||||
|
. make_nav_sectref("Next", $NEXT_TITLE)
|
||||||
|
. make_nav_sectref("Up", $UP_TITLE)
|
||||||
|
. make_nav_sectref("Previous", $PREVIOUS_TITLE));
|
||||||
|
# remove these; they are unnecessary and cause errors from validation
|
||||||
|
$s =~ s/ NAME="tex2html\d+"\n */ /g;
|
||||||
|
return $s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
sub top_navigation_panel {
|
sub top_navigation_panel {
|
||||||
"<div class='navigation'>\n"
|
return make_nav_panel()
|
||||||
. make_nav_panel()
|
. '<br><hr>';
|
||||||
. '<br><hr></div>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub bot_navigation_panel {
|
sub bot_navigation_panel {
|
||||||
"<p>\n<div class='navigation'><hr>"
|
return "<p><hr>"
|
||||||
. make_nav_panel()
|
. make_nav_panel();
|
||||||
. '</div>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub add_link {
|
sub add_link {
|
||||||
|
@ -201,81 +184,49 @@ sub add_link {
|
||||||
my($icon, $current_file, @link) = @_;
|
my($icon, $current_file, @link) = @_;
|
||||||
my($dummy, $file, $title) = split($delim,
|
my($dummy, $file, $title) = split($delim,
|
||||||
$section_info{join(' ',@link)});
|
$section_info{join(' ',@link)});
|
||||||
|
$icon =~ s/\<tex2html_([_a-z]+)_visible_mark\>/$my_icons{$1}/;
|
||||||
if ($title && ($file ne $current_file)) {
|
if ($title && ($file ne $current_file)) {
|
||||||
$title = purify($title);
|
$title = purify($title);
|
||||||
$title = get_first_words($title, $WORDS_IN_NAVIGATION_PANEL_TITLES);
|
$title = get_first_words($title, $WORDS_IN_NAVIGATION_PANEL_TITLES);
|
||||||
return (make_href($file, $icon), make_href($file, "$title"))
|
return (make_href($file, $icon), make_href($file, "$title"))
|
||||||
}
|
}
|
||||||
elsif ($icon eq $up_visible_mark && $EXTERNAL_UP_LINK) {
|
elsif ($icon eq $my_icons{"up"} && $EXTERNAL_UP_LINK) {
|
||||||
return (make_href($EXTERNAL_UP_LINK, $icon),
|
return (make_href($EXTERNAL_UP_LINK, $icon),
|
||||||
make_href($EXTERNAL_UP_LINK, "$EXTERNAL_UP_TITLE"))
|
make_href($EXTERNAL_UP_LINK, "$EXTERNAL_UP_TITLE"))
|
||||||
}
|
}
|
||||||
elsif (($icon eq $previous_visible_mark
|
elsif ($icon eq $my_icons{"previous"}
|
||||||
|| $icon eq $previous_page_visible_mark)
|
|
||||||
&& $EXTERNAL_PREV_LINK && $EXTERNAL_PREV_TITLE) {
|
&& $EXTERNAL_PREV_LINK && $EXTERNAL_PREV_TITLE) {
|
||||||
return (make_href($EXTERNAL_PREV_LINK, $icon),
|
return (make_href($EXTERNAL_PREV_LINK, $icon),
|
||||||
make_href($EXTERNAL_PREV_LINK, "$EXTERNAL_PREV_TITLE"))
|
make_href($EXTERNAL_PREV_LINK, "$EXTERNAL_PREV_TITLE"))
|
||||||
}
|
}
|
||||||
elsif (($icon eq $next_visible_mark
|
elsif ($icon eq $my_icons{"next"}
|
||||||
|| $icon eq $next_page_visible_mark)
|
|
||||||
&& $EXTERNAL_DOWN_LINK && $EXTERNAL_DOWN_TITLE) {
|
&& $EXTERNAL_DOWN_LINK && $EXTERNAL_DOWN_TITLE) {
|
||||||
return (make_href($EXTERNAL_DOWN_LINK, $icon),
|
return (make_href($EXTERNAL_DOWN_LINK, $icon),
|
||||||
make_href($EXTERNAL_DOWN_LINK, "$EXTERNAL_DOWN_TITLE"))
|
make_href($EXTERNAL_DOWN_LINK, "$EXTERNAL_DOWN_TITLE"))
|
||||||
}
|
}
|
||||||
(&inactive_img($icon), "");
|
return (&inactive_img($icon), "");
|
||||||
}
|
}
|
||||||
|
|
||||||
sub add_special_link {
|
sub add_special_link {
|
||||||
my($icon, $file, $current_file) = @_;
|
my($icon, $file, $current_file) = @_;
|
||||||
(($file && ($file ne $current_file)) ? make_href($file, $icon) : undef)
|
$icon =~ s/\<tex2html_([_a-z]+)_visible_mark\>/$my_icons{$1}/;
|
||||||
}
|
return (($file && ($file ne $current_file))
|
||||||
|
? make_href($file, $icon)
|
||||||
sub img_tag {
|
: undef)
|
||||||
local($icon) = @_;
|
|
||||||
my $alt;
|
|
||||||
my $align = " align=bottom ";
|
|
||||||
|
|
||||||
# having this list hardcoded here is really bogus....
|
|
||||||
$alt = join('|', 'up', 'next_group', 'previous_group'
|
|
||||||
, 'next', 'previous', 'change_begin_right', 'change_begin'
|
|
||||||
, 'change_end_right', 'change_end', 'change_delete_right'
|
|
||||||
, 'change_delete', 'contents', 'index', 'modules', 'blank');
|
|
||||||
|
|
||||||
if ($icon =~ /(gif|png)$/) {
|
|
||||||
$used_icons{$icon} = 1;
|
|
||||||
if ($icon =~ /change_(begin|end|delete)_right/) { $align = ' ' };
|
|
||||||
my $nav_border = "$NAV_BORDER";
|
|
||||||
if ($icon =~ /($alt)/) {
|
|
||||||
$alt = $1;
|
|
||||||
$alt = ""
|
|
||||||
if ($alt eq "blank");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$nav_border = '1';
|
|
||||||
$alt = '[*]';
|
|
||||||
};
|
|
||||||
if ($LOCAL_ICONS) {
|
|
||||||
return join('', '<img ', $iconsizes{$1}, $align
|
|
||||||
,'border=', $nav_border, ' alt="', $alt
|
|
||||||
,'" src="', $icon, '">' );
|
|
||||||
}
|
|
||||||
my $s = join('', '<img ', $iconsizes{$1}, $align,
|
|
||||||
'border=', $nav_border, ' alt="', $alt, "\"\n",
|
|
||||||
' src="', $ICONSERVER, "/$icon", '">' );
|
|
||||||
# if $ICONSERVER starts with "./", remove "./":
|
|
||||||
$s =~ s|src="(.\/)+|src="|;
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return $icon;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# The img_tag() function seems only to be called with the parameter
|
||||||
|
# 'anchor_invisible_mark', which we want to turn into ''. Since
|
||||||
|
# replace_icon_marks() is the only interesting caller, and all it really
|
||||||
|
# does is call img_tag(), we can just define the hook alternative to be
|
||||||
|
# a no-op instead.
|
||||||
|
#
|
||||||
|
sub replace_icons_hook {}
|
||||||
|
|
||||||
sub do_cmd_arabic {
|
sub do_cmd_arabic {
|
||||||
# get rid of that nasty <SPAN CLASS="arabic">...</SPAN>
|
# get rid of that nasty <SPAN CLASS="arabic">...</SPAN>
|
||||||
local($ctr, $val, $id, $_) = &read_counter_value(@_[0]);
|
my($ctr, $val, $id, $text) = &read_counter_value(@_[0]);
|
||||||
return ($val ? &farabic($val) : "0") . $_;
|
return ($val ? farabic($val) : "0") . $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -285,7 +236,7 @@ sub gen_index_id {
|
||||||
sprintf('%s###%s%010d', $str, $extra, ++$global{'max_id'});
|
sprintf('%s###%s%010d', $str, $extra, ++$global{'max_id'});
|
||||||
}
|
}
|
||||||
|
|
||||||
sub insert_index{
|
sub insert_index {
|
||||||
my($mark,$datafile,$columns,$letters,$prefix) = @_;
|
my($mark,$datafile,$columns,$letters,$prefix) = @_;
|
||||||
my $prog = "$myrootdir/tools/buildindex.py";
|
my $prog = "$myrootdir/tools/buildindex.py";
|
||||||
my $index;
|
my $index;
|
||||||
|
@ -298,7 +249,7 @@ sub insert_index{
|
||||||
s/$mark/$prefix$index/;
|
s/$mark/$prefix$index/;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub add_idx{
|
sub add_idx {
|
||||||
print "\nBuilding HTML for the index ...";
|
print "\nBuilding HTML for the index ...";
|
||||||
close(IDXFILE);
|
close(IDXFILE);
|
||||||
insert_index($idx_mark, 'index.dat', $INDEX_COLUMNS, 1, '');
|
insert_index($idx_mark, 'index.dat', $INDEX_COLUMNS, 1, '');
|
||||||
|
@ -308,7 +259,7 @@ sub add_idx{
|
||||||
$idx_module_mark = '<tex2html_idx_module_mark>';
|
$idx_module_mark = '<tex2html_idx_module_mark>';
|
||||||
$idx_module_title = 'Module Index';
|
$idx_module_title = 'Module Index';
|
||||||
|
|
||||||
sub add_module_idx{
|
sub add_module_idx {
|
||||||
print "\nBuilding HTML for the module index ...";
|
print "\nBuilding HTML for the module index ...";
|
||||||
my $key;
|
my $key;
|
||||||
my $first = 1;
|
my $first = 1;
|
||||||
|
@ -356,7 +307,7 @@ PLAT_DISCUSS
|
||||||
}
|
}
|
||||||
|
|
||||||
# replace both indexes as needed:
|
# replace both indexes as needed:
|
||||||
sub add_idx_hook{
|
sub add_idx_hook {
|
||||||
add_idx() if (/$idx_mark/);
|
add_idx() if (/$idx_mark/);
|
||||||
add_module_idx() if (/$idx_module_mark/);
|
add_module_idx() if (/$idx_module_mark/);
|
||||||
process_python_state();
|
process_python_state();
|
||||||
|
@ -367,9 +318,6 @@ sub add_idx_hook{
|
||||||
# support suppression of the page complete (for HTML Help use).
|
# support suppression of the page complete (for HTML Help use).
|
||||||
sub do_cmd_tableofcontents {
|
sub do_cmd_tableofcontents {
|
||||||
local($_) = @_;
|
local($_) = @_;
|
||||||
# if ($SUPPRESS_CONTENTS) {
|
|
||||||
# return $_;
|
|
||||||
# }
|
|
||||||
$TITLE = $toc_title;
|
$TITLE = $toc_title;
|
||||||
$tocfile = $CURRENT_FILE;
|
$tocfile = $CURRENT_FILE;
|
||||||
my($closures,$reopens) = preserve_open_tags();
|
my($closures,$reopens) = preserve_open_tags();
|
||||||
|
@ -465,31 +413,23 @@ sub add_bbl_and_idx_dummy_commands {
|
||||||
|
|
||||||
s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
|
s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg;
|
||||||
s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo;
|
s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo;
|
||||||
#----------------------------------------------------------------------
|
my(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);
|
||||||
# (FLD) This was added
|
if (scalar(@parts) == 3) {
|
||||||
if ($SUPPRESS_INDEXES) {
|
# Be careful to re-write the string in place, since $_ is *not*
|
||||||
$CUSTOM_BUTTONS .= img_tag('blank.' . $IMAGE_TYPE);
|
# returned explicity; *** nasty side-effect dependency! ***
|
||||||
|
print "\nadd_bbl_and_idx_dummy_commands ==> adding module index";
|
||||||
|
my $rx = "([\\\\]begin\\s*$O\\d+$C\\s*theindex[\\s\\S]*)"
|
||||||
|
. "([\\\\]begin\\s*$O\\d+$C\\s*theindex)";
|
||||||
|
s/$rx/\\textohtmlmoduleindex \1 \\textohtmlindex \2/o;
|
||||||
|
# Add a button to the navigation areas:
|
||||||
|
$CUSTOM_BUTTONS .= $my_icons{'modules'};
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
my(@parts) = split(/\\begin\s*$O\d+$C\s*theindex/);
|
$CUSTOM_BUTTONS .= $BLANK_ICON;
|
||||||
if (scalar(@parts) == 3) {
|
$global{'max_id'} = $id; # not sure why....
|
||||||
# Be careful to re-write the string in place, since $_ is *not*
|
s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
|
||||||
# returned explicity; *** nasty side-effect dependency! ***
|
|
||||||
print "\nadd_bbl_and_idx_dummy_commands ==> adding module index";
|
|
||||||
my $rx = "([\\\\]begin\\s*$O\\d+$C\\s*theindex[\\s\\S]*)"
|
|
||||||
. "([\\\\]begin\\s*$O\\d+$C\\s*theindex)";
|
|
||||||
s/$rx/\\textohtmlmoduleindex \1 \\textohtmlindex \2/o;
|
|
||||||
# Add a button to the navigation areas:
|
|
||||||
$CUSTOM_BUTTONS .= ("<a\n href=\"modindex.html\">"
|
|
||||||
. img_tag('modules.'.$IMAGE_TYPE) . "</a>");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$CUSTOM_BUTTONS .= img_tag('blank.' . $IMAGE_TYPE);
|
|
||||||
$global{'max_id'} = $id; # not sure why....
|
|
||||||
s/([\\]begin\s*$O\d+$C\s*theindex)/\\textohtmlindex $1/o;
|
|
||||||
s/[\\]printindex/\\textohtmlindex /o;
|
s/[\\]printindex/\\textohtmlindex /o;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
lib_add_bbl_and_idx_dummy_commands()
|
lib_add_bbl_and_idx_dummy_commands()
|
||||||
if defined(&lib_add_bbl_and_idx_dummy_commands);
|
if defined(&lib_add_bbl_and_idx_dummy_commands);
|
||||||
|
@ -531,24 +471,6 @@ sub set_depth_levels {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Fix from Ross Moore for ']' in \item[...]; this can be removed once the next
|
|
||||||
# patch to LaTeX2HTML is released and tested ... if the patch gets included.
|
|
||||||
# Be very careful to keep this around, just in case things break again!
|
|
||||||
#
|
|
||||||
sub protect_useritems {
|
|
||||||
local(*_) = @_;
|
|
||||||
local($preitems,$thisitem);
|
|
||||||
while (/\\item\s*\[/) {
|
|
||||||
$preitems .= $`;
|
|
||||||
$_ = $';
|
|
||||||
$thisitem = $&.'<<'.++$global{'max_id'}.'>>';
|
|
||||||
s/^(((($O|$OP)\d+($C|$CP)).*\3|<[^<>]*>|[^\]<]+)*)\]/$thisitem.=$1;''/e;
|
|
||||||
$preitems .= $thisitem . '<<' . $global{'max_id'} . '>>]';
|
|
||||||
s/^]//;
|
|
||||||
}
|
|
||||||
$_ = $preitems . $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
# This changes the markup used for {verbatim} environments, and is the
|
# This changes the markup used for {verbatim} environments, and is the
|
||||||
# best way I've found that ensures the <dl> goes on the outside of the
|
# best way I've found that ensures the <dl> goes on the outside of the
|
||||||
# <pre>...</pre>.
|
# <pre>...</pre>.
|
||||||
|
@ -566,14 +488,13 @@ sub protect_useritems {
|
||||||
# declaration; MSIE5 on NT4 SP4 barfs on it and drops the content of the
|
# declaration; MSIE5 on NT4 SP4 barfs on it and drops the content of the
|
||||||
# page.
|
# page.
|
||||||
sub make_head_and_body {
|
sub make_head_and_body {
|
||||||
local($title,$body) = @_;
|
my($title, $body) = @_;
|
||||||
local($DTDcomment) = '';
|
my $DTDcomment = '';
|
||||||
local($version,$isolanguage) = ($HTML_VERSION, 'EN');
|
my($version, $isolanguage) = ($HTML_VERSION, 'EN');
|
||||||
local(%isolanguages) = ( 'english', 'EN' , 'USenglish', 'EN.US'
|
my %isolanguages = ( 'english', 'EN' , 'USenglish', 'EN.US'
|
||||||
, 'original', 'EN' , 'german' , 'DE'
|
, 'original', 'EN' , 'german' , 'DE'
|
||||||
, 'austrian', 'DE.AT', 'french' , 'FR'
|
, 'austrian', 'DE.AT', 'french' , 'FR'
|
||||||
, 'spanish', 'ES'
|
, 'spanish', 'ES');
|
||||||
, %isolanguages );
|
|
||||||
$isolanguage = $isolanguages{$default_language};
|
$isolanguage = $isolanguages{$default_language};
|
||||||
$isolanguage = 'EN' unless $isolanguage;
|
$isolanguage = 'EN' unless $isolanguage;
|
||||||
$title = &purify($title,1);
|
$title = &purify($title,1);
|
||||||
|
|
Loading…
Reference in New Issue