From 4eed11f9256e176ccf4c20a8977e2f9e43d1373e Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Thu, 11 Jul 2019 17:55:18 +0100 Subject: [PATCH] Changes needed to support TeXLive 2019. Signed-off-by: Daira Hopwood --- protocol/Makefile | 15 +++++++++++---- protocol/README.rst | 21 +++++++++++---------- protocol/protocol.tex | 26 +++++++++++++++++++++----- 3 files changed, 43 insertions(+), 19 deletions(-) diff --git a/protocol/Makefile b/protocol/Makefile index 6da353d4..ee495c1a 100644 --- a/protocol/Makefile +++ b/protocol/Makefile @@ -1,11 +1,14 @@ -# Experimental; options are nothing (for traditional LaTeX), -lualatex, or -xelatex. -# The nolatexmk-* targets ignore this setting. +# Experimental; options are pdflatex, lualatex, or xelatex. # On Debian, LuaLaTeX needs the texlive-luatex package, and XeLaTeX needs the texlive-xetex package. # Make sure to read . ENGINE= -LATEXMK=latexmk $(ENGINE) --halt-on-error -bibtex -pdf -logfilewarnings- -LATEX=pdflatex --halt-on-error +LATEXMKOPT_pdflatex= +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" # (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; } sh mymakeindex.sh -o sapling.ind sapling.idx $(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; } + cp -f sapling.pdf protocol.pdf .PHONY: nolatexmk-blossom nolatexmk-blossom: @@ -164,3 +168,6 @@ optblossom: .PHONY: optimized optimized: optsapling optsprout optblossom + +.PHONY: all +all: sapling sprout blossom diff --git a/protocol/README.rst b/protocol/README.rst index 3f31c0d9..0217b21d 100644 --- a/protocol/README.rst +++ b/protocol/README.rst @@ -9,9 +9,6 @@ Build dependencies on Debian-based systems include, at least: apt-get install texlive texlive-science texlive-fonts-extra \ 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 -------- @@ -25,10 +22,11 @@ Use: * ``make sprout`` to make a version of the specification that does not include Overwinter or Sapling. -By default these use ``latexmk``, which does not work on all systems. -Use ``make nolatexmk-sapling`` or ``make nolatexmk-sprout`` if you run into -problems with ``latexmk``, but that is not the preferred way of building -because it may not run ``pdflatex`` enough times. +``make all`` is equivalent to ``make sapling blossom sprout``. + +By default these use ``latexmk``. If you have trouble getting ``latexmk`` to +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 ``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 ------------------- -Optionally, you can use Ghostscript to optimize the size of the resulting -PDF files. +Optionally, you can use Ghostscript to attempt to optimize the size of the +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 optblossom`` to make an optimized version of ``blossom.pdf``; diff --git a/protocol/protocol.tex b/protocol/protocol.tex index a5539b8c..d25c97b4 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -13,7 +13,7 @@ if fontdata.characters and fontdata.characters[120] then parameters.x_height = fontdata.characters[120].height else - parameters.x_height = (parameters.ascender or 0)*0.4 + parameters.x_height = (parameters.ascender or 0)*0.5 end end, "Fix x-height") } @@ -21,7 +21,6 @@ \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage{microtype} \usepackage{amsmath} \usepackage{amsthm} \usepackage{bytefield} @@ -72,13 +71,21 @@ \usepackage{tocloft} \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} \WarningFilter{latex}{Reference} \WarningFilter{latex}{Citation} \WarningFilter{latex}{Hyper reference} +\WarningFilter{microtype}{Unknown slot number of character} + +\usepackage{microtype} + +% Target biblatex >= v3.5. +\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 \usepackage{lmodern} @@ -372,6 +379,8 @@ \newif\iftx@libertine \newif\iftx@minion \newif\iftx@coch +\newif\iftx@ch +\newif\iftx@stxtwo \makeatother \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} +\subparagraph{2019.0.4} + +\begin{itemize} + \item Changes needed to support TeXLive 2019. +\end{itemize} + +\introlist \subparagraph{2019.0.3} 2019-07-08