bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: plan and questions for change in attributes for stricter HTML


From: Patrice Dumas
Subject: Re: plan and questions for change in attributes for stricter HTML
Date: Mon, 20 Dec 2021 23:31:12 +0100

On Mon, Dec 20, 2021 at 10:06:26PM +0000, Gavin Smith wrote:
> It would help to know which Texinfo commands were generating the
> non-standard HTML, and then it would be easier to understand if it was
> really needed.

h* align are for @centerchap, @settitle and @subtitle (@settitle 
and @subtitle probably only when some titlepage is generated),
div align for @center, p align for flushleft/flushright.

<dl compact="compact"> is for @*table.

width for @multitable are used with @columnfractions.

<hr size="6"> is for a customization of of a rule in the texi2html
style.
 
> I haven't done research into any of the output for this mail.
> 
> On Mon, Dec 20, 2021 at 8:38 PM Patrice Dumas <pertusus@free.fr> wrote:
> >
> > Hello,
> >
> > I think that it would make sense to do stricter HTML4 that is also
> > relevant for HTML5, and should also improve validity as XHTML 1.*.
> >
> > For attributes that are deprecated and were not readded in HTML5, here
> > is what I propose.  I know very little about CSS, so do not hesitate to
> > criticize.  There are also cases which I don't know how to solve, for
> > the more knowledgable in CSS.
> >
> >
> > For div, p and h* there is no align attribute anymore, my plan is to
> > replace by CSS, using class names such as center-align, left-align
> > and CSS style like:
> >  text-align:center;
> 
> I doubt there would be much use for align. If this is for @centerchap
> it is not worth worrying about and the align attribute can just be
> removed.
> 
> > I propose to replace <hr size="6"> with <hr style="height: 6px;">.
> 
> Or use a class to represent the purpose of the <hr> and give the CSS
> elsewhere. Or just do <hr> if that is acceptable.

It is a customization for the texi2html style, so class/CSS is not
possible, but it is also not needed.  In the default case, it is <hr>.

> > I did not find what to do for CSS with <dl compact="compact">, unless
> > you have ideas, I would suggest simply dropping compact="compact".
> 
> I'm happy with that. We should double check that the output looks good
> without it and use CSS if not.
> 
> > Another attribute that seems to have disappeared is width for th and td.
> > We need this one, to use it in multitable like
> >   <tbody><tr><td width="40%">multitable item</td><td width="60%">multitable 
> > tab</td></tr>
> >
> > Does anybody have an idea on what should be the replacement?
> 
> 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.

Ok.

> 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 am not mistaken, if the @mutitable columns width is specified with
prototypes, there are no width, there are width only if specified with
@columnfractions.  I did not check.

> You'll see in the attached file, which I hand-edited to remove the
> width attributes, that the output can look better without them.

> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
> "http://www.w3.org/TR/html4/loose.dtd";>
> <!-- saved from 
> url=(0082)https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multitable-Rows.html
>  -->
> <html><!-- Created by GNU Texinfo 6.7.92, 
> https://www.gnu.org/software/texinfo/ --><head><meta 
> http-equiv="Content-Type" content="text/html; charset=UTF-8">
> 
> <!-- This manual is for GNU Texinfo (version 6.8, 8 June 2021),
> a documentation system that can produce both online information and a
> printed manual from a single source using semantic markup.
> 
> Copyright (C) 1988, 1990-1993, 1995-1999, 2001-2021 Free Software Foundation, 
> Inc.
> 
> Permission is granted to copy, distribute and/or modify this document
> under the terms of the GNU Free Documentation License, Version 1.3 or
> any later version published by the Free Software Foundation; with no
> Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
> Texts.  A copy of the license is included in the section entitled
> "GNU Free Documentation License". -->
> <title>Multitable Rows (GNU Texinfo 6.8)</title>
> 
> <meta name="description" content="Multitable Rows (GNU Texinfo 6.8)">
> <meta name="keywords" content="Multitable Rows (GNU Texinfo 6.8)">
> <meta name="resource-type" content="document">
> <meta name="distribution" content="global">
> <meta name="Generator" content="makeinfo">
> <meta name="viewport" content="width=device-width,initial-scale=1">
> 
> <link 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/index.html";
>  rel="start" title="Top">
> <link 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Command-and-Variable-Index.html";
>  rel="index" title="Command and Variable Index">
> <link 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/index.html#SEC_Contents";
>  rel="contents" title="Table of Contents">
> <link 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multi_002dcolumn-Tables.html";
>  rel="up" title="Multi-column Tables">
> <link 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multitable-Column-Widths.html";
>  rel="prev" title="Multitable Column Widths">
> <style type="text/css">
> <!--
> a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 
> 0em}
> a.summary-letter {text-decoration: none}
> blockquote.indentedblock {margin-right: 0em}
> div.display {margin-left: 3.2em}
> div.example {margin-left: 3.2em}
> kbd {font-style: oblique}
> pre.display {font-family: inherit}
> pre.format {font-family: inherit}
> pre.menu-comment {font-family: serif}
> pre.menu-preformatted {font-family: serif}
> span.nolinebreak {white-space: nowrap}
> span.roman {font-family: initial; font-weight: normal}
> span.sansserif {font-family: sans-serif; font-weight: normal}
> span:hover a.copiable-anchor {visibility: visible}
> ul.no-bullet {list-style: none}
> -->
> </style>
> 
> 
> </head>
> 
> <body lang="en">
> <div class="subsection" id="Multitable-Rows">
> <div class="header">
> <p>
> Previous: <a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multitable-Column-Widths.html";
>  accesskey="p" rel="prev">Multitable Column Widths</a>, Up: <a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multi_002dcolumn-Tables.html";
>  accesskey="u" rel="up"><code>@multitable</code>: Multi-column Tables</a> 
> &nbsp; [<a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/index.html#SEC_Contents";
>  title="Table of contents" rel="contents">Contents</a>][<a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Command-and-Variable-Index.html";
>  title="Index" rel="index">Index</a>]</p>
> </div>
> <hr>
> <span id="Multitable-Rows-1"></span><h4 class="subsection">8.5.2 Multitable 
> Rows</h4>
> 
> <span id="index-Multitable-rows"></span>
> <span id="index-Rows_002c-of-a-multitable"></span>
> 
> <span id="index-item-2"></span>
> <span id="index-tab"></span>
> <p>After the <code>@multitable</code> command defining the column widths (see
> the previous section), you begin each row in the body of a multitable
> with <code>@item</code>, and separate the column entries with 
> <code>@tab</code>.
> Line breaks are not special within the table body, and you may break
> input lines in your source file as necessary.
> </p>
> <span id="index-headitem"></span>
> <span id="index-Heading-row_002c-in-table"></span>
> <span id="index-_003cthead_003e-HTML_002fXML-tag"></span>
> <p>You can also use <code>@headitem</code> instead of <code>@item</code> to 
> produce
> a <em>heading row</em>.  The TeX output for such a row is in bold, and
> the HTML and DocBook output uses the <code>&lt;thead&gt;</code> tag.  In 
> Info, the
> heading row is followed by a separator line made of dashes (‘<samp>-</samp>’
> characters).
> </p>
> <span id="index-headitemfont"></span>
> <span id="index-Font-for-multitable-heading-rows"></span>
> <p>The command <code>@headitemfont</code> can be used in templates when the
> entries in a <code>@headitem</code> row need to be used in a template.  It
> is a synonym for <code>@b</code>, but using <code>@headitemfont</code> avoids
> any dependency on that particular font style, in case we provide a way
> to change it in the future.
> </p>
> <p>Here is a complete example of a multi-column table (the text is from
> <cite>The GNU Emacs Manual</cite>, see <a data-manual="emacs" 
> href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html#Split-Window";>Splitting
>  Windows</a> in <cite>The GNU Emacs Manual</cite>):
> </p>
> <div class="example">
> <pre class="example">@multitable @columnfractions .15 .45 .4
> @headitem Key @tab Command @tab Description
> @item C-x 2
> @tab @code{split-window-vertically}
> @tab Split the selected window into two windows,
> with one above the other.
> @item C-x 3
> @tab @code{split-window-horizontally}
> @tab Split the selected window into two windows
> positioned side by side.
> @item C-Mouse-2
> @tab
> @tab In the mode line or scroll bar of a window,
> split that window.
> @end multitable
> </pre></div>
> 
> <p>produces:
> </p>
> <table>
> <thead><tr><th width="15%">Key</th><th width="45%">Command</th><th 
> width="40%">Description</th></tr></thead>
> <tbody><tr><td width="15%">C-x 2</td><td 
> width="45%"><code>split-window-vertically</code></td><td width="40%">Split 
> the selected window into two windows,
> with one above the other.</td></tr>
> <tr><td width="15%">C-x 3</td><td 
> width="45%"><code>split-window-horizontally</code></td><td width="40%">Split 
> the selected window into two windows
> positioned side by side.</td></tr>
> <tr><td width="15%">C-Mouse-2</td><td width="45%"></td><td width="40%">In the 
> mode line or scroll bar of a window,
> split that window.</td></tr>
> </tbody></table>
> 
> <table>
> <thead><tr><th>Key</th><th>Command</th><th>Description</th></tr></thead>
> <tbody><tr><td>C-x 
> 2</td><td><code>split-window-vertically</code></td><td>Split the selected 
> window into two windows,
> with one above the other.</td></tr>
> <tr><td>C-x 3</td><td><code>split-window-horizontally</code></td><td>Split 
> the selected window into two windows
> positioned side by side.</td></tr>
> <tr><td>C-Mouse-2</td><td></td><td>In the mode line or scroll bar of a window,
> split that window.</td></tr>
> </tbody></table>
> 
> 
> </div>
> <hr>
> <div class="header">
> <p>
> Previous: <a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multitable-Column-Widths.html";>Multitable
>  Column Widths</a>, Up: <a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Multi_002dcolumn-Tables.html";><code>@multitable</code>:
>  Multi-column Tables</a> &nbsp; [<a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/index.html#SEC_Contents";
>  title="Table of contents" rel="contents">Contents</a>][<a 
> href="https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Command-and-Variable-Index.html";
>  title="Index" rel="index">Index</a>]</p>
> </div>
> 
> 
> 
> 
> 
> </body></html>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]