This is a followup on my reported problems.
It includes very dirty workarounds which fixed the problem
for me and in the moment being. Some more details for proper
debugging are included. (Would have helped if I knew perl better.)
Image creation, writing of *images.tex:
In latex2html:
The more global variable $preamble in sub make_latex
already contains the offending line, when it is called from
sub make_image_file.
So just replacing the '<' character with an TeX commentchar '%'
in $preamble is the dirty fix.
Adding line
$preamble =~ s/^</%/m; # replace '<' as first char on a line with '%'
after
$preamble =~ s/\\par([^A-Za-z]|$)/\n$1/g;
in sub make_latex{ (about line 6698)
See the attached patch.
natbib bombing:
The offending lines start at 842 in styles/natbib.perl
and they seems to deal with not redefining sub do_real_harvarditem.
I commented them out. (See the attached patch)
The problem here seems to be that perl on Solaris is using "sh"
as command default interpreter for exec. This is really a borne shell!
(And not a bash as some Linux people tend to forget. ;-> )
Kind Regards,
Bernhard Reiter
@@ -6694,7 +6696,10 @@
# Make the @ character a normal letter ...
$preamble =~ s/\\par([^A-Za-z]|$)/\n$1/g;
+ print "\nPREAMBLE: $preamble" if (($preamble)&&($VERBOSITY > 1));
+ $preamble =~ s/^</%/m; # replace '<' as first char on a line with '%'
$preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n/;
+ print "\nPREAMBLE: $preamble" if (($preamble)&&($VERBOSITY > 1));
# $preamble =~ s/(\\document(class|style)(\[[^\]]+\])?\{\w+\})/$1\n\\makeatletter/;
# ... and make it special again after the preamble
# remove the \begin/\end for tex2html_nowrap and tex2html_deferred environments
--- styles/natbib.perl.org Mon Dec 14 17:45:08 1998
+++ styles/natbib.perl Mon Dec 14 17:46:00 1998
@@ -839,11 +839,12 @@
}
}
-if (!(defined &do_cmd_harvarditem)) {
- exec 'sub do_cmd_harvarditem { &do_real_harvarditem($CURRENT_FILE, @_) }';
-} else {
- print "\n *** sub do_cmd_harvarditem is already defined. ***\n"
-}
+#if (!(defined &do_cmd_harvarditem)) {
+# exec 'sub do_cmd_harvarditem { &do_real_harvarditem($CURRENT_FILE, @_) }';
+#} else {
+# print "\n *** sub do_cmd_harvarditem is already defined. ***\n"
+#}
+
sub do_real_harvarditem {
# natbib.sty also reads files created by harvard bibstyles
# (harvard, kluwer, ...)
PGP signature