From 6789c95711d0d6b861da565c1e0b9e680e194666 Mon Sep 17 00:00:00 2001
From: Peter Cock
Date: Wed, 25 Oct 2017 12:11:41 +0100
Subject: [PATCH] Fix renumbering references in tables
---
numpydoc/numpydoc.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/numpydoc/numpydoc.py b/numpydoc/numpydoc.py
index 7deecc55..4ec0d366 100644
--- a/numpydoc/numpydoc.py
+++ b/numpydoc/numpydoc.py
@@ -54,6 +54,18 @@ def rename_references(app, what, name, obj, options, lines,
new_r = sixu("R%d") % (reference_offset[0] + int(r))
else:
new_r = sixu("%s%d") % (r, reference_offset[0])
+ # Attempt to preserve *trailing* whitespace, e.g. in grid table
+ if len(r) < len(new_r):
+ # Now longer: Want to remove now redundant trailing whitespace
+ pad = " " * (len(new_r) - len(r))
+ lines[i] = lines[i].replace(sixu('[%s]_%s') % (r, pad),
+ sixu('[%s]_') % new_r)
+ elif len(new_r) < len(r):
+ # Now shorter: Must insert extra trailing whitespace
+ # (but only if there was trailing whitespace)
+ pad = " " * (len(r) - len(new_r))
+ lines[i] = lines[i].replace(sixu('[%s]_ ') % r,
+ sixu('[%s]_%s ') % (new_r, pad))
lines[i] = lines[i].replace(sixu('[%s]_') % r,
sixu('[%s]_') % new_r)
lines[i] = lines[i].replace(sixu('.. [%s]') % r,