diff --git a/CHANGES b/CHANGES index b36fc0755..dd406a552 100644 --- a/CHANGES +++ b/CHANGES @@ -83,6 +83,8 @@ Bugs fixed * #3725: Todo looks different from note in LaTeX output * #3479: stub-columns have no effect in LaTeX output * #3738: Nonsensical code in theming.py +* #3746: PDF builds fail with latexmk 4.48 or earlier due to undefined + options ``-pdfxe`` and ``-pdflua`` Testing -------- @@ -322,17 +324,8 @@ Deprecated * #3628: ``sphinx_themes`` entry_point is deprecated. Please use ``sphinx.html_themes`` instead. -Release 1.5.6 (in development) -============================== - -Incompatible changes --------------------- - -Deprecated ----------- - -Features added --------------- +Release 1.5.6 (released May 15, 2017) +===================================== Bugs fixed ---------- @@ -349,9 +342,7 @@ Bugs fixed * #3717: Stop enforcing that favicon's must be .ico * #3731, #3732: Protect isenumclass predicate against non-class arguments * #3320: Warning about reference target not being found for container types - -Testing --------- +* Misspelled ARCHIVEPREFIX in Makefile for latex build repertory Release 1.5.5 (released Apr 03, 2017) ===================================== diff --git a/doc/builders.rst b/doc/builders.rst index 13a5163fc..033716b9a 100644 --- a/doc/builders.rst +++ b/doc/builders.rst @@ -191,8 +191,12 @@ The builder's "name" must be given to the **-b** command-line option of make latexpdf LATEXMKOPTS="-silent" - reduces console output to a minimum. To pass options directly to the - ``pdflatex`` executable, use variable ``LATEXOPTS`` (for example + reduces console output to a minimum. Also, if ``latexmk`` version is + 4.52b or higher (Jan 17) and ``xelatex`` is the :confval:`latex_engine`, + then ``LATEXMKOPTS="-xelatex"`` will speed up PDF builds. + + To pass options directly to the + ``(pdf|xe|lua)latex`` executable, use variable ``LATEXOPTS`` (for example ``LATEXOPTS="--interaction=nonstopmode"``). .. autoattribute:: name diff --git a/sphinx/texinputs/Makefile_t b/sphinx/texinputs/Makefile_t index ca761fe98..06bd6c4d7 100644 --- a/sphinx/texinputs/Makefile_t +++ b/sphinx/texinputs/Makefile_t @@ -13,27 +13,25 @@ ALLPS = $(addsuffix .ps,$(ALLDOCS)) ALLIMGS = $(wildcard *.png *.gif *.jpg *.jpeg) # Prefix for archive names -ARCHIVEPRREFIX = +ARCHIVEPREFIX = # Additional LaTeX options (passed via variables in latexmkrc/latexmkjarc file) export LATEXOPTS = # Additional latexmk options +{% if latex_engine == 'xelatex' -%} +# with latexmk version 4.52b or higher set LATEXMKOPTS to -xelatex either here +# or on command line for faster builds. +{% endif -%} LATEXMKOPTS = -# format: pdf or dvi +# format: pdf or dvi (used only by archive targets) FMT = pdf {% if latex_engine == 'platex' -%} # latexmkrc is read then overridden by latexmkjarc LATEX = latexmk -r latexmkjarc -dvi PDFLATEX = latexmk -r latexmkjarc -pdfdvi -dvi- -ps- -{% elif latex_engine == 'pdflatex' -%} +{% else -%} LATEX = latexmk -dvi PDFLATEX = latexmk -pdf -dvi- -ps- -{% elif latex_engine == 'lualatex' -%} -LATEX = latexmk -lualatex -PDFLATEX = latexmk -pdflua -dvi- -ps- -{% elif latex_engine == 'xelatex' -%} -LATEX = latexmk -pdfxe -dvi- -ps- -PDFLATEX = $(LATEX) {% endif %} %.png %.gif %.jpg %.jpeg: FORCE_MAKE diff --git a/sphinx/texinputs/latexmkrc b/sphinx/texinputs/latexmkrc_t similarity index 52% rename from sphinx/texinputs/latexmkrc rename to sphinx/texinputs/latexmkrc_t index 1e1ec1903..e3cd14f48 100644 --- a/sphinx/texinputs/latexmkrc +++ b/sphinx/texinputs/latexmkrc_t @@ -1,5 +1,13 @@ +{% if latex_engine == 'pdflatex' -%} $latex = 'latex ' . $ENV{'LATEXOPTS'} . ' %O %S'; $pdflatex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +{% elif latex_engine == 'lualatex' -%} +$latex = 'lualatex --output-format=dvi ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$pdflatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +{% elif latex_engine == 'xelatex' -%} +$latex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$pdflatex = 'xelatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +{% endif -%} $lualatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; $xelatex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; $makeindex = 'makeindex -s python.ist %O -o %D %S';