latex: Disable babel if polyglossia loaded

This commit is contained in:
Takeshi KOMIYA 2016-10-20 00:35:20 +09:00
parent 68de92042f
commit 5af1713d60
2 changed files with 29 additions and 22 deletions

View File

@ -12,7 +12,7 @@
<%= cmappkg %> <%= cmappkg %>
<%= fontenc %> <%= fontenc %>
<%= amsmath %> <%= amsmath %>
<%= babel %> <%= multilingual %>
<%= fontpkg %> <%= fontpkg %>
<%= fncychap %> <%= fncychap %>
<%= longtable %> <%= longtable %>

View File

@ -61,7 +61,9 @@ DEFAULT_SETTINGS = {
'cmappkg': '\\usepackage{cmap}', 'cmappkg': '\\usepackage{cmap}',
'fontenc': '\\usepackage[T1]{fontenc}', 'fontenc': '\\usepackage[T1]{fontenc}',
'amsmath': '\\usepackage{amsmath,amssymb,amstext}', 'amsmath': '\\usepackage{amsmath,amssymb,amstext}',
'multilingual': '',
'babel': '\\usepackage{babel}', 'babel': '\\usepackage{babel}',
'polyglossia': '',
'fontpkg': '\\usepackage{times}', 'fontpkg': '\\usepackage{times}',
'fncychap': '\\usepackage[Bjarne]{fncychap}', 'fncychap': '\\usepackage[Bjarne]{fncychap}',
'longtable': '\\usepackage{longtable}', 'longtable': '\\usepackage{longtable}',
@ -105,8 +107,7 @@ ADDITIONAL_SETTINGS = {
'inputenc': '\\usepackage[utf8]{inputenc}', 'inputenc': '\\usepackage[utf8]{inputenc}',
}, },
'xelatex': { 'xelatex': {
'babel': '', # disable babel 'polyglossia': '\\usepackage{polyglossia}',
'inputenc': '\\usepackage{polyglossia}',
'fontenc': '\\usepackage{fontspec}', 'fontenc': '\\usepackage{fontspec}',
'fontpkg': '', 'fontpkg': '',
}, },
@ -393,8 +394,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
# no need for \\noindent here, used in flushright # no need for \\noindent here, used in flushright
self.elements['logo'] = '\\sphinxincludegraphics{%s}\\par' % \ self.elements['logo'] = '\\sphinxincludegraphics{%s}\\par' % \
path.basename(builder.config.latex_logo) path.basename(builder.config.latex_logo)
# setup babel # setup multilingual package
self.babel = ExtBabel(builder.config.language) self.babel = ExtBabel(builder.config.language)
if self.elements['polyglossia']:
self.elements['babel'] = '' # disable babel forcely
self.elements['multilingual'] = self.elements['polyglossia']
elif self.elements['babel']:
self.elements['multilingual'] = self.elements['babel']
self.elements['classoptions'] += ',' + self.babel.get_language() self.elements['classoptions'] += ',' + self.babel.get_language()
if builder.config.language: if builder.config.language:
if not self.babel.is_supported_language(): if not self.babel.is_supported_language():
@ -413,6 +419,7 @@ class LaTeXTranslator(nodes.NodeVisitor):
self.elements['classoptions'] = ',dvipdfmx' self.elements['classoptions'] = ',dvipdfmx'
# disable babel which has not publishing quality in Japanese # disable babel which has not publishing quality in Japanese
self.elements['babel'] = '' self.elements['babel'] = ''
self.elements['multilingual'] = ''
# disable fncychap in Japanese documents # disable fncychap in Japanese documents
self.elements['fncychap'] = '' self.elements['fncychap'] = ''
if getattr(builder, 'usepackages', None): if getattr(builder, 'usepackages', None):