mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #4186: LaTeX: Support upLaTeX as a new latex_engine (experimental)
This commit is contained in:
parent
fcdeafd56e
commit
c6f0eb215a
1
CHANGES
1
CHANGES
@ -31,6 +31,7 @@ Features added
|
|||||||
* #1331: Add new config variable: :confval:`user_agent`
|
* #1331: Add new config variable: :confval:`user_agent`
|
||||||
* #6000: LaTeX: have backslash also be an inline literal word wrap break
|
* #6000: LaTeX: have backslash also be an inline literal word wrap break
|
||||||
character
|
character
|
||||||
|
* #4186: LaTeX: Support upLaTeX as a new :confval:`latex_engine` (experimental)
|
||||||
* #6812: Improve a warning message when extensions are not parallel safe
|
* #6812: Improve a warning message when extensions are not parallel safe
|
||||||
* #6818: Improve Intersphinx performance for multiple remote inventories.
|
* #6818: Improve Intersphinx performance for multiple remote inventories.
|
||||||
* #2546: apidoc: .so file support
|
* #2546: apidoc: .so file support
|
||||||
|
@ -1836,6 +1836,7 @@ These options influence LaTeX output.
|
|||||||
* ``'xelatex'`` -- XeLaTeX
|
* ``'xelatex'`` -- XeLaTeX
|
||||||
* ``'lualatex'`` -- LuaLaTeX
|
* ``'lualatex'`` -- LuaLaTeX
|
||||||
* ``'platex'`` -- pLaTeX (default if :confval:`language` is ``'ja'``)
|
* ``'platex'`` -- pLaTeX (default if :confval:`language` is ``'ja'``)
|
||||||
|
* ``'uplatex'`` -- upLaTeX (experimental)
|
||||||
|
|
||||||
``'pdflatex'``\ 's support for Unicode characters is limited.
|
``'pdflatex'``\ 's support for Unicode characters is limited.
|
||||||
|
|
||||||
@ -1861,6 +1862,10 @@ These options influence LaTeX output.
|
|||||||
|
|
||||||
Use ``xelatex`` by default for Greek documents.
|
Use ``xelatex`` by default for Greek documents.
|
||||||
|
|
||||||
|
.. versionchanged:: 2.3
|
||||||
|
|
||||||
|
Add ``uplatex`` support.
|
||||||
|
|
||||||
Contrarily to :ref:`MathJaX math rendering in HTML output <math-support>`,
|
Contrarily to :ref:`MathJaX math rendering in HTML output <math-support>`,
|
||||||
LaTeX requires some extra configuration to support Unicode literals in
|
LaTeX requires some extra configuration to support Unicode literals in
|
||||||
:rst:dir:`math`: the only comprehensive solution (as far as we know) is to
|
:rst:dir:`math`: the only comprehensive solution (as far as we know) is to
|
||||||
|
@ -427,8 +427,12 @@ def default_latex_engine(config: Config) -> str:
|
|||||||
def default_latex_docclass(config: Config) -> Dict[str, str]:
|
def default_latex_docclass(config: Config) -> Dict[str, str]:
|
||||||
""" Better default latex_docclass settings for specific languages. """
|
""" Better default latex_docclass settings for specific languages. """
|
||||||
if config.language == 'ja':
|
if config.language == 'ja':
|
||||||
return {'manual': 'jsbook',
|
if config.latex_engine == 'uplatex':
|
||||||
'howto': 'jreport'}
|
return {'manual': 'ujbook',
|
||||||
|
'howto': 'ujreport'}
|
||||||
|
else:
|
||||||
|
return {'manual': 'jsbook',
|
||||||
|
'howto': 'jreport'}
|
||||||
else:
|
else:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
@ -454,7 +458,7 @@ def setup(app: Sphinx) -> Dict[str, Any]:
|
|||||||
app.connect('config-inited', validate_config_values)
|
app.connect('config-inited', validate_config_values)
|
||||||
|
|
||||||
app.add_config_value('latex_engine', default_latex_engine, None,
|
app.add_config_value('latex_engine', default_latex_engine, None,
|
||||||
ENUM('pdflatex', 'xelatex', 'lualatex', 'platex'))
|
ENUM('pdflatex', 'xelatex', 'lualatex', 'platex', 'uplatex'))
|
||||||
app.add_config_value('latex_documents', default_latex_documents, None)
|
app.add_config_value('latex_documents', default_latex_documents, None)
|
||||||
app.add_config_value('latex_logo', None, None, [str])
|
app.add_config_value('latex_logo', None, None, [str])
|
||||||
app.add_config_value('latex_appendices', [], None)
|
app.add_config_value('latex_appendices', [], None)
|
||||||
|
@ -37,7 +37,7 @@ XINDYOPTS += -M LatinRules.xdy
|
|||||||
# format: pdf or dvi (used only by archive targets)
|
# format: pdf or dvi (used only by archive targets)
|
||||||
FMT = pdf
|
FMT = pdf
|
||||||
|
|
||||||
{% if latex_engine == 'platex' -%}
|
{% if latex_engine in ('platex', 'uplatex') -%}
|
||||||
# latexmkrc is read then overridden by latexmkjarc
|
# latexmkrc is read then overridden by latexmkjarc
|
||||||
LATEX = latexmk -r latexmkjarc -dvi
|
LATEX = latexmk -r latexmkjarc -dvi
|
||||||
PDFLATEX = latexmk -r latexmkjarc -pdfdvi -dvi- -ps-
|
PDFLATEX = latexmk -r latexmkjarc -pdfdvi -dvi- -ps-
|
||||||
@ -49,7 +49,7 @@ PDFLATEX = latexmk -pdf -dvi- -ps-
|
|||||||
%.png %.gif %.jpg %.jpeg: FORCE_MAKE
|
%.png %.gif %.jpg %.jpeg: FORCE_MAKE
|
||||||
extractbb '$@'
|
extractbb '$@'
|
||||||
|
|
||||||
{% if latex_engine == 'platex' -%}
|
{% if latex_engine in ('platex', 'uplatex') -%}
|
||||||
%.dvi: %.tex $(ALLIMGS) FORCE_MAKE
|
%.dvi: %.tex $(ALLIMGS) FORCE_MAKE
|
||||||
for f in *.pdf; do extractbb "$$f"; done
|
for f in *.pdf; do extractbb "$$f"; done
|
||||||
$(LATEX) $(LATEXMKOPTS) '$<'
|
$(LATEX) $(LATEXMKOPTS) '$<'
|
||||||
@ -62,7 +62,7 @@ PDFLATEX = latexmk -pdf -dvi- -ps-
|
|||||||
%.ps: %.dvi
|
%.ps: %.dvi
|
||||||
dvips '$<'
|
dvips '$<'
|
||||||
|
|
||||||
{% if latex_engine == 'platex' -%}
|
{% if latex_engine in ('platex', 'uplatex') -%}
|
||||||
%.pdf: %.tex $(ALLIMGS) FORCE_MAKE
|
%.pdf: %.tex $(ALLIMGS) FORCE_MAKE
|
||||||
for f in *.pdf; do extractbb "$$f"; done
|
for f in *.pdf; do extractbb "$$f"; done
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$latex = 'platex ' . $ENV{'LATEXOPTS'} . ' -kanji=utf8 %O %S';
|
$latex = '{{ latex_engine }} ' . $ENV{'LATEXOPTS'} . ' -kanji=utf8 %O %S';
|
||||||
$dvipdf = 'dvipdfmx %O -o %D %S';
|
$dvipdf = 'dvipdfmx %O -o %D %S';
|
||||||
$makeindex = 'internal mendex %S %B %D';
|
$makeindex = 'internal mendex %S %B %D';
|
||||||
sub mendex {
|
sub mendex {
|
@ -221,6 +221,15 @@ ADDITIONAL_SETTINGS = {
|
|||||||
'fncychap': '',
|
'fncychap': '',
|
||||||
'geometry': '\\usepackage[dvipdfm]{geometry}',
|
'geometry': '\\usepackage[dvipdfm]{geometry}',
|
||||||
},
|
},
|
||||||
|
'uplatex': {
|
||||||
|
'latex_engine': 'uplatex',
|
||||||
|
'babel': '',
|
||||||
|
'classoptions': ',dvipdfmx',
|
||||||
|
'fontpkg': '\\usepackage{times}',
|
||||||
|
'textgreek': '',
|
||||||
|
'fncychap': '',
|
||||||
|
'geometry': '\\usepackage[dvipdfm]{geometry}',
|
||||||
|
},
|
||||||
|
|
||||||
# special settings for latex_engine + language_code
|
# special settings for latex_engine + language_code
|
||||||
('xelatex', 'fr'): {
|
('xelatex', 'fr'): {
|
||||||
|
Loading…
Reference in New Issue
Block a user