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