mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
latex: Disable babel if polyglossia loaded
This commit is contained in:
parent
68de92042f
commit
5af1713d60
@ -12,7 +12,7 @@
|
|||||||
<%= cmappkg %>
|
<%= cmappkg %>
|
||||||
<%= fontenc %>
|
<%= fontenc %>
|
||||||
<%= amsmath %>
|
<%= amsmath %>
|
||||||
<%= babel %>
|
<%= multilingual %>
|
||||||
<%= fontpkg %>
|
<%= fontpkg %>
|
||||||
<%= fncychap %>
|
<%= fncychap %>
|
||||||
<%= longtable %>
|
<%= longtable %>
|
||||||
|
@ -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,28 +394,34 @@ 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)
|
||||||
self.elements['classoptions'] += ',' + self.babel.get_language()
|
if self.elements['polyglossia']:
|
||||||
if builder.config.language:
|
self.elements['babel'] = '' # disable babel forcely
|
||||||
if not self.babel.is_supported_language():
|
self.elements['multilingual'] = self.elements['polyglossia']
|
||||||
self.builder.warn('no Babel option known for language %r' %
|
elif self.elements['babel']:
|
||||||
builder.config.language)
|
self.elements['multilingual'] = self.elements['babel']
|
||||||
self.elements['shorthandoff'] = self.babel.get_shorthandoff()
|
self.elements['classoptions'] += ',' + self.babel.get_language()
|
||||||
self.elements['fncychap'] = '\\usepackage[Sonny]{fncychap}'
|
if builder.config.language:
|
||||||
|
if not self.babel.is_supported_language():
|
||||||
|
self.builder.warn('no Babel option known for language %r' %
|
||||||
|
builder.config.language)
|
||||||
|
self.elements['shorthandoff'] = self.babel.get_shorthandoff()
|
||||||
|
self.elements['fncychap'] = '\\usepackage[Sonny]{fncychap}'
|
||||||
|
|
||||||
# Times fonts don't work with Cyrillic languages
|
# Times fonts don't work with Cyrillic languages
|
||||||
if self.babel.uses_cyrillic():
|
if self.babel.uses_cyrillic():
|
||||||
self.elements['fontpkg'] = ''
|
self.elements['fontpkg'] = ''
|
||||||
|
|
||||||
# pTeX (Japanese TeX) for support
|
# pTeX (Japanese TeX) for support
|
||||||
if builder.config.language == 'ja':
|
if builder.config.language == 'ja':
|
||||||
# use dvipdfmx as default class option in Japanese
|
# use dvipdfmx as default class option in Japanese
|
||||||
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'] = ''
|
||||||
# disable fncychap in Japanese documents
|
self.elements['multilingual'] = ''
|
||||||
self.elements['fncychap'] = ''
|
# disable fncychap in Japanese documents
|
||||||
|
self.elements['fncychap'] = ''
|
||||||
if getattr(builder, 'usepackages', None):
|
if getattr(builder, 'usepackages', None):
|
||||||
def declare_package(packagename, options=None):
|
def declare_package(packagename, options=None):
|
||||||
if options:
|
if options:
|
||||||
|
Loading…
Reference in New Issue
Block a user