From 8ee3b5c9bd76c76a8b5010bcfdd6fc2731635a03 Mon Sep 17 00:00:00 2001
From: milde
Date: Fri, 6 Mar 2015 15:43:11 +0000
Subject: [PATCH] New CSS 2.1 style-sheet for xhtml11 writer.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@7809 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
---
HISTORY.txt | 7 +-
docs/user/rst/images/biohazard-bitmap.svg | 50 +++
docutils/writers/html4css1/__init__.py | 14 +-
docutils/writers/xhtml11/__init__.py | 200 ++++++---
docutils/writers/xhtml11/html-base.css | 492 ++++++++++++++++++++
docutils/writers/xhtml11/xhtml11.css | 493 +++++----------------
.../expected/standalone_rst_xhtml11.xhtml | 194 ++++----
test/functional/input/data/html-base.css | 1 +
test/functional/input/data/svg_images.txt | 38 +-
test/functional/input/standalone_rst_xhtml11.txt | 52 ++-
test/functional/tests/standalone_rst_xhtml11.py | 4 +-
11 files changed, 959 insertions(+), 586 deletions(-)
create mode 100644 docs/user/rst/images/biohazard-bitmap.svg
create mode 100644 docutils/writers/xhtml11/html-base.css
rewrite docutils/writers/xhtml11/xhtml11.css (73%)
create mode 120000 test/functional/input/data/html-base.css
diff --git a/HISTORY.txt b/HISTORY.txt
index 0b73bd5af..44f25ee83 100644
--- a/HISTORY.txt
+++ b/HISTORY.txt
@@ -43,14 +43,9 @@ Changes Since 0.12
* docutils/writers/xhtml11/
- - New HTML writer generating `XHTML1.1`_ styled with CSS2.
+ - New HTML writer generating `XHTML1.1`_ styled with CSS2.1
Moved to the docutils core from sandbox/html4strict.
- - Wrap SVG images in tags not .
- Addresses bug [ 247 ], but rendering problems remain
- (see test/functional/expected/standalone_rst_xhtml11.xhtml),
- so we might need a config setting.
-
.. _XHTML1.1: http://www.w3.org/TR/xhtml11/
* docutils/writers/latex2e/__init__.py
diff --git a/docs/user/rst/images/biohazard-bitmap.svg b/docs/user/rst/images/biohazard-bitmap.svg
new file mode 100644
index 000000000..8b92ff1b6
--- /dev/null
+++ b/docs/user/rst/images/biohazard-bitmap.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+ turned
+
diff --git a/docutils/writers/html4css1/__init__.py b/docutils/writers/html4css1/__init__.py
index 9ceb7fde1..e031367b3 100644
--- a/docutils/writers/html4css1/__init__.py
+++ b/docutils/writers/html4css1/__init__.py
@@ -305,7 +305,8 @@ class HTMLTranslator(nodes.NodeVisitor):
# A heterogenous stack used in conjunction with the tree traversal.
# Make sure that the pops correspond to the pushes:
self.context = []
- self.topic_classes = []
+
+ self.topic_classes = [] # TODO: replace with self_in_contents
self.colspecs = []
self.compact_p = True
self.compact_simple = False
@@ -568,6 +569,7 @@ class HTMLTranslator(nodes.NodeVisitor):
and 'open' not in node['classes']
and (self.compact_simple
or self.topic_classes == ['contents']
+ # TODO: self.in_contents
or self.check_simple_list(node))))
def visit_bullet_list(self, node):
@@ -964,11 +966,10 @@ class HTMLTranslator(nodes.NodeVisitor):
self.context.append(''
% backrefs[0])
else:
- i = 1
- for backref in backrefs:
+ # Python 2.4 fails with enumerate(backrefs, 1)
+ for (i, backref) in enumerate(backrefs):
backlinks.append(' %s '
- % (backref, i))
- i += 1
+ % (backref, i+1))
self.context.append('(%s) ' % ', '.join(backlinks))
self.context += ['', '']
else:
@@ -1676,10 +1677,13 @@ class HTMLTranslator(nodes.NodeVisitor):
def visit_topic(self, node):
self.body.append(self.starttag(node, 'div', CLASS='topic'))
self.topic_classes = node['classes']
+ # TODO: replace with ::
+ # self.in_contents = 'contents' in node['classes']
def depart_topic(self, node):
self.body.append('\n')
self.topic_classes = []
+ # TODO self.in_contents = False
def visit_transition(self, node):
self.body.append(self.emptytag(node, 'hr', CLASS='docutils'))
diff --git a/docutils/writers/xhtml11/__init__.py b/docutils/writers/xhtml11/__init__.py
index e95d75e97..f28a98d9c 100644
--- a/docutils/writers/xhtml11/__init__.py
+++ b/docutils/writers/xhtml11/__init__.py
@@ -40,12 +40,13 @@ class Writer(html4css1.Writer):
'xhtml11', 'xhtml1css2')
"""Formats this writer supports."""
- default_stylesheets = ['html4css1.css', 'xhtml11.css']
+ default_stylesheets = ['html-base.css', 'xhtml11.css']
default_stylesheet_dirs = ['.',
os.path.abspath(os.path.dirname(__file__)),
+ # for math.css:
os.path.abspath(os.path.join(
os.path.dirname(os.path.dirname(__file__)), 'html4css1'))
- ]
+ ]
config_section = 'xhtml11 writer'
config_section_dependencies = ('writers', 'html4css1 writer')
@@ -97,6 +98,9 @@ class HTMLTranslator(html4css1.HTMLTranslator):
' xml:lang="%(lang)s">\n\n')
lang_attribute = 'xml:lang' # changed from 'lang' in XHTML 1.0
+ def __init__(self, document):
+ html4css1.HTMLTranslator.__init__(self, document)
+ self.in_footnote_list = False
# Do not mark the first child with 'class="first"' and the last
# child with 'class="last"' in definitions, table cells, field
@@ -108,9 +112,10 @@ class HTMLTranslator(html4css1.HTMLTranslator):
# Compact lists
# ------------
- # Include field lists (in addition to ordered and unordered lists)
- # in the test if a list is "simple" (cf. the html4css1.HTMLTranslator
- # docstring and the SimpleListChecker class at the end of this file).
+ # Include definition lists and field lists (in addition to ordered
+ # and unordered lists) in the test if a list is "simple" (cf. the
+ # html4css1.HTMLTranslator docstring and the SimpleListChecker class at
+ # the end of this file).
def is_compactable(self, node):
# print "is_compactable %s ?" % node.__class__,
@@ -122,8 +127,9 @@ class HTMLTranslator(html4css1.HTMLTranslator):
# print "explicitely open"
return False
# check config setting:
- if (isinstance(node, nodes.field_list) and
- not self.settings.compact_field_lists):
+ if (isinstance(node, nodes.field_list) or
+ isinstance(node, nodes.definition_list)
+ ) and not self.settings.compact_field_lists:
# print "`compact-field-lists` is False"
return False
if (isinstance(node, nodes.enumerated_list) or
@@ -132,8 +138,7 @@ class HTMLTranslator(html4css1.HTMLTranslator):
# print "`compact-lists` is False"
return False
# more special cases:
- if (self.compact_simple or self.topic_classes == ['contents']):
- # print "self.compact_simple is True"
+ if (self.topic_classes == ['contents']): # TODO: self.in_contents
return True
# check the list items:
visitor = SimpleListChecker(self.document)
@@ -146,25 +151,74 @@ class HTMLTranslator(html4css1.HTMLTranslator):
# print "simple list"
return True
+ # address, literal block, and doctest block: no newline after tag
+ # (leads to blank line in XHTML1.1)
+ def visit_address(self, node):
+ self.visit_docinfo_item(node, 'address', meta=False)
+ self.body.append(self.starttag(node, 'pre',suffix='',
+ CLASS='address'))
+
+ # author, authors
+ # ---------------
+ # Use paragraphs instead of hard-coded linebreaks.
+
+ def visit_author(self, node):
+ if not(isinstance(node.parent, nodes.authors)):
+ self.visit_docinfo_item(node, 'author')
+ self.body.append('')
+
+ def depart_author(self, node):
+ self.body.append('
')
+ if isinstance(node.parent, nodes.authors):
+ self.body.append('\n')
+ else:
+ self.depart_docinfo_item()
+
+ def visit_authors(self, node):
+ self.visit_docinfo_item(node, 'authors')
+
+ def depart_authors(self, node):
+ self.depart_docinfo_item()
+
# citations
# ---------
# Use definition list instead of table for bibliographic references.
# Join adjacent citation entries.
def visit_citation(self, node):
- if self.body[-1] == '<-- next citation -->':
- del(self.body[-1])
- else:
- self.body.append(' ')
- self.context.append(self.starttag(node, 'dd'))
- self.footnote_backrefs(node)
+ if not self.in_footnote_list:
+ self.body.append('\n')
+ self.in_footnote_list = True
def depart_citation(self, node):
self.body.append('\n')
- if isinstance(node.next_node(), nodes.citation):
- self.body.append('<-- next citation -->')
- else:
+ if not isinstance(node.next_node(descend=False, siblings=True),
+ nodes.citation):
self.body.append(' \n')
+ self.in_footnote_list = False
+
+ # classifier
+ # ----------
+ # don't insert classifier-delimiter here (done by CSS)
+
+ def visit_classifier(self, node):
+ self.body.append(self.starttag(node, 'span', '', CLASS='classifier'))
+
+ def depart_classifier(self, node):
+ self.body.append('')
+
+ # definition list
+ # ---------------
+ # check for simple/complex list and set class attribute
+
+ def visit_definition_list(self, node):
+ classes = node.setdefault('classes', [])
+ if self.is_compactable(node):
+ classes.append('simple')
+ self.body.append(self.starttag(node, 'dl'))
+
+ def depart_definition_list(self, node):
+ self.body.append(' \n')
# docinfo
# -------
@@ -178,7 +232,7 @@ class HTMLTranslator(html4css1.HTMLTranslator):
def depart_docinfo(self, node):
self.body.append('\n')
-
+
def visit_docinfo_item(self, node, name, meta=True):
if meta:
meta_tag = ' \n' \
@@ -191,6 +245,14 @@ class HTMLTranslator(html4css1.HTMLTranslator):
def depart_docinfo_item(self):
self.body.append('\n')
+ # doctest-block
+ # -------------
+ # no line-break
+ # TODO: RSt-parser should treat this as code-block with class "pycon".
+
+ def visit_doctest_block(self, node):
+ self.body.append(self.starttag(node, 'pre', suffix='',
+ CLASS='code pycon doctest-block'))
# enumerated lists
# ----------------
@@ -200,18 +262,17 @@ class HTMLTranslator(html4css1.HTMLTranslator):
def visit_enumerated_list(self, node):
atts = {}
if 'start' in node:
- atts['style'] = 'counter-reset: item %d;' % (
- node['start'] - 1)
+ atts['style'] = 'counter-reset: item %d;' % (node['start'] - 1)
classes = node.setdefault('classes', [])
if 'enumtype' in node:
classes.append(node['enumtype'])
- if self.is_compactable(node) and not self.compact_simple:
+ if self.is_compactable(node):
classes.append('simple')
- # @@@ To do: prefix, suffix. (?)
- self.context.append((self.compact_simple, self.compact_p))
- self.compact_p = False
self.body.append(self.starttag(node, 'ol', **atts))
+ def depart_enumerated_list(self, node):
+ self.body.append('\n')
+
# field-list
# ----------
# set as definition list, styled with CSS
@@ -219,16 +280,12 @@ class HTMLTranslator(html4css1.HTMLTranslator):
def visit_field_list(self, node):
# Keep simple paragraphs in the field_body to enable CSS
# rule to start body on new line if the label is too long
- self.context.append((self.compact_field_list, self.compact_p))
- self.compact_field_list, self.compact_p = False, False
- #
classes = 'field-list'
if (self.is_compactable(node)):
classes += ' simple'
self.body.append(self.starttag(node, 'dl', CLASS=classes))
def depart_field_list(self, node):
- self.compact_field_list, self.compact_p = self.context.pop()
self.body.append('\n')
def visit_field(self, node):
@@ -254,22 +311,16 @@ class HTMLTranslator(html4css1.HTMLTranslator):
# use definition list instead of table for footnote text
def visit_footnote(self, node):
- if self.body[-1] == '<-- next footnote -->':
- del(self.body[-1])
- else:
- self.body.append('
-
+
Term
Definition
-Term : classifier
+Termclassifier
Definition paragraph 1.
Definition paragraph 2.
Term
Definition
-Term : classifier one : classifier two
+Termclassifier one classifier two
Definition
@@ -461,7 +461,7 @@ notamment dans la documentation du langage Python.
-
>>> print 'Python-specific usage examples; begun with ">>>"'
+>>> print 'Python-specific usage examples; begun with ">>>"'
Python-specific usage examples; begun with ">>>"
>>> print '(cut and pasted from interactive Python sessions)'
(cut and pasted from interactive Python sessions)
@@ -469,47 +469,42 @@ Python-specific usage examples; begun with ">>>"
-
[CIT2002]
-
-(1 , 2 ) Citations are text-labeled footnotes. They may be
+
+[CIT2002](1 ,2 )
+Citations are text-labeled footnotes. They may be
rendered separately and differently from footnotes.
@@ -732,25 +727,21 @@ allowed (e.g. inside a directive).
@@ -1077,34 +1068,49 @@ crunchy, now would it?
-
+
+../../../docs/user/rst/images/biohazard.svg
Scalable vector graphics (SVG) images are not supported by all backends.
Rendering depends partially on the backend, especially if the size is
not explicitely given.
-
-
A scaling image occupying 50% of the line width (scales with the
-browser window).
+
+../../../docs/user/rst/images/title-scaling.svg
+
A scaling image occupying 50% of the line width (scales with the browser
+window).
Whether an SVG image is scaled or clipped/padded cannot be set in the
-containing HTML. It depends on the viewport declaration inside its
-root <svg> element.
-
An inline SVG image scaled to a height of 0.8 em.
-
+containing HTML. If the image is wrapped in
<object> tags, it
+depends on the viewport declaration inside its root <svg> element, if it is
+wrapped in
<img> it depends on the browser.
+
+../../../docs/user/rst/images/title.svg
+
A fixed-size image in a box with 50% of the line width, 15 pixles high.
+
+../../../docs/user/rst/images/title-scaling.svg
A scaling image occupying 50% of the line width and 1.2 em high,
right aligned (this SVG image keeps the aspect ratio):
-
+
+
+../../../docs/user/rst/images/biohazard-scaling.svg
A scaling image 1 em high, left aligned.
A scaling image 5 mm x 5 mm, centered, with hyperlink reference:
-
-
+
../../../docs/user/rst/images/biohazard-scaling.svg
+
+../../../docs/user/rst/images/biohazard.svg
A fixed-size image in a 4 cm x 2 em box.
-
-
A fixed-size image in a box 50% the line width and 15 pixle high.
-
-
An SVG image with embedded bitmap. Should be 3 em wide, right aligned.
+
+../../../docs/user/rst/images/biohazard-bitmap.svg
+
An SVG image with embedded bitmap, 3 em wide, right aligned.
+Older versions of webkit based browsers (chromium, safari, midori,
+konqueror) cannot display the contained bitmap image if the SVG is wrapped
+in <img> tags. The image does not scale properly if wrapped in
+<object> tags.
@@ -1139,7 +1145,7 @@ wrapping in this kind of lists.
-
+
Definition list
nested in top-level enumeration
@@ -1150,16 +1156,17 @@ wrapping in this kind of lists.
-
Definition lists are styled like in most dictionaries, encyclopedias
-etc. (as well as the LaTeX description environment) if given the
-description class argument:
-
-The label
-is bold.
+Definition lists with the description class argument:
+
+description lists
+Lists that are styled like in most dictionaries, encyclopedias
+etc. (as well as the LaTeX description environment).
-The description
-starts on the same line. If it is longer, you will see that it has a
-hanging indent.
+label
+The term to be described. Put in boldface.
+
+content
+starts on the same line and has a hanging indent.
@@ -1186,7 +1193,7 @@ with the default setting of field-name-limit: 14 .
previous one but regarded "short" by html4css1.
-With html4css2 , the field list is typeset as CSS-styled definition
+With html4css2 , a field list is typeset as CSS-styled definition
list . The default layout is similar to the look with html4css1 :
A long field name
@@ -1205,9 +1212,9 @@ example:
-
The default style sheet html4css2.css supports the following class
-arguments for alternative styles:
-
+The xhtml11.css style sheet supports the following class arguments
+for alternative styles:
+
compact
Feature
@@ -1251,7 +1258,7 @@ new line (if not combined with run-
-
+
run-in
Feature
@@ -1263,24 +1270,19 @@ names.
the same line.
The next field name
-and field body should align.
+and field body should align. Long text in the field
+body is wrapped and aligns with other fields.
-
+
fix-labelwidth
Feature
The width of the field name (label) is fixed. Long labels
wrap.
-Problem
-Non-wrappable field names are truncated.
-
-a_very_long_field_name
-is truncated if it can not wrap.
-
this long field name
will wrap.
@@ -1290,6 +1292,12 @@ wrap.
one line, following field bodies "float up" if not
prevented by a dummy dd:after element in the CSS. -->
+Problem
+Non-wrappable field names are truncated.
+
+a_very_long_field_name
+is truncated if it can not wrap.
+
@@ -1297,6 +1305,8 @@ prevented by a dummy dd:after element in the CSS. -->
+
The html-base.css style sheet provides rules for easy styling of tables
+with the "class" directive or directive argument.
Numbered tables can be achieved with the numbered class option
truth values
@@ -1330,6 +1340,8 @@ prevented by a dummy dd:after element in the CSS. -->
+
Currently, referencing to the table by number is not supported. This is a
+common request and already on the TODO list .
In addition to the "borderless" table-style , the style sheet also
defines "booktabs", that will be rendered similar to the style from
the booktabs LaTeX package.
@@ -1391,7 +1403,7 @@ the headers:
-
Of course, also booktabs style tables can be numbered:
+
Of course, also "booktabs" style tables can be numbered:
I/O values
@@ -1430,8 +1442,8 @@ the headers:
-
The W3C consortium provides a DTD for XHTML 1.1 plus MathML 2.0, so
-that documents embedding formulas as MathML can be validated.
+
The html-output setting defaults to »MathML«. If there is mathematical
+content in MathML format, the document type is XHTML 1.1 plus MathML 2.0.
The linear mapping
f : ℂ
N ⟼ ℂ
diff --git a/test/functional/input/data/html-base.css b/test/functional/input/data/html-base.css
new file mode 120000
index 000000000..636c2dd03
--- /dev/null
+++ b/test/functional/input/data/html-base.css
@@ -0,0 +1 @@
+/home/milde/Code/Python/docutils-svn/docutils/docutils/writers/xhtml11/html-base.css
\ No newline at end of file
diff --git a/test/functional/input/data/svg_images.txt b/test/functional/input/data/svg_images.txt
index 856dd1ff2..2bb4cba81 100644
--- a/test/functional/input/data/svg_images.txt
+++ b/test/functional/input/data/svg_images.txt
@@ -4,6 +4,7 @@ SVG Images
.. image:: ../../../docs/user/rst/images/biohazard.svg
:width: 48 px
:height: 48 px
+ :align: left
Scalable vector graphics (SVG) images are not supported by all backends.
Rendering depends partially on the backend, especially if the size is
@@ -13,26 +14,34 @@ not explicitely given.
:width: 50%
:align: left
-A scaling image occupying 50% of the line width (scales with the
-browser window).
+A scaling image occupying 50% of the line width (scales with the browser
+window).
Whether an SVG image is scaled or clipped/padded cannot be set in the
-containing HTML. It depends on the viewport declaration inside its
-root element.
+containing HTML. If the image is wrapped in ```` tags, it
+depends on the viewport declaration inside its root element, if it is
+wrapped in `` `` it depends on the browser.
-.. |inline-svg| image:: ../../../docs/user/rst/images/biohazard-scaling.svg
- :height: 0.8 em
+.. image:: ../../../docs/user/rst/images/title.svg
+ :width: 50%
+ :height: 15 px
+ :align: left
-An inline SVG image |inline-svg| scaled to a height of 0.8 em.
+A fixed-size image in a box with 50% of the line width, 15 pixles high.
.. image:: ../../../docs/user/rst/images/title-scaling.svg
:width: 50 %
:height: 1.2 em
:align: right
-
+
A scaling image occupying 50% of the line width and 1.2 em high,
right aligned (this SVG image keeps the aspect ratio):
+.. |inline-svg| image:: ../../../docs/user/rst/images/biohazard-scaling.svg
+ :height: 0.8 em
+
+* An inline SVG image |inline-svg| scaled to a height of 0.8 em.
+
.. image:: ../../../docs/user/rst/images/biohazard-scaling.svg
:height: 1 em
:align: left
@@ -54,13 +63,6 @@ A scaling image 5 mm x 5 mm, centered, with hyperlink reference:
A fixed-size image in a 4 cm x 2 em box.
-.. image:: ../../../docs/user/rst/images/title.svg
- :width: 50%
- :height: 15 px
- :align: left
-
-A fixed-size image in a box 50% the line width and 15 pixle high.
-
.. figure:: ../../../docs/user/rst/images/title.svg
:alt: reStructuredText, the markup syntax
:width: 290 px
@@ -72,4 +74,8 @@ A fixed-size image in a box 50% the line width and 15 pixle high.
:width: 3em
:align: right
-An SVG image with embedded bitmap. Should be 3 em wide, right aligned.
+An SVG image with embedded bitmap, 3 em wide, right aligned.
+Older versions of `webkit` based browsers (chromium, safari, midori,
+konqueror) cannot display the contained bitmap image if the SVG is wrapped
+in `` `` tags. The image does not scale properly if wrapped in
+```` tags.
diff --git a/test/functional/input/standalone_rst_xhtml11.txt b/test/functional/input/standalone_rst_xhtml11.txt
index 693324284..05a763c57 100644
--- a/test/functional/input/standalone_rst_xhtml11.txt
+++ b/test/functional/input/standalone_rst_xhtml11.txt
@@ -39,18 +39,17 @@ Enumerated lists with nested counters
Description list
----------------
-Definition lists are styled like in most dictionaries, encyclopedias
-etc. (as well as the LaTeX `description` environment) if given the
-``description`` class argument:
+Definition lists with the ``description`` class argument:
.. class:: description
-The label
- is bold.
-
-The description
- starts on the same line. If it is longer, you will see that it has a
- hanging indent.
+description lists
+ Lists that are styled like in most dictionaries, encyclopedias
+ etc. (as well as the LaTeX `description` environment).
+label
+ The term to be described. Put in boldface.
+content
+ starts on the same line and has a hanging indent.
Field list handling
@@ -72,7 +71,7 @@ characters" but the field name uses a proportional font.
:MMMMMMMMMMMMMM: a field name that is actually longer than the
previous one but regarded "short" by html4css1.
-With `html4css2`, the field list is typeset as CSS-styled `definition
+With `html4css2`, a `field list` is typeset as CSS-styled `definition
list`. The default layout is similar to the look with `html4css1`:
.. class:: open
@@ -92,8 +91,8 @@ list`. The default layout is similar to the look with `html4css1`:
Styling with class arguments
````````````````````````````
-The default style sheet ``html4css2.css`` supports the following class
-arguments for alternative styles:
+The ``xhtml11.css`` style sheet supports the following class arguments
+for alternative styles:
*compact*
.. class:: compact
@@ -136,7 +135,8 @@ arguments for alternative styles:
:A long field name: sticks into the field body which continues on
the same line.
- :The next field name: and field body should align.
+ :The next field name: and field body should align. Long text in the field
+ body is wrapped and aligns with other fields.
.. _`fix-labelwidth`:
@@ -146,11 +146,6 @@ arguments for alternative styles:
:Feature: The width of the field name (label) is fixed. Long labels
wrap.
- :Problem: Non-wrappable field names are truncated.
-
- :a_very_long_field_name:
- is truncated if it can not wrap.
-
:this long field name: will wrap.
:the next field name: and field body should align.
@@ -159,10 +154,18 @@ arguments for alternative styles:
one line, following field bodies "float up" if not
prevented by a dummy dd:after element in the CSS.
+ :Problem: Non-wrappable field names are truncated.
+
+ :a_very_long_field_name:
+ is truncated if it can not wrap.
+
Table styling with class arguments
----------------------------------
+The ``html-base.css`` style sheet provides rules for easy styling of tables
+with the "class" directive or directive argument.
+
Numbered tables can be achieved with the ``numbered`` class option
.. table:: truth values
@@ -177,6 +180,9 @@ Numbered tables can be achieved with the ``numbered`` class option
True True True
======= ======= ==========
+Currently, referencing to the table by number is not supported. This is a
+common request and already on the `TODO list`.
+
In addition to the "borderless" table-style_, the style sheet also
defines "booktabs", that will be rendered similar to the style from
the booktabs_ LaTeX package.
@@ -210,7 +216,7 @@ True True True
===== ===== =======
-Of course, also booktabs style tables can be numbered:
+Of course, also "booktabs" style tables can be numbered:
.. table:: I/O values
:class: numbered booktabs
@@ -227,11 +233,11 @@ Of course, also booktabs style tables can be numbered:
===== ===== ======
-Math
-----
+Maths
+-----
-The W3C consortium provides a DTD for XHTML 1.1 plus MathML 2.0, so
-that documents embedding formulas as MathML can be validated.
+The ``html-output`` setting defaults to »MathML«. If there is mathematical
+content in `MathML` format, the document type is XHTML 1.1 plus MathML 2.0.
The linear mapping :math:`f: \mathbb{C}^{N}\longmapsto\mathbb{C}^{N}`
with
diff --git a/test/functional/tests/standalone_rst_xhtml11.py b/test/functional/tests/standalone_rst_xhtml11.py
index b51fc8ab9..1a13a64e4 100644
--- a/test/functional/tests/standalone_rst_xhtml11.py
+++ b/test/functional/tests/standalone_rst_xhtml11.py
@@ -13,6 +13,6 @@ writer_name = "xhtml11"
# Settings
# local copy of default stylesheet:
# (test runs in ``docutils/test/``, we need relative path from there.)
-settings_overrides['stylesheet_path'] = (
- 'functional/input/data/html4css1.css,'
+settings_overrides['stylesheet_path'] = (
+ 'functional/input/data/html-base.css,'
'functional/input/data/xhtml11.css')
--
2.11.4.GIT