diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl
index 0085152631d..30361a79af1 100644
--- a/Doc/perl/l2hinit.perl
+++ b/Doc/perl/l2hinit.perl
@@ -28,40 +28,6 @@ $ICONSERVER = '../icons';
$CHILDLINE = "\n
\n";
$VERBOSITY = 0;
-$TEXINPUTS = ''; # avoid bogus l2h setting it to ':' !!!
-
-
-sub absolutize_path{
- my $path = @_[0];
- my $npath = '';
- foreach $dir (split $envkey, $path) {
- $npath .= make_directory_absolute($dir) . $envkey;
- }
- $npath =~ s/$envkey$//;
- $npath;
-}
-# This is done because latex2html doesn't do this for us, but does change the
-# directory out from under us.
-if (defined $ENV{'TEXINPUTS'}) {
- $ENV{'TEXINPUTS'} = absolutize_path($ENV{'TEXINPUTS'});
-}
-
-# Locate a file that's been "require"d. Assumes that the file name of interest
-# is unique within the set of loaded files, after directory names have been
-# stripped. Only the directory is returned.
-#
-sub find_my_file{
- my($myfile,$key,$tmp,$mydir) = (@_[0], '', '', '');
- foreach $key (keys %INC) {
- $tmp = "$key";
- $tmp =~ s|^.*/||o;
- if ($tmp eq $myfile) {
- $mydir = $INC{$key};
- }
- }
- $mydir =~ s|/[^/]*$||;
- $mydir;
-}
# A little painful, but lets us clean up the top level directory a little,
@@ -79,6 +45,35 @@ $LATEX2HTMLSTYLES = "$mydir$envkey$LATEX2HTMLSTYLES";
chop $myrootdir;
+# Hackish way to get the appropriate paper-*/ directory into $TEXINPUTS;
+# pass in the paper size (a4 or letter) as the environment variable PAPER
+# to add the right directory. If not given, the current directory is
+# added instead for use with HOWTO processing.
+#
+if (defined $ENV{'PAPER'}) {
+ $mytexinputs = "$myrootdir${dd}paper-$ENV{'PAPER'}$envkey";
+}
+else {
+ $mytexinputs = getcwd() . $envkey;
+}
+$mytexinputs .= "$myrootdir${dd}texinputs";
+
+
+sub custom_driver_hook{
+ #
+ # This adds the directory of the main input file to $TEXINPUTS; it
+ # seems to be sufficiently general that it should be fine for HOWTO
+ # processing.
+ #
+ my $file = @_[0];
+ my($jobname,$dir,$ext) = fileparse($file, '\..*');
+ $dir = make_directory_absolute($dir);
+ $dir =~ s/$dd$//;
+ $TEXINPUTS = "$dir$envkey$mytexinputs";
+ print "\nadding $dir to \$TEXINPUTS\n";
+}
+
+
sub make_nav_panel{
($NEXT_TITLE ? $NEXT : '')
. ($UP_TITLE ? $UP : '')
diff --git a/Doc/tools/mkhtml.sh b/Doc/tools/mkhtml.sh
index d6e8508b96d..68810f01945 100755
--- a/Doc/tools/mkhtml.sh
+++ b/Doc/tools/mkhtml.sh
@@ -19,10 +19,11 @@ if [ -d $part ] ; then
rm -f $part/*.html
fi
-echo "latex2html -init_file $srcdir/perl/l2hinit.perl ${1:+$@} " \
- "$srcdir/$part/$part.tex"
+echo "latex2html -init_file $srcdir/perl/l2hinit.perl -dir $part " \
+ "${1:+$@} $srcdir/$part/$part.tex"
latex2html \
-init_file $srcdir/perl/l2hinit.perl \
+ -dir $part \
${1:+$@} \
$srcdir/$part/$part.tex