diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-04-21 00:58:26 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2016-04-21 00:58:26 +0900 |
commit | cf3b50d3b93607b45534140cc6ff112fbe2b673d (patch) | |
tree | 0d2f86beb24b687d39e6e0da2e30bf9c314c2a57 | |
parent | 132059a25308a1b68c4991ccc0a1a10f4101f5d8 (diff) | |
download | sphinx-git-cf3b50d3b93607b45534140cc6ff112fbe2b673d.tar.gz |
Close #894: Add ``lualatexpdf`` and ``xelatexpdf`` as a make target to build PDF using lualatex or xelatex
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | sphinx/make_mode.py | 62 | ||||
-rw-r--r-- | sphinx/quickstart.py | 68 |
3 files changed, 81 insertions, 50 deletions
@@ -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 |