mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
refactor: latex: Initialize 'packages' on context
This commit is contained in:
parent
a2ec232c71
commit
f815b58df5
@ -187,6 +187,9 @@ class LaTeXBuilder(Builder):
|
||||
self.context['polyglossia'] = ''
|
||||
self.context['babel'] = r'\usepackage{babel}'
|
||||
|
||||
# Apply extension settings to context
|
||||
self.context['packages'] = self.usepackages
|
||||
|
||||
# Apply user settings to context
|
||||
self.context.update(self.config.latex_elements)
|
||||
self.context['release'] = self.config.release
|
||||
|
@ -35,7 +35,15 @@
|
||||
<%= sphinxsetup %>
|
||||
<%= fvset %>
|
||||
<%= geometry %>
|
||||
<%= usepackages %>
|
||||
|
||||
<%- for name, option in packages %>
|
||||
<%- if option %>
|
||||
\usepackage[<%= option %>]{<%= name %>}
|
||||
<%- else %>
|
||||
\usepackage{<%= name %>}
|
||||
<%- endif %>
|
||||
<%- endfor %>
|
||||
|
||||
<%= hyperref %>
|
||||
<%= contentsname %>
|
||||
<%= numfig_format %>
|
||||
|
@ -150,7 +150,6 @@ DEFAULT_SETTINGS = {
|
||||
'\\usepackage{hypcap}% it must be loaded after hyperref.\n'
|
||||
'% Set up styles of URL: it should be placed after hyperref.\n'
|
||||
'\\urlstyle{same}'),
|
||||
'usepackages': '',
|
||||
'numfig_format': '',
|
||||
'contentsname': '',
|
||||
'preamble': '',
|
||||
@ -168,7 +167,7 @@ DEFAULT_SETTINGS = {
|
||||
'figure_align': 'htbp',
|
||||
'tocdepth': '',
|
||||
'secnumdepth': '',
|
||||
}
|
||||
} # type: Dict[str, Any]
|
||||
|
||||
ADDITIONAL_SETTINGS = {
|
||||
'pdflatex': {
|
||||
@ -218,7 +217,7 @@ ADDITIONAL_SETTINGS = {
|
||||
'fncychap': '',
|
||||
'geometry': '\\usepackage[dvipdfm]{geometry}',
|
||||
},
|
||||
}
|
||||
} # type: Dict[str, Dict[str, Any]]
|
||||
|
||||
EXTRA_RE = re.compile(r'^(.*\S)\s+\(([^()]*)\)\s*$')
|
||||
|
||||
@ -631,16 +630,6 @@ class LaTeXTranslator(SphinxTranslator):
|
||||
self.elements['multilingual'] = '%s\n%s' % (self.elements['polyglossia'],
|
||||
mainlanguage)
|
||||
|
||||
if getattr(self.builder, 'usepackages', None):
|
||||
def declare_package(packagename, options=None):
|
||||
# type:(str, str) -> str
|
||||
if options:
|
||||
return '\\usepackage[%s]{%s}' % (options, packagename)
|
||||
else:
|
||||
return '\\usepackage{%s}' % (packagename,)
|
||||
usepackages = (declare_package(*p) for p in self.builder.usepackages)
|
||||
self.elements['usepackages'] += "\n".join(usepackages)
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user