summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-05-28 22:37:54 +0200
committerGeorg Brandl <georg@python.org>2010-05-28 22:37:54 +0200
commitf61fbad8ac2bcc45e805cfd918db01ebf1230827 (patch)
treee46cb7252a66332430b96f0220878e60fb878227
parentf8f2dcd4e9234ded1ed7b34db15491e544e0850b (diff)
downloadsphinx-f61fbad8ac2bcc45e805cfd918db01ebf1230827.tar.gz
#432: Fix UnicodeErrors while building LaTeX in translated locale; do not swallow UnicodeError as a warning.
-rw-r--r--sphinx/builders/latex.py8
-rw-r--r--sphinx/writers/latex.py24
2 files changed, 13 insertions, 19 deletions
diff --git a/sphinx/builders/latex.py b/sphinx/builders/latex.py
index 0481b308..1fbdbb78 100644
--- a/sphinx/builders/latex.py
+++ b/sphinx/builders/latex.py
@@ -105,13 +105,7 @@ class LaTeXBuilder(Builder):
doctree.settings.title = title
doctree.settings.docname = docname
doctree.settings.docclass = docclass
- try:
- docwriter.write(doctree, destination)
- except UnicodeError:
- self.warn("a Unicode error occurred when writing the output. "
- "Please make sure all config values that contain "
- "non-ASCII content are Unicode strings.")
- return
+ docwriter.write(doctree, destination)
self.info("done")
def assemble_doctree(self, indexfile, toctree_only, appendices):
diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py
index 34bfd252..5a599084 100644
--- a/sphinx/writers/latex.py
+++ b/sphinx/writers/latex.py
@@ -296,7 +296,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.builder.docnames)
if not content:
continue
- ret.append('\\renewcommand{\\indexname}{%s}\n' %
+ ret.append(u'\\renewcommand{\\indexname}{%s}\n' %
indexcls.localname)
generate(content, collapsed)
@@ -311,7 +311,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.first_document = 0
elif self.first_document == 0:
# ... and all others are the appendices
- self.body.append('\n\\appendix\n')
+ self.body.append(u'\n\\appendix\n')
self.first_document = -1
if node.has_key('docname'):
self.body.append(self.hypertarget(':doc'))
@@ -323,13 +323,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
for bi in self.bibitems:
if len(widest_label) < len(bi[0]):
widest_label = bi[0]
- self.body.append('\n\\begin{thebibliography}{%s}\n' % widest_label)
+ self.body.append(u'\n\\begin{thebibliography}{%s}\n' % widest_label)
for bi in self.bibitems:
target = self.hypertarget(bi[2] + ':' + bi[0].lower(),
withdoc=False)
- self.body.append('\\bibitem[%s]{%s}{%s %s}\n' %
+ self.body.append(u'\\bibitem[%s]{%s}{%s %s}\n' %
(bi[0], self.idescape(bi[0]), target, bi[1]))
- self.body.append('\\end{thebibliography}\n')
+ self.body.append(u'\\end{thebibliography}\n')
self.bibitems = []
def visit_start_of_file(self, node):
@@ -563,7 +563,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.body.append("}\\\\")
def visit_seealso(self, node):
- self.body.append("\n\n\\strong{%s:}\n\n" % admonitionlabels['seealso'])
+ self.body.append(u'\n\n\\strong{%s:}\n\n' % admonitionlabels['seealso'])
def depart_seealso(self, node):
self.body.append("\n\n")
@@ -610,8 +610,8 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.table.longtable = True
self.body = self._body
if not self.table.longtable and self.table.caption is not None:
- self.body.append('\n\\begin{threeparttable}\n'
- '\\caption{%s}\n' % self.table.caption)
+ self.body.append(u'\n\\begin{threeparttable}\n'
+ u'\\caption{%s}\n' % self.table.caption)
if self.table.longtable:
self.body.append('\n\\begin{longtable}')
elif self.table.has_verbatim:
@@ -631,7 +631,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
else:
self.body.append('{|' + ('L|' * self.table.colcount) + '}\n')
if self.table.longtable and self.table.caption is not None:
- self.body.append('\\caption{%s} \\\\\n' % self.table.caption)
+ self.body.append(u'\\caption{%s} \\\\\n' % self.table.caption)
if self.table.longtable:
self.body.append('\\hline\n')
@@ -641,7 +641,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
% _('continued from previous page'))
self.body.append('\n\\hline\n')
self.body.append('\\endhead\n\n')
- self.body.append(r'\hline \multicolumn{%s}{|r|}{{%s}} \\ \hline'
+ self.body.append(ur'\hline \multicolumn{%s}{|r|}{{%s}} \\ \hline'
% (self.table.colcount,
_('Continued on next page')))
self.body.append('\n\\endfoot\n\n')
@@ -923,7 +923,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
def _make_visit_admonition(name):
def visit_admonition(self, node):
- self.body.append('\n\\begin{notice}{%s}{%s:}' %
+ self.body.append(u'\n\\begin{notice}{%s}{%s:}' %
(name, admonitionlabels[name]))
return visit_admonition
def _depart_named_admonition(self, node):
@@ -1311,7 +1311,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
def visit_inline(self, node):
classes = node.get('classes', [])
- self.body.append(r'\DUspan{%s}{' %','.join(classes))
+ self.body.append(r'\DUspan{%s}{' % ','.join(classes))
def depart_inline(self, node):
self.body.append('}')