mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Role `numref uses %s as special character instead #` symbol
This commit is contained in:
2
CHANGES
2
CHANGES
@@ -6,6 +6,8 @@ Incompatible changes
|
|||||||
|
|
||||||
* Roles ``ref``, ``term`` and ``menusel`` now don't generate :durole:`emphasis`
|
* Roles ``ref``, ``term`` and ``menusel`` now don't generate :durole:`emphasis`
|
||||||
nodes anymore. If you want to keep italic style, adapt your stylesheet.
|
nodes anymore. If you want to keep italic style, adapt your stylesheet.
|
||||||
|
* Role ``numref`` uses ``%s`` as special character to indicate position of
|
||||||
|
figure numbers instead ``#`` symbol.
|
||||||
|
|
||||||
Features added
|
Features added
|
||||||
--------------
|
--------------
|
||||||
|
|||||||
@@ -212,9 +212,9 @@ Cross-referencing figures by figure number
|
|||||||
labels are used. When you use this role, it will insert a reference to the
|
labels are used. When you use this role, it will insert a reference to the
|
||||||
figure with link text by its figure number like "Fig. 1.1".
|
figure with link text by its figure number like "Fig. 1.1".
|
||||||
|
|
||||||
If an explicit link text is given (like usual: ``:doc:`Image of Sphinx (Fig.
|
If an explicit link text is given (like usual: ``:numref:`Image of Sphinx (Fig.
|
||||||
#) <my-figure>```), the link caption will be the title of the reference.
|
%s) <my-figure>```), the link caption will be the title of the reference.
|
||||||
As a special character, `#` will be replaced to figure number.
|
As a special character, `%s` will be replaced to figure number.
|
||||||
|
|
||||||
If :confval:`numfig` is ``False``, figures are not numbered.
|
If :confval:`numfig` is ``False``, figures are not numbered.
|
||||||
so this role inserts not a reference but labels or link text.
|
so this role inserts not a reference but labels or link text.
|
||||||
|
|||||||
@@ -638,12 +638,9 @@ class StandardDomain(Domain):
|
|||||||
|
|
||||||
title = contnode.astext()
|
title = contnode.astext()
|
||||||
if target == fully_normalize_name(title):
|
if target == fully_normalize_name(title):
|
||||||
prefix = env.config.numfig_format.get(figtype, '')
|
title = env.config.numfig_format.get(figtype, '')
|
||||||
title = prefix.replace('%s', '#')
|
|
||||||
newtitle = prefix % '.'.join(map(str, fignumber))
|
|
||||||
else:
|
|
||||||
newtitle = title.replace('#', '.'.join(map(str, fignumber)))
|
|
||||||
|
|
||||||
|
newtitle = title % '.'.join(map(str, fignumber))
|
||||||
return self.build_reference_node(fromdocname, builder,
|
return self.build_reference_node(fromdocname, builder,
|
||||||
docname, labelid, newtitle,
|
docname, labelid, newtitle,
|
||||||
nodeclass=addnodes.number_reference,
|
nodeclass=addnodes.number_reference,
|
||||||
|
|||||||
@@ -1350,8 +1350,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
id = node.get('refuri', '')[1:].replace('#', ':')
|
id = node.get('refuri', '')[1:].replace('#', ':')
|
||||||
|
|
||||||
ref = '\\ref{%s}' % self.idescape(id)
|
ref = '\\ref{%s}' % self.idescape(id)
|
||||||
title = text_type(node.get('title', '#')).translate(tex_escape_map)
|
title = text_type(node.get('title', '%s')).translate(tex_escape_map).replace('\\%s', '%s')
|
||||||
hyperref = '\\hyperref[%s]{%s}' % (self.idescape(id), title.replace('\\#', ref))
|
hyperref = '\\hyperref[%s]{%s}' % (self.idescape(id), title % ref)
|
||||||
self.body.append(hyperref)
|
self.body.append(hyperref)
|
||||||
|
|
||||||
raise nodes.SkipNode
|
raise nodes.SkipNode
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ test-tocdepth
|
|||||||
|
|
||||||
|
|
||||||
* Fig.1 is :numref:`fig1`
|
* Fig.1 is :numref:`fig1`
|
||||||
* Fig.2.2 is :numref:`Figure# <fig22>`
|
* Fig.2.2 is :numref:`Figure%s <fig22>`
|
||||||
* Table.1 is :numref:`table-1`
|
* Table.1 is :numref:`table-1`
|
||||||
* Table.2.2 is :numref:`Table:# <table22>`
|
* Table.2.2 is :numref:`Table:%s <table22>`
|
||||||
* List.1 is :numref:`CODE_1`
|
* List.1 is :numref:`CODE_1`
|
||||||
* List.2.2 is :numref:`Code-# <CODE22>`
|
* List.2.2 is :numref:`Code-%s <CODE22>`
|
||||||
|
|||||||
@@ -489,11 +489,11 @@ def test_numfig_disabled(app, status, warning):
|
|||||||
(".//div[@class='code-block-caption']/"
|
(".//div[@class='code-block-caption']/"
|
||||||
"span[@class='caption-number']", None, True),
|
"span[@class='caption-number']", None, True),
|
||||||
(".//li/code/span", '^fig1$', True),
|
(".//li/code/span", '^fig1$', True),
|
||||||
(".//li/code/span", '^Figure#$', True),
|
(".//li/code/span", '^Figure%s$', True),
|
||||||
(".//li/code/span", '^table-1$', True),
|
(".//li/code/span", '^table-1$', True),
|
||||||
(".//li/code/span", '^Table:#$', True),
|
(".//li/code/span", '^Table:%s$', True),
|
||||||
(".//li/code/span", '^CODE_1$', True),
|
(".//li/code/span", '^CODE_1$', True),
|
||||||
(".//li/code/span", '^Code-#$', True),
|
(".//li/code/span", '^Code-%s$', True),
|
||||||
],
|
],
|
||||||
'foo.html': [
|
'foo.html': [
|
||||||
(".//div[@class='figure']/p[@class='caption']/"
|
(".//div[@class='figure']/p[@class='caption']/"
|
||||||
|
|||||||
Reference in New Issue
Block a user