summaryrefslogtreecommitdiff
path: root/sphinx/writers
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-12-27 00:14:24 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2020-03-07 01:13:23 +0900
commitb3b0d3ad2c831879093c9b9a1700f8ee5a842c31 (patch)
tree7bdb4ff2968b9baf5b711e5163b8420a52128544 /sphinx/writers
parent5a848e3d9d8f5c1046c0681e93701c9bebd84afc (diff)
downloadsphinx-git-b3b0d3ad2c831879093c9b9a1700f8ee5a842c31.tar.gz
refactor: latex: Move initialization of multilingual module to builder
Diffstat (limited to 'sphinx/writers')
-rw-r--r--sphinx/writers/latex.py46
1 files changed, 1 insertions, 45 deletions
diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py
index cfce52f7f..9390ba5de 100644
--- a/sphinx/writers/latex.py
+++ b/sphinx/writers/latex.py
@@ -50,13 +50,6 @@ if False:
logger = logging.getLogger(__name__)
-SHORTHANDOFF = r'''
-\ifdefined\shorthandoff
- \ifnum\catcode`\=\string=\active\shorthandoff{=}\fi
- \ifnum\catcode`\"=\active\shorthandoff{"}\fi
-\fi
-'''
-
MAX_CITATION_LABEL_LENGTH = 8
LATEXSECTIONNAMES = ["part", "chapter", "section", "subsection",
"subsubsection", "paragraph", "subparagraph"]
@@ -395,44 +388,6 @@ class LaTeXTranslator(SphinxTranslator):
logger.warning(__('no Babel option known for language %r'),
self.config.language)
- # set up multilingual module...
- if self.elements['latex_engine'] == 'pdflatex':
- if not self.babel.uses_cyrillic():
- if 'X2' in self.elements['fontenc']:
- self.elements['substitutefont'] = '\\usepackage{substitutefont}'
- self.elements['textcyrillic'] = ('\\usepackage[Xtwo]'
- '{sphinxcyrillic}')
- elif 'T2A' in self.elements['fontenc']:
- self.elements['substitutefont'] = '\\usepackage{substitutefont}'
- self.elements['textcyrillic'] = ('\\usepackage[TtwoA]'
- '{sphinxcyrillic}')
- if 'LGR' in self.elements['fontenc']:
- self.elements['substitutefont'] = '\\usepackage{substitutefont}'
- else:
- self.elements['textgreek'] = ''
- # 'babel' key is public and user setting must be obeyed
- if self.elements['babel']:
- self.elements['classoptions'] += ',' + self.babel.get_language()
- # this branch is not taken for xelatex/lualatex if default settings
- self.elements['multilingual'] = self.elements['babel']
- if self.config.language:
- self.elements['shorthandoff'] = SHORTHANDOFF
-
- # Times fonts don't work with Cyrillic languages
- if self.babel.uses_cyrillic() and 'fontpkg' not in self.config.latex_elements:
- self.elements['fontpkg'] = ''
- elif self.elements['polyglossia']:
- self.elements['classoptions'] += ',' + self.babel.get_language()
- options = self.babel.get_mainlanguage_options()
- if options:
- mainlanguage = r'\setmainlanguage[%s]{%s}' % (options,
- self.babel.get_language())
- else:
- mainlanguage = r'\setmainlanguage{%s}' % self.babel.get_language()
-
- self.elements['multilingual'] = '%s\n%s' % (self.elements['polyglossia'],
- mainlanguage)
-
minsecnumdepth = self.secnumdepth # 2 from legacy sphinx manual/howto
if self.document.get('tocdepth'):
# reduce tocdepth if `part` or `chapter` is used for top_sectionlevel
@@ -2177,6 +2132,7 @@ deprecated_alias('sphinx.writers.latex',
'DEFAULT_SETTINGS': constants.DEFAULT_SETTINGS,
'LUALATEX_DEFAULT_FONTPKG': constants.LUALATEX_DEFAULT_FONTPKG,
'PDFLATEX_DEFAULT_FONTPKG': constants.PDFLATEX_DEFAULT_FONTPKG,
+ 'SHORTHANDOFF': constants.SHORTHANDOFF,
'XELATEX_DEFAULT_FONTPKG': constants.XELATEX_DEFAULT_FONTPKG,
'XELATEX_GREEK_DEFAULT_FONTPKG': constants.XELATEX_GREEK_DEFAULT_FONTPKG,
'ExtBabel': ExtBabel,