Changes needed to support TeXLive 2019.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2019-07-11 17:55:18 +01:00
parent 234e0faf0b
commit 4eed11f925
3 changed files with 43 additions and 19 deletions

View File

@ -1,11 +1,14 @@
# Experimental; options are nothing (for traditional LaTeX), -lualatex, or -xelatex. # Experimental; options are pdflatex, lualatex, or xelatex.
# The nolatexmk-* targets ignore this setting.
# On Debian, LuaLaTeX needs the texlive-luatex package, and XeLaTeX needs the texlive-xetex package. # On Debian, LuaLaTeX needs the texlive-luatex package, and XeLaTeX needs the texlive-xetex package.
# Make sure to read <https://github.com/zcash/zips/issues/249>. # Make sure to read <https://github.com/zcash/zips/issues/249>.
ENGINE= ENGINE=
LATEXMK=latexmk $(ENGINE) --halt-on-error -bibtex -pdf -logfilewarnings- LATEXMKOPT_pdflatex=
LATEX=pdflatex --halt-on-error LATEXMKOPT_xelatex=-pdflatex=xelatex -dvi- -ps-
LATEXMKOPT_lualatex=-pdflatex=lualatex -dvi- -ps-
LATEXMK=latexmk $(LATEXMKOPT_$(ENGINE)) --halt-on-error -bibtex -pdf -logfilewarnings-
LATEX=$(ENGINE) --halt-on-error
# extractpdfmark is needed to produce optimized PDFs that preserve "named destinations" # extractpdfmark is needed to produce optimized PDFs that preserve "named destinations"
# (needed for external links into the file to work correctly). # (needed for external links into the file to work correctly).
@ -107,6 +110,7 @@ nolatexmk-sapling:
$(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; } $(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; }
sh mymakeindex.sh -o sapling.ind sapling.idx sh mymakeindex.sh -o sapling.ind sapling.idx
$(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; } $(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; }
cp -f sapling.pdf protocol.pdf
.PHONY: nolatexmk-blossom .PHONY: nolatexmk-blossom
nolatexmk-blossom: nolatexmk-blossom:
@ -164,3 +168,6 @@ optblossom:
.PHONY: optimized .PHONY: optimized
optimized: optsapling optsprout optblossom optimized: optsapling optsprout optblossom
.PHONY: all
all: sapling sprout blossom

View File

@ -9,9 +9,6 @@ Build dependencies on Debian-based systems include, at least:
apt-get install texlive texlive-science texlive-fonts-extra \ apt-get install texlive texlive-science texlive-fonts-extra \
texlive-generic-recommended texlive-bibtex-extra biber latexmk perl texlive-generic-recommended texlive-bibtex-extra biber latexmk perl
To use the targets described under "Optimizing PDF size", you will also
need the `ghostscript`, `extractpdfmark`, and `awk` packages.
Building Building
-------- --------
@ -25,10 +22,11 @@ Use:
* ``make sprout`` to make a version of the specification that does not * ``make sprout`` to make a version of the specification that does not
include Overwinter or Sapling. include Overwinter or Sapling.
By default these use ``latexmk``, which does not work on all systems. ``make all`` is equivalent to ``make sapling blossom sprout``.
Use ``make nolatexmk-sapling`` or ``make nolatexmk-sprout`` if you run into
problems with ``latexmk``, but that is not the preferred way of building By default these use ``latexmk``. If you have trouble getting ``latexmk`` to
because it may not run ``pdflatex`` enough times. work, you can instead use ``make nolatexmk-sapling``, etc. That is not the
preferred way of building because it may not run ``pdflatex`` enough times.
There is also support for using the incremental (``-pvc``) mode of There is also support for using the incremental (``-pvc``) mode of
``latexmk`` to automatically rebuild when changes in the source files are ``latexmk`` to automatically rebuild when changes in the source files are
@ -39,10 +37,13 @@ Manual intervention is still needed when there are LaTeX errors.
Optimizing PDF size Optimizing PDF size
------------------- -------------------
Optionally, you can use Ghostscript to optimize the size of the resulting Optionally, you can use Ghostscript to attempt to optimize the size of the
PDF files. resulting PDF files. Note that this is not recommended with recent versions
of TeXLive that produce smaller PDFs in any case, since then it may increase
the size. (Debian Buster includes TeXLive 2019.)
Use: For this option you will need to ensure the `ghostscript`, `extractpdfmark`,
and `awk` packages are installed. Then use:
* ``make optsapling`` to make an optimized version of ``protocol.pdf``; * ``make optsapling`` to make an optimized version of ``protocol.pdf``;
* ``make optblossom`` to make an optimized version of ``blossom.pdf``; * ``make optblossom`` to make an optimized version of ``blossom.pdf``;

View File

@ -13,7 +13,7 @@
if fontdata.characters and fontdata.characters[120] then if fontdata.characters and fontdata.characters[120] then
parameters.x_height = fontdata.characters[120].height parameters.x_height = fontdata.characters[120].height
else else
parameters.x_height = (parameters.ascender or 0)*0.4 parameters.x_height = (parameters.ascender or 0)*0.5
end end
end, "Fix x-height") end, "Fix x-height")
} }
@ -21,7 +21,6 @@
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{amsthm} \usepackage{amsthm}
\usepackage{bytefield} \usepackage{bytefield}
@ -72,13 +71,21 @@
\usepackage{tocloft} \usepackage{tocloft}
\usepackage{pict2e} \usepackage{pict2e}
\usepackage[style=alphabetic,maxbibnames=99,dateabbrev=false,urldate=edtf,seconds=true,
backref=true,backrefstyle=none,backend=biber]{biblatex}
\addbibresource{zcash.bib}
\usepackage{silence} \usepackage{silence}
\WarningFilter{latex}{Reference} \WarningFilter{latex}{Reference}
\WarningFilter{latex}{Citation} \WarningFilter{latex}{Citation}
\WarningFilter{latex}{Hyper reference} \WarningFilter{latex}{Hyper reference}
\WarningFilter{microtype}{Unknown slot number of character}
\usepackage{microtype}
% Target biblatex >= v3.5. <https://tex.stackexchange.com/a/231215/78411>
\WarningFilter{biblatex}{'edtf'}
\WarningFilter{biblatex}{'\mkdaterangeedtf'}
\usepackage[style=alphabetic,maxbibnames=99,dateabbrev=false,urldate=edtf,seconds=true,
backref=true,backrefstyle=none,backend=biber]{biblatex}
\addbibresource{zcash.bib}
% Fonts % Fonts
\usepackage{lmodern} \usepackage{lmodern}
@ -372,6 +379,8 @@
\newif\iftx@libertine \newif\iftx@libertine
\newif\iftx@minion \newif\iftx@minion
\newif\iftx@coch \newif\iftx@coch
\newif\iftx@ch
\newif\iftx@stxtwo
\makeatother \makeatother
\DeclareSymbolFont{lettersA}{U}{ntxmia}{m}{it} \DeclareSymbolFont{lettersA}{U}{ntxmia}{m}{it}
@ -10120,6 +10129,13 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\section{Change History} \label{changehistory} \section{Change History} \label{changehistory}
\subparagraph{2019.0.4}
\begin{itemize}
\item Changes needed to support TeXLive 2019.
\end{itemize}
\introlist
\subparagraph{2019.0.3} \subparagraph{2019.0.3}
2019-07-08 2019-07-08