|
From: Guenter M. <mi...@us...> - 2024-06-21 08:40:44
|
Dear Alan, Karl, and Docutils developers,
On 2024-06-20, Karl O. Pinc wrote:
> On Thu, 20 Jun 2024 Alan <ala...@gm...> wrote:
Thanks for the feedback.
It seems there is an emerging consensus regarding footnotes and citations.
Changing the "document tree" description (docutils.dtd) will not prevent
the creation of footnotes/labels without label or content.
The only immediately visibly change for users would be that
docutils --validate a-document-with-faulty-footnote.rst
would generate an "invalid element" warning.
Also, it would make clear that there is no longer a guarantee that these
constructs work with Docutils. (We may remove some test cases.)
Developers of writers or plug-ins would gain from a simpler and consistent
documentation. Their task becomes easier, as they do no longer have to make
sure the new component supports footnotes/citations without label or content.
(In the long term, this may also lead to missing support for these
constructs in the Docutils writers.)
>> - citations without content: I've never seen it
>> - footnotes without content or without "label": I've never seen it
Which leaves figures:
>> - figures without caption/legend: no "legend" is reasonably common,
>> but no caption is extremely rare and is a need met by `image` (I
>> believe)
> Figures with no caption would still show up in the TOCs list
> of figures. (Or whereever that list shows up.) At least
> in docbook. I think. Although I don't know how useful that'd
> be since no description would be listed. I suppose it'd have a figure
> number, which is not entirely useless.
...
> Anyway, the big difference between figures and images,
> in my mind, is that figures tend to appear in some sort
> of listing somewhere and images don't.
Also, figures tend to "flow" to a suitable position in page-based media.
Let's have a look at the current behaviour with various writers:
Input::
.. image:: docs/user/images/default.png
.. figure:: docs/user/images/default.png
HTML5
just uses a <figure> wrapper (like XML and pseudoXML)::
<img alt="docs/user/images/default.png" src="docs/user/images/default.png" />
<figure>
<img alt="docs/user/images/default.png" src="docs/user/images/default.png" />
</figure>
The effect depends on CSS styling: a <figure> may float or get a figure
number. With the default styles, a figure is set with wider margins on
both sides. The figure number (cf. `numbered figures`__) is only shown
if there is a caption but this is an CSS implementation detail.
__ https://docutils.sourceforge.io/test/functional/expected/standalone_rst_html5.html#numbered-figures)
LaTeX
wraps a figure in a figure float and centre-aligns it::
\includegraphics{docs/user/images/default.png}
\begin{figure}
\noindent\makebox[\linewidth][c]{\includegraphics{docs/user/images/default.png}}\end{figure}
As a result, a figure will usually move to a suitable place on the top of
a page.
However, a figure without caption does not get a figure number and is not
included in the List of Figures.¹
¹ A list of figures is not supported by Docutils but can be inserted
with raw LaTeX.
ODT
uses a figure frame with empty caption field for the figure.
However, a figure without caption will not get a figure number and not
be listed in the List of Figures.¹
¹ A list of figures is not supported by Docutils but can be inserted
in the LibreOfficeWriter.
A use case would be an illustration with the caption already included in
the image file, that should flow in LaTeX and/or use a consistent CSS
figure-layout in HTML.
It seems a rare case and support is patchy, so it is, IMO,
be OK if validation issues a warning.
* Should the rST user documentation
https://docutils.sourceforge.io/docs/ref/rst/directives.html#figure
be updated/expanded to warn that missing both caption and legend results
in an invalid <figure> element (suggestions on how to formulate this are
welcome)?
* Should the rST parser report a warning or an error in addition to the
warning with "--validate"?
Günter
|