rename_references breaks whitespace for tables · Issue #130 · numpy/numpydoc (original) (raw)
Setup
Mac OS X, Python 3.6, Sphinx 1.6.5, numpydoc 0.7.0
$ python3 -msphinx --version
Sphinx (sphinx-build) 1.6.5
$ python3 -c "import numpydoc; print(numpydoc.__version__)"
0.7.0
Reproducible example
Test case, call this file footnote_in_table.py
"""This is a silly module using footnotes in a table.
This is a reStructuredText grid table:
+----------+--------------+ | Colour | Animal | +==========+==============+ | Black | Sheep | +----------+--------------+ | Red | Fox [1]_ | +----------+--------------+ | Brown | Cow | +----------+--------------+ | Blue | Whale | +----------+--------------+ | Green | Sloth | +----------+--------------+ | Orange | Tiger [2]_ | +----------+--------------+ | Ginger | Cat [999]_ | +----------+--------------+
That was the table. Note it had footnotes.
.. [1] Perhaps Silver?
.. [2] I think of tigers as orange and black.
.. [999] Footnote numbering is arbitrary.
"""
class Silly(object): """Silly object."""
def __str__(self):
"""Returns a silly string."""
return "Very silly"
if name == "main": s = Silly() print(s)
Call this file footnote_in_table.rst
,
Module contents
---------------
.. automodule:: footnote_in_table
:members:
:undoc-members:
:show-inheritance:
Minimal configuration file, conf.py
,
#!/usr/bin/env python3
-- coding: utf-8 --
Minimal configuration file, created by hand
extensions = ['sphinx.ext.autodoc', 'numpydoc'] source_suffix = '.rst' master_doc = 'footnote_in_table'
Failing output:
$ python3 -msphinx . html
Running Sphinx v1.6.5
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 0 source files that are out of date
updating environment: 0 added, 1 changed, 0 removed
reading sources... [100%] footnote_in_table
/private/tmp/test_case/footnote_in_table.py:docstring of footnote_in_table:5: WARNING: Malformed table.
+----------+--------------+
| Colour | Animal |
+==========+==============+
| Black | Sheep |
+----------+--------------+
| Red | Fox [R1]_ |
+----------+--------------+
| Brown | Cow |
+----------+--------------+
| Blue | Whale |
+----------+--------------+
| Green | Sloth |
+----------+--------------+
| Orange | Tiger [R2]_ |
+----------+--------------+
| Ginger | Cat [R999]_ |
+----------+--------------+
looking for now-outdated files... none found
pickling environment... done
checking consistency... /private/tmp/test_case/footnote_in_table.rst:25: WARNING: Citation [R1] is not referenced.
/private/tmp/test_case/footnote_in_table.rst:27: WARNING: Citation [R2] is not referenced.
/private/tmp/test_case/footnote_in_table.rst:29: WARNING: Citation [R999] is not referenced.
done
preparing documents... done
writing output... [100%] footnote_in_table
generating indices... genindex py-modindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 4 warnings.
Diagnosis
While renaming the footnote references the importance of white space is not considered here:
https://github.com/numpy/numpydoc/blob/v0.7.0/numpydoc/numpydoc.py#L39
Suggested fix pending...