Zcash Protocol Specification
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
make saplingto make the draft specification for the Overwinter and Sapling upgrades (
make sproutto 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.
make nolatexmk-pdf or
make nolatexmk-sapling if you run into
latexmk, but 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
make pvcsapling or
Manual intervention is still needed when there are LaTeX errors.
Optimizing PDF size
Optionally, you can use Péter Szabó's
pdfsizeopt program to optimize the size of the resulting PDF files.
make optsaplingto make an optimized version of
make optsproutto make an optimized version of
make optimizedto make both.
This will probably only work on Linux. The first time one of these
targets is run, it will automatically clone and build the necessary
dependencies (pinned by
git hash) from GitHub.
This gives a size saving of about 40-50%.
Converting to HTML
To convert to HTML you will first need to install
pdf2htmlEX. On Debian:
apt-get install pdf2htmlex
make html (or
make optimized html) to convert both PDFs.
The results are placed in the
html directory at
See https://github.com/zcash/zips/issues/127 for limitations of this conversion.