mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Use latexmk for pdf (and dvi) targets (on unixen)
This commit is contained in:
parent
0063446c1a
commit
409605d9b7
@ -2,8 +2,13 @@
|
|||||||
|
|
||||||
ALLDOCS = $(basename $(wildcard *.tex))
|
ALLDOCS = $(basename $(wildcard *.tex))
|
||||||
ALLPDF = $(addsuffix .pdf,$(ALLDOCS))
|
ALLPDF = $(addsuffix .pdf,$(ALLDOCS))
|
||||||
|
{% if latex_engine == 'xelatex' -%}
|
||||||
|
ALLDVI =
|
||||||
|
{% else -%}
|
||||||
ALLDVI = $(addsuffix .dvi,$(ALLDOCS))
|
ALLDVI = $(addsuffix .dvi,$(ALLDOCS))
|
||||||
|
{% endif -%}
|
||||||
ALLPS = $(addsuffix .ps,$(ALLDOCS))
|
ALLPS = $(addsuffix .ps,$(ALLDOCS))
|
||||||
|
ALLIMGS = $(wildcard *.png *.gif *.jpg *.jpeg)
|
||||||
|
|
||||||
# Prefix for archive names
|
# Prefix for archive names
|
||||||
ARCHIVEPRREFIX =
|
ARCHIVEPRREFIX =
|
||||||
@ -12,29 +17,52 @@ LATEXOPTS =
|
|||||||
# format: pdf or dvi
|
# format: pdf or dvi
|
||||||
FMT = pdf
|
FMT = pdf
|
||||||
|
|
||||||
LATEX = latex
|
{% if latex_engine == 'platex' -%}
|
||||||
PDFLATEX = {{ latex_engine }}
|
# latexmkrc is read then overridden by latexmkjarc
|
||||||
MAKEINDEX = makeindex
|
LATEX = latexmk -r latexmkjarc -dvi
|
||||||
|
PDFLATEX = latexmk -r latexmkjarc -pdfdvi -dvi- -ps-
|
||||||
|
{% elif latex_engine == 'pdflatex' -%}
|
||||||
|
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
|
||||||
|
extractbb '$@'
|
||||||
|
|
||||||
|
{% if latex_engine == 'platex' -%}
|
||||||
|
%.dvi: %.tex $(ALLIMGS) FORCE_MAKE
|
||||||
|
for f in *.pdf; do extractbb $$f; done
|
||||||
|
$(LATEX) $(LATEXOPTS) '$<'
|
||||||
|
|
||||||
|
{% elif latex_engine != 'xelatex' -%}
|
||||||
|
%.dvi: %.tex FORCE_MAKE
|
||||||
|
$(LATEX) $(LATEXOPTS) '$<'
|
||||||
|
|
||||||
{% if latex_engine == 'platex' %}
|
|
||||||
all: all-pdf-ja
|
|
||||||
all-pdf: all-pdf-ja
|
|
||||||
{% else %}
|
|
||||||
all: $(ALLPDF)
|
|
||||||
all-pdf: $(ALLPDF)
|
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
%.ps: %.dvi
|
||||||
|
dvips '$<'
|
||||||
|
|
||||||
|
{% if latex_engine == 'platex' -%}
|
||||||
|
%.pdf: %.tex $(ALLIMGS) FORCE_MAKE
|
||||||
|
for f in *.pdf; do extractbb $$f; done
|
||||||
|
{%- else -%}
|
||||||
|
%.pdf: %.tex FORCE_MAKE
|
||||||
|
{%- endif %}
|
||||||
|
$(PDFLATEX) $(LATEXOPTS) '$<'
|
||||||
|
|
||||||
all-dvi: $(ALLDVI)
|
all-dvi: $(ALLDVI)
|
||||||
|
|
||||||
all-ps: $(ALLPS)
|
all-ps: $(ALLPS)
|
||||||
|
|
||||||
all-pdf-ja:
|
all-pdf: $(ALLPDF)
|
||||||
for f in *.pdf *.png *.gif *.jpg *.jpeg; do extractbb $$f; done
|
|
||||||
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
|
all: $(ALLPDF)
|
||||||
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
|
|
||||||
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
|
|
||||||
-for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done
|
|
||||||
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
|
|
||||||
for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done
|
|
||||||
for f in *.dvi; do dvipdfmx $$f; done
|
|
||||||
|
|
||||||
zip: all-$(FMT)
|
zip: all-$(FMT)
|
||||||
mkdir $(ARCHIVEPREFIX)docs-$(FMT)
|
mkdir $(ARCHIVEPREFIX)docs-$(FMT)
|
||||||
@ -57,30 +85,8 @@ bz2: tar
|
|||||||
xz: tar
|
xz: tar
|
||||||
xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar
|
xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar
|
||||||
|
|
||||||
# The number of LaTeX runs is quite conservative, but I don't expect it
|
|
||||||
# to get run often, so the little extra time won't hurt.
|
|
||||||
%.dvi: %.tex
|
|
||||||
$(LATEX) $(LATEXOPTS) '$<'
|
|
||||||
$(LATEX) $(LATEXOPTS) '$<'
|
|
||||||
$(LATEX) $(LATEXOPTS) '$<'
|
|
||||||
-$(MAKEINDEX) -s python.ist '$(basename $<).idx'
|
|
||||||
$(LATEX) $(LATEXOPTS) '$<'
|
|
||||||
$(LATEX) $(LATEXOPTS) '$<'
|
|
||||||
|
|
||||||
%.pdf: %.tex
|
|
||||||
$(PDFLATEX) $(LATEXOPTS) '$<'
|
|
||||||
$(PDFLATEX) $(LATEXOPTS) '$<'
|
|
||||||
$(PDFLATEX) $(LATEXOPTS) '$<'
|
|
||||||
-$(MAKEINDEX) -s python.ist '$(basename $<).idx'
|
|
||||||
$(PDFLATEX) $(LATEXOPTS) '$<'
|
|
||||||
$(PDFLATEX) $(LATEXOPTS) '$<'
|
|
||||||
|
|
||||||
%.ps: %.dvi
|
|
||||||
dvips '$<'
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI)
|
rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI) *.fls *.fdb_latexmk
|
||||||
|
|
||||||
.PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz
|
.PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz
|
||||||
.PHONY: all-pdf-ja
|
.PHONY: FORCE_MAKE
|
||||||
|
|
||||||
|
7
sphinx/texinputs/latexmkjarc
Normal file
7
sphinx/texinputs/latexmkjarc
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
$latex = 'platex --halt-on-error --interaction=nonstopmode -kanji=utf8 %O %S';
|
||||||
|
$dvipdf = 'dvipdfmx %O -o %D %S';
|
||||||
|
$makeindex = 'rm -f %D; mendex -U -f -d %B.dic -s python.ist %S || echo "mendex exited with error code $? (ignoring)" && : >> %D';
|
||||||
|
add_cus_dep( "glo", "gls", 0, "makeglo" );
|
||||||
|
sub makeglo {
|
||||||
|
return system( "mendex -J -f -s gglo.ist -o '$_[0].gls' '$_[0].glo'" );
|
||||||
|
}
|
9
sphinx/texinputs/latexmkrc
Normal file
9
sphinx/texinputs/latexmkrc
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
$latex = 'latex --halt-on-error --interaction=nonstopmode %O %S';
|
||||||
|
$pdflatex = 'pdflatex --halt-on-error --interaction=nonstopmode %O %S';
|
||||||
|
$lualatex = 'lualatex --halt-on-error --interaction=nonstopmode %O %S';
|
||||||
|
$xelatex = 'xelatex --no-pdf --halt-on-error --interaction=nonstopmode %O %S';
|
||||||
|
$makeindex = 'makeindex -s python.ist %O -o %D %S';
|
||||||
|
add_cus_dep( "glo", "gls", 0, "makeglo" );
|
||||||
|
sub makeglo {
|
||||||
|
return system( "makeindex -s gglo.ist -o '$_[0].gls' '$_[0].glo'" );
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user