summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2016-04-21 00:58:26 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2016-04-21 00:58:26 +0900
commitcf3b50d3b93607b45534140cc6ff112fbe2b673d (patch)
tree0d2f86beb24b687d39e6e0da2e30bf9c314c2a57
parent132059a25308a1b68c4991ccc0a1a10f4101f5d8 (diff)
downloadsphinx-git-cf3b50d3b93607b45534140cc6ff112fbe2b673d.tar.gz
Close #894: Add ``lualatexpdf`` and ``xelatexpdf`` as a make target to build PDF using lualatex or xelatex
-rw-r--r--CHANGES1
-rw-r--r--sphinx/make_mode.py62
-rw-r--r--sphinx/quickstart.py68
3 files changed, 81 insertions, 50 deletions
diff --git a/CHANGES b/CHANGES
index e6142c7fd..770297c9f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,7 @@ Features added
--------------
* Add ``:caption:`` option for sphinx.ext.inheritance_diagram.
+* #894: Add ``lualatexpdf`` and ``xelatexpdf`` as a make target to build PDF using lualatex or xelatex
Bugs fixed
----------
diff --git a/sphinx/make_mode.py b/sphinx/make_mode.py
index 67ba9e1e1..9a17895bd 100644
--- a/sphinx/make_mode.py
+++ b/sphinx/make_mode.py
@@ -30,30 +30,32 @@ proj_name = os.getenv('SPHINXPROJ', '<project>')
BUILDERS = [
- ("", "html", "to make standalone HTML files"),
- ("", "dirhtml", "to make HTML files named index.html in directories"),
- ("", "singlehtml", "to make a single large HTML file"),
- ("", "pickle", "to make pickle files"),
- ("", "json", "to make JSON files"),
- ("", "htmlhelp", "to make HTML files and a HTML help project"),
- ("", "qthelp", "to make HTML files and a qthelp project"),
- ("", "devhelp", "to make HTML files and a Devhelp project"),
- ("", "epub", "to make an epub"),
- ("", "latex", "to make LaTeX files, you can set PAPER=a4 or PAPER=letter"),
- ("posix", "latexpdf", "to make LaTeX files and run them through pdflatex"),
- ("posix", "latexpdfja", "to make LaTeX files and run them through platex/dvipdfmx"),
- ("", "text", "to make text files"),
- ("", "man", "to make manual pages"),
- ("", "texinfo", "to make Texinfo files"),
- ("posix", "info", "to make Texinfo files and run them through makeinfo"),
- ("", "gettext", "to make PO message catalogs"),
- ("", "changes", "to make an overview of all changed/added/deprecated items"),
- ("", "xml", "to make Docutils-native XML files"),
- ("", "pseudoxml", "to make pseudoxml-XML files for display purposes"),
- ("", "linkcheck", "to check all external links for integrity"),
- ("", "doctest", "to run all doctests embedded in the documentation "
- "(if enabled)"),
- ("", "coverage", "to run coverage check of the documentation (if enabled)"),
+ ("", "html", "to make standalone HTML files"),
+ ("", "dirhtml", "to make HTML files named index.html in directories"),
+ ("", "singlehtml", "to make a single large HTML file"),
+ ("", "pickle", "to make pickle files"),
+ ("", "json", "to make JSON files"),
+ ("", "htmlhelp", "to make HTML files and a HTML help project"),
+ ("", "qthelp", "to make HTML files and a qthelp project"),
+ ("", "devhelp", "to make HTML files and a Devhelp project"),
+ ("", "epub", "to make an epub"),
+ ("", "latex", "to make LaTeX files, you can set PAPER=a4 or PAPER=letter"),
+ ("posix", "latexpdf", "to make LaTeX files and run them through pdflatex"),
+ ("posix", "latexpdfja", "to make LaTeX files and run them through platex/dvipdfmx"),
+ ("posix", "lualatexpdf", "to make LaTeX files and run them through lualatex"),
+ ("posix", "xelatexpdf", "to make LaTeX files and run them through xelatex"),
+ ("", "text", "to make text files"),
+ ("", "man", "to make manual pages"),
+ ("", "texinfo", "to make Texinfo files"),
+ ("posix", "info", "to make Texinfo files and run them through makeinfo"),
+ ("", "gettext", "to make PO message catalogs"),
+ ("", "changes", "to make an overview of all changed/added/deprecated items"),
+ ("", "xml", "to make Docutils-native XML files"),
+ ("", "pseudoxml", "to make pseudoxml-XML files for display purposes"),
+ ("", "linkcheck", "to check all external links for integrity"),
+ ("", "doctest", "to run all doctests embedded in the documentation "
+ "(if enabled)"),
+ ("", "coverage", "to run coverage check of the documentation (if enabled)"),
]
@@ -171,6 +173,18 @@ class Make(object):
with cd(self.builddir_join('latex')):
os.system('make all-pdf-ja')
+ def build_lualatexpdf(self):
+ if self.run_generic_build('latex') > 0:
+ return 1
+ with cd(self.builddir_join('latex')):
+ os.system('make PDFLATEX=lualatex all-pdf')
+
+ def build_xelatexpdf(self):
+ if self.run_generic_build('latex') > 0:
+ return 1
+ with cd(self.builddir_join('latex')):
+ os.system('make PDFLATEX=xelatex all-pdf')
+
def build_text(self):
if self.run_generic_build('text') > 0:
return 1
diff --git a/sphinx/quickstart.py b/sphinx/quickstart.py
index 9511eda11..83fd2f449 100644
--- a/sphinx/quickstart.py
+++ b/sphinx/quickstart.py
@@ -555,33 +555,35 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) %(rsrcdir)s
.PHONY: help
help:
\t@echo "Please use \\`make <target>' where <target> is one of"
-\t@echo " html to make standalone HTML files"
-\t@echo " dirhtml to make HTML files named index.html in directories"
-\t@echo " singlehtml to make a single large HTML file"
-\t@echo " pickle to make pickle files"
-\t@echo " json to make JSON files"
-\t@echo " htmlhelp to make HTML files and a HTML help project"
-\t@echo " qthelp to make HTML files and a qthelp project"
-\t@echo " applehelp to make an Apple Help Book"
-\t@echo " devhelp to make HTML files and a Devhelp project"
-\t@echo " epub to make an epub"
-\t@echo " epub3 to make an epub3"
-\t@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
-\t@echo " latexpdf to make LaTeX files and run them through pdflatex"
-\t@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
-\t@echo " text to make text files"
-\t@echo " man to make manual pages"
-\t@echo " texinfo to make Texinfo files"
-\t@echo " info to make Texinfo files and run them through makeinfo"
-\t@echo " gettext to make PO message catalogs"
-\t@echo " changes to make an overview of all changed/added/deprecated items"
-\t@echo " xml to make Docutils-native XML files"
-\t@echo " pseudoxml to make pseudoxml-XML files for display purposes"
-\t@echo " linkcheck to check all external links for integrity"
-\t@echo " doctest to run all doctests embedded in the documentation \
+\t@echo " html to make standalone HTML files"
+\t@echo " dirhtml to make HTML files named index.html in directories"
+\t@echo " singlehtml to make a single large HTML file"
+\t@echo " pickle to make pickle files"
+\t@echo " json to make JSON files"
+\t@echo " htmlhelp to make HTML files and a HTML help project"
+\t@echo " qthelp to make HTML files and a qthelp project"
+\t@echo " applehelp to make an Apple Help Book"
+\t@echo " devhelp to make HTML files and a Devhelp project"
+\t@echo " epub to make an epub"
+\t@echo " epub3 to make an epub3"
+\t@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+\t@echo " latexpdf to make LaTeX files and run them through pdflatex"
+\t@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+\t@echo " lualatexpdf to make LaTeX files and run them through pdflatex"
+\t@echo " xelatexpdf to make LaTeX files and run them through pdflatex"
+\t@echo " text to make text files"
+\t@echo " man to make manual pages"
+\t@echo " texinfo to make Texinfo files"
+\t@echo " info to make Texinfo files and run them through makeinfo"
+\t@echo " gettext to make PO message catalogs"
+\t@echo " changes to make an overview of all changed/added/deprecated items"
+\t@echo " xml to make Docutils-native XML files"
+\t@echo " pseudoxml to make pseudoxml-XML files for display purposes"
+\t@echo " linkcheck to check all external links for integrity"
+\t@echo " doctest to run all doctests embedded in the documentation \
(if enabled)"
-\t@echo " coverage to run coverage check of the documentation (if enabled)"
-\t@echo " dummy to check syntax errors of document sources"
+\t@echo " coverage to run coverage check of the documentation (if enabled)"
+\t@echo " dummy to check syntax errors of document sources"
.PHONY: clean
clean:
@@ -688,6 +690,20 @@ latexpdfja:
\t$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
\t@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+.PHONY: lualatexpdf
+lualatexpdf:
+\t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+\t@echo "Running LaTeX files through lualatex..."
+\t$(MAKE) PDFLATEX=lualatex -C $(BUILDDIR)/latex all-pdf
+\t@echo "lualatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+.PHONY: xelatexpdf
+xelatexpdf:
+\t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+\t@echo "Running LaTeX files through xelatex..."
+\t$(MAKE) PDFLATEX=xelatex -C $(BUILDDIR)/latex all-pdf
+\t@echo "xelatex finished; the PDF files are in $(BUILDDIR)/latex."
+
.PHONY: text
text:
\t$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text