On Sat, Jun 01, 2024 at 08:17:32PM -0400, Dennis Clarke wrote:
> <table class="multitable">
> -<thead><tr><th width="60%">mu–ltitable headitem</th><th
> width="70%">another tab</th></tr></thead>
> +<thead><tr><th width="59%">mu–ltitable headitem</th><th
> width="70%">another tab</th></tr></thead>
This seems like a rounding issue of @multitable @columnfractions that is
not reliable with the format used in 7.1. It should be fixed in the
development version by this commit:
https://git.savannah.gnu.org/cgit/texinfo.git/commit/?id=62c5b6894b6d8922d21f77137e80f92843d2c08e
I also ran into that issue myself, I believe by comparing the Perl and C
implementation, and I found out that the %d format was less reliable
than %0.f. My guess is that you ran into a similar issue, probably the
rounding of %d format in Perl is processor/libc/compiler/Perl version
dependent.
I checked that the patch does not apply cleanly on 7.1. I attach a
rebased patch that you could apply to check on 7.1.
--
Pat
Only in texinfo-7.1-new/tp/t: output_files
diff -ur texinfo-7.1/tp/Texinfo/Convert/HTML.pm texinfo-7.1-new/tp/Texinfo/Convert/HTML.pm
--- texinfo-7.1/tp/Texinfo/Convert/HTML.pm 2023-10-18 15:10:12.000000000 +0200
+++ texinfo-7.1-new/tp/Texinfo/Convert/HTML.pm 2024-06-02 08:25:13.602227480 +0200
@@ -5256,7 +5256,7 @@
my $cf = $multitable->{'extra'}->{'columnfractions'};
if ($cf) {
if (exists($cf->{'extra'}->{'misc_args'}->[$cell_nr-1])) {
- my $fraction = sprintf('%d',
+ my $fraction = sprintf('%.0f',
100*$cf->{'extra'}->{'misc_args'}->[$cell_nr-1]);
$fractions = " width=\"$fraction%\"";
}