Merge pull request #2182 from xuhdev/latex-dots-images

Fix #981: LaTeX: support image file names with more than 1 dots
This commit is contained in:
Georg Brandl
2015-12-18 21:42:11 +01:00
4 changed files with 11 additions and 5 deletions

View File

@@ -1182,7 +1182,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
options = '' options = ''
if include_graphics_options: if include_graphics_options:
options = '[%s]' % ','.join(include_graphics_options) options = '[%s]' % ','.join(include_graphics_options)
self.body.append('\\includegraphics%s{%s}' % (options, uri)) base, ext = path.splitext(uri)
self.body.append('\\includegraphics%s{{%s}%s}' % (options, base, ext))
self.body.extend(post) self.body.extend(post)
def depart_image(self, node): def depart_image(self, node):

View File

@@ -26,3 +26,6 @@ Sphinx image handling
.. an SVG image (for HTML at least) .. an SVG image (for HTML at least)
.. image:: svgimg.* .. image:: svgimg.*
.. an image with more than 1 dot in its file name
.. image:: img.foo.png

BIN
tests/root/img.foo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -63,9 +63,10 @@ def test_images():
image_uri_message = remove_unicode_literals(image_uri_message) image_uri_message = remove_unicode_literals(image_uri_message)
assert image_uri_message in app._warning.content[-1] assert image_uri_message in app._warning.content[-1]
assert set(htmlbuilder.images.keys()) == \ assert set(htmlbuilder.images.keys()) == \
set(['subdir/img.png', 'img.png', 'subdir/simg.png', 'svgimg.svg']) set(['subdir/img.png', 'img.png', 'subdir/simg.png', 'svgimg.svg',
'img.foo.png'])
assert set(htmlbuilder.images.values()) == \ assert set(htmlbuilder.images.values()) == \
set(['img.png', 'img1.png', 'simg.png', 'svgimg.svg']) set(['img.png', 'img1.png', 'simg.png', 'svgimg.svg', 'img.foo.png'])
app._warning.reset() app._warning.reset()
latexbuilder = LaTeXBuilder(app) latexbuilder = LaTeXBuilder(app)
@@ -73,9 +74,10 @@ def test_images():
assert image_uri_message in app._warning.content[-1] assert image_uri_message in app._warning.content[-1]
assert set(latexbuilder.images.keys()) == \ assert set(latexbuilder.images.keys()) == \
set(['subdir/img.png', 'subdir/simg.png', 'img.png', 'img.pdf', set(['subdir/img.png', 'subdir/simg.png', 'img.png', 'img.pdf',
'svgimg.pdf']) 'svgimg.pdf', 'img.foo.png'])
assert set(latexbuilder.images.values()) == \ assert set(latexbuilder.images.values()) == \
set(['img.pdf', 'img.png', 'img1.png', 'simg.png', 'svgimg.pdf']) set(['img.pdf', 'img.png', 'img1.png', 'simg.png',
'svgimg.pdf', 'img.foo.png'])
def test_second_update(): def test_second_update():