On Mon, Dec 20, 2021 at 07:36:17PM -0600, Jacob Bachmeyer wrote:
> Gavin Smith wrote:
> > [...]
> >
> > The width specifications seem to be the most appropriate for printed
> > output. Often when specifying a @multitable the user wouldn't care
> > about the column widths. Maybe the browser can do a good job at the
> > layout without them. However, it could matter in some cases. I would
> > say there is no rush to replace this. We should check the effects on
> > various Texinfo documents before making any change.
> >
> > If the column width specifications are not optional in the Texinfo
> > language (I didn't check, but I suspect they aren't), then making them
> > optional would be a first step. Then we could see how often users
> > actually wanted to specify the widths.
>
> If I understand correctly, TeX requires table column widths to be specified
> somehow, but HTML does not, so simply ignoring the specified widths and
> letting the HTML renderer handle it may be appropriate here. I think we
> would have to see what effects removing this has on various manuals.
>
> Otherwise, the CSS "width" attribute should be sufficient on the first row
> of the table, provided no cells in that row use "colspan" attributes.
I have a lot of Texinfo manuals saved on my hard disk. I searched them
for @columnfractions and attached is an excerpt from the first one I looked at,
"idlwave.texi" (the IDLWAVE User Manual, version 6.1, from April 2007).
When built with
./texi2any.pl --html --no-split tmp.texi -o widths.html --force
you see that the columns of the second table align with those of
the first.
When adapted to omit the width attributes, the file 'nowidths.html'
results, and you can see the vertical alignment is broken.
Arguably, it doesn't matter in this case as the two tables are
being used for different things (if you read the text, the
first column in the first table is for "categories" and in the
second table it is text in a help buffer).
However, you can imagine that you might have two similarly formatted,
semantically linked tables with intervening text when aligning
the columns of the two tables would be felicitous.
Another thought I had is that the <img> tag still has non-deprecated
height and width attributes.
tmp.texi
Description: TeXInfo document
Title: Untitled Document
Test
If a definition of this routine exists in several files accessible to
IDLWAVE, several ‘Source’ lines will point to the different
files. This may indicate that your routine is shadowing a system
library routine, which may or may not be what you want
(see ‘Load-Path Shadows’). The information about the calling
sequence and keywords is derived from the first source listed.
Library routines are available only if you have scanned your local IDL
directories or are using pre-scanned libraries (see ‘Catalogs’).
The source entry consists of a source category, a set of
flags and the path to the source file. The following
default categories exist:
| System | A system routine of unknown origin. When the system library has
been scanned as part of a catalog (see ‘Catalogs’), this category
will automatically split into the next two. |
| Builtin | A builtin system routine with no source code available. |
| SystemLib | A library system routine in the official lib directory !DIR/lib. |
| Obsolete | A library routine in the official lib directory !DIR/lib/obsolete. |
| Library | A routine in a file on IDL’s search path !PATH. |
| Other | Any other routine with a file not known to be on the search path. |
| Unresolved | An otherwise unknown routine the shell lists as unresolved
(referenced, but not compiled). |
Any routines discovered in library catalogs (see ‘Library
Catalogs’), will display the category assigned during creation,
e.g., ‘NasaLib’. For routines not discovered in this way, you can
create additional categories based on the routine’s filename using the
variable idlwave-special-lib-alist.
The flags [LCSB] indicate the source of the information IDLWAVE
has regarding the file: from a library catalog ([L---]),
from a user catalog ([-C--], from the IDL Shell
([--S-]) or from an Emacs buffer ([---B]).
Combinations are possible (a compiled library routine visited in a
buffer might read [L-SB]). If a file contains multiple
definitions of the same routine, the file name will be prefixed with
‘(Nx)’ where ‘N’ is the number of definitions.
Some of the text in the *Help* routine info buffer will be active
(it is highlighted when the mouse moves over it). Typically, clicking
with the right mouse button invokes online help lookup, and clicking
with the middle mouse button inserts keywords or visits files:
| Usage | If online help is installed, a click with the right mouse
button on the Usage: line will access the help for the
routine (see ‘Online Help’). |
| Keyword | Online help about keywords is also available with the
right mouse button. Clicking on a keyword with the middle
mouse button will insert this keyword in the buffer from where
idlwave-routine-info was called. Holding down SHIFT while
clicking also adds the initial ‘/’. |
| Source | Clicking with the middle mouse button on a ‘Source’ line
finds the source file of the routine and visits it in another window.
Another click on the same line switches back to the buffer from which
C-c ? was called. If you use the right mouse button, the
source will not be visited by a buffer, but displayed in the online help
window. |
| Classes | The Classes line is only included in the routine info window if
the current class inherits from other classes. You can click with the
middle mouse button to display routine info about the current
method in other classes on the inheritance chain, if such a method
exists there. |
|
Title: Untitled Document
Test
If a definition of this routine exists in several files accessible to
IDLWAVE, several ‘Source’ lines will point to the different
files. This may indicate that your routine is shadowing a system
library routine, which may or may not be what you want
(see ‘Load-Path Shadows’). The information about the calling
sequence and keywords is derived from the first source listed.
Library routines are available only if you have scanned your local IDL
directories or are using pre-scanned libraries (see ‘Catalogs’).
The source entry consists of a source category, a set of
flags and the path to the source file. The following
default categories exist:
| System | A system routine of unknown origin. When the system library has
been scanned as part of a catalog (see ‘Catalogs’), this category
will automatically split into the next two. |
| Builtin | A builtin system routine with no source code available. |
| SystemLib | A library system routine in the official lib directory !DIR/lib. |
| Obsolete | A library routine in the official lib directory !DIR/lib/obsolete. |
| Library | A routine in a file on IDL’s search path !PATH. |
| Other | Any other routine with a file not known to be on the search path. |
| Unresolved | An otherwise unknown routine the shell lists as unresolved
(referenced, but not compiled). |
Any routines discovered in library catalogs (see ‘Library
Catalogs’), will display the category assigned during creation,
e.g., ‘NasaLib’. For routines not discovered in this way, you can
create additional categories based on the routine’s filename using the
variable idlwave-special-lib-alist.
The flags [LCSB] indicate the source of the information IDLWAVE
has regarding the file: from a library catalog ([L---]),
from a user catalog ([-C--], from the IDL Shell
([--S-]) or from an Emacs buffer ([---B]).
Combinations are possible (a compiled library routine visited in a
buffer might read [L-SB]). If a file contains multiple
definitions of the same routine, the file name will be prefixed with
‘(Nx)’ where ‘N’ is the number of definitions.
Some of the text in the *Help* routine info buffer will be active
(it is highlighted when the mouse moves over it). Typically, clicking
with the right mouse button invokes online help lookup, and clicking
with the middle mouse button inserts keywords or visits files:
| Usage | If online help is installed, a click with the right mouse
button on the Usage: line will access the help for the
routine (see ‘Online Help’). |
| Keyword | Online help about keywords is also available with the
right mouse button. Clicking on a keyword with the middle
mouse button will insert this keyword in the buffer from where
idlwave-routine-info was called. Holding down SHIFT while
clicking also adds the initial ‘/’. |
| Source | Clicking with the middle mouse button on a ‘Source’ line
finds the source file of the routine and visits it in another window.
Another click on the same line switches back to the buffer from which
C-c ? was called. If you use the right mouse button, the
source will not be visited by a buffer, but displayed in the online help
window. |
| Classes | The Classes line is only included in the routine info window if
the current class inherits from other classes. You can click with the
middle mouse button to display routine info about the current
method in other classes on the inheritance chain, if such a method
exists there. |
|