#LaTeX2HTML Version 96.1 : dot.latex2html-init -*- perl -*- # $INFO = 1; # 0 = do not make a "About this document..." section $MAX_LINK_DEPTH = 3; # Python documentation uses section numbers to support references to match # in the printed and online versions. # $SHOW_SECTION_NUMBERS = 1; $HTML_VERSION = '3.0'; $ICONSERVER = '../icons'; # This replacement adds the "BORDER=0" attribute to the generated icon # markup. This is done for no better reason than that it looks better. # sub img_tag { local($icon) = @_; ( ($icon =~ /(gif)/) ? do { $icon =~ /(up|next|previous|next_page|previous_page|change_begin|change_end|change_delete|contents|index)/; join('','',$1,
	      '') } : $icon); } # This replacement for process_command() is needed to add the case for # "\,"; it is unfortunate we need to do it this way. # sub process_command { local ($cmd_rx, *ref_contents) = @_; local($ref_before, $cmd, $after); local($cmd_sub, $cmd_msub, $cmd_trans, $mathentity); local (@open_font_tags,@open_size_tags); $ref_contents = &convert_iso_latin_chars($ref_contents); for (;;) { # Do NOT use the o option last unless ($ref_contents =~ /$cmd_rx/ ); ($ref_before, $cmd, $after) = ($`, $1, "$2$'"); print("."); # $after =~ s/^[ ]+/ /o; Collapse all spaces that follow a command if ($cmd =~ /[a-zA-Z]$/) { # Eat redundant spaces that follow a command $after =~ s/^[ \t]+//o; } else { $after =~ s/^[ \t]+/ /o; } if ( $cmd = &normalize($cmd) ) { ($cmd_sub, $cmd_msub, $cmd_trans, $mathentity) = ("do_cmd_$cmd", "do_math_cmd_$cmd", $declarations{$cmd}, $mathentities{$cmd}); if (defined &$cmd_sub) { # $ref_before may also be modified ... if ($cmd =~ /$sizechange_rx/o) { $after = &$cmd_sub($after, @open_size_tags); } else { $after = &$cmd_sub($after, @open_font_tags); }; } elsif (defined &$cmd_msub) { # $ref_before may also be modified ... $after = &$cmd_msub($after, @open_font_tags); if ( !$math_mode ) { $after = "" . $after . ""; ++$commands_outside_math{$cmd}; }; } elsif ($cmd_trans) { # One to one transform $cmd_trans =~ m|&$mathentity;" . $after; ++$commands_outside_math{$cmd}; }; } # Here's the hack: elsif ($cmd == ',' && ! $AUX_FILE) { $ref_before = $ref_before . ","; } elsif ($ignore{$cmd}) { # Ignored command print "."} elsif ($cmd =~ /^the(.+)$/) { # Counter $counter = $1; $after = &do_cmd_thecounter($after);} else { # Do not add if reading an auxiliary file ++$unknown_commands{$cmd} unless $AUX_FILE; } } $ref_contents = join('', $ref_before, $after); } $ref_contents; } sub top_navigation_panel { # Now add a few buttons with a space between them "\n" } sub bot_navigation_panel { # Start with a horizontal rule (3-d dividing line) "\n\n" } # similar to make_index_entry(), but includes the string in the result # instead of the dummy filler. # sub make_str_index_entry { local($br_id,$str) = @_; # If TITLE is not yet available (i.e the \index command is in the title # of the current section), use $ref_before. $TITLE = $ref_before unless $TITLE; # Save the reference local($nstr) = "$str###" . ++$global{'max_id'}; # Make unique $index{$nstr} .= &make_half_href("$CURRENT_FILE#$br_id"); "$str<\/a>"; } sub add_idx { print "\nDoing the index ..."; local($key, $str, @keys, $index, $level, $count, @previous, @current); @keys = keys %index; @keys = sort keysort @keys; $level = 0; foreach $key (@keys) { @current = split(/!/, $key); $count = 0; while ($current[$count] eq $previous[$count]) { $count++; } while ($count > $level) { $index .= "
\n"; $level++; } while ($count < $level) { $index .= "
\n"; $level--; } foreach $term (@current[$count .. $#current-1]) { # need to "step in" a little $index .= "
" . $term . "\n
\n"; $level++; } $str = $current[$#current]; $str =~ s/\#\#\#\d+$//o; # Remove the unique id's $index .= #$index{$key} . # If it's the same string don't start a new line (&index_key_eq(join('',@current), join('',@previous)) ? ", $index{$key}" . $cross_ref_visible_mark . "\n" : "
$index{$key}" . $str . "\n"); @previous = @current; } while ($count < $level) { $index .= "
\n"; $level--; } s/$idx_mark/
$index<\/dl>/o; } # need to remove leading <...> sub clean_key { local ($_) = @_; tr/A-Z/a-z/; s/\s//; s/\#\#\#\d+$//o; # Remove the unique id s/^<[a-z][-._a-z0-9]*>//; # Remove leading $_ } 1; # This must be the last line