File tree Expand file tree Collapse file tree 8 files changed +190
-15
lines changed
Expand file tree Collapse file tree 8 files changed +190
-15
lines changed Original file line number Diff line number Diff line change 1+ .git
2+ .github
3+ build
4+
5+ * .pdf
6+ * .bbl
7+ * .blg
8+ * .aux
9+ * .log
10+ * .out
11+ * .toc
12+ * .synctex.gz
13+
14+ .DS_Store
Original file line number Diff line number Diff line change 1+ name : Build PDF
2+
3+ on :
4+ push :
5+ pull_request :
6+
7+ jobs :
8+ build :
9+ runs-on : ubuntu-latest
10+ steps :
11+ - name : Checkout
12+ uses : actions/checkout@v4
13+
14+ - name : Install TeX toolchain
15+ run : |
16+ sudo apt-get update
17+ sudo apt-get install -y \
18+ latexmk \
19+ texlive-latex-base \
20+ texlive-latex-extra \
21+ texlive-fonts-recommended \
22+ texlive-pictures \
23+ texlive-bibtex-extra
24+
25+ - name : Build PDF
26+ run : |
27+ make pdf
28+
29+ - name : Upload artifact
30+ uses : actions/upload-artifact@v4
31+ with :
32+ name : catalyst-technical-whitepaper
33+ path : |
34+ build/*.pdf
35+ build/*.log
Original file line number Diff line number Diff line change 11
2+ # # LaTeX build artifacts
23* .aux
3-
4- * .log
5-
4+ * .bbl
5+ * .bcf
66* .blg
7-
8- * .gz
9-
7+ * .fdb_latexmk
8+ * .fls
9+ * .log
1010* .out
11-
11+ * .run.xml
12+ * .synctex.gz
1213* .toc
1314
14- .vs /ProjectSettings.json
15-
16- .vs /slnx.sqlite
17-
18- .vs /VSWorkspaceState.json
19-
20- .vs /whitepaper /v16 /.suo
15+ # # Common LaTeX extras
16+ * .lof
17+ * .lot
18+ * .nav
19+ * .snm
20+ * .vrb
21+ * .xdv
22+ * .idx
23+ * .ilg
24+ * .ind
25+ * .ist
26+ * .acn
27+ * .acr
28+ * .alg
29+ * .glg
30+ * .glo
31+ * .gls
32+ _minted *
33+
34+ # # Build output directory (used by Makefile/CI)
35+ build /
36+
37+ # # OS / editor artifacts
38+ .DS_Store
39+ .vs /
Original file line number Diff line number Diff line change 1+ ## Contributing
2+
3+ Thanks for taking the time to contribute.
4+
5+ ### Scope
6+
7+ This repository contains the Catalyst whitepaper sources and build tooling.
8+
9+ - Please keep changes focused and easy to review.
10+ - Avoid reformat-only changes unless they are necessary for the task at hand.
11+
12+ ### Workflow
13+
14+ - Create a branch from ` master ` .
15+ - Open a pull request with a short summary and, if applicable, a note on how you built the PDF locally.
16+
17+ ### Building locally
18+
19+ See the "Building (local)" section in ` README.md ` and run:
20+
21+ ``` bash
22+ make pdf
23+ ```
24+
Original file line number Diff line number Diff line change 1+ FROM ubuntu:24.04
2+
3+ ENV DEBIAN_FRONTEND=noninteractive
4+
5+ RUN apt-get update && apt-get install -y --no-install-recommends \
6+ make \
7+ latexmk \
8+ texlive-latex-base \
9+ texlive-latex-extra \
10+ texlive-fonts-recommended \
11+ texlive-pictures \
12+ texlive-bibtex-extra \
13+ && rm -rf /var/lib/apt/lists/*
14+
15+ WORKDIR /work
16+
17+ CMD ["make" , "pdf" ]
Original file line number Diff line number Diff line change 1+ TEX ?= catalyst-technical-whitepaper-new.tex
2+ OUTDIR ?= build
3+
4+ .PHONY : help pdf clean distclean
5+
6+ help :
7+ @echo " Targets:"
8+ @echo " make pdf Build PDF from $( TEX) into $( OUTDIR) /"
9+ @echo " make clean Remove intermediate LaTeX artifacts in $( OUTDIR) /"
10+ @echo " make distclean Remove $( OUTDIR) / completely"
11+ @echo " "
12+ @echo " Variables:"
13+ @echo " TEX=<file.tex> Choose entrypoint (default: $( TEX) )"
14+ @echo " OUTDIR=<dir> Output directory (default: $( OUTDIR) )"
15+
16+ $(OUTDIR ) :
17+ @mkdir -p " $( OUTDIR) "
18+
19+ pdf : $(OUTDIR )
20+ @command -v latexmk > /dev/null 2>&1 || ( \
21+ echo " latexmk not found. Install TeX Live + latexmk (see README.md)." ; \
22+ exit 127; \
23+ )
24+ latexmk -pdf -interaction=nonstopmode -halt-on-error -outdir=" $( OUTDIR) " " $( TEX) "
25+
26+ clean :
27+ @if [ -d " $( OUTDIR) " ]; then latexmk -c -outdir=" $( OUTDIR) " " $( TEX) " || true ; fi
28+
29+ distclean :
30+ @rm -rf " $( OUTDIR) "
Original file line number Diff line number Diff line change @@ -16,6 +16,42 @@ Setting up and using LaTeX can be found here:
1616
1717https://github.com/catalyst-network/whitepaper/wiki/Using-and-Compiling-LaTeX
1818
19+ ## Building (local)
20+
21+ This repository is a LaTeX project. The recommended entrypoint is:
22+
23+ - ` catalyst-technical-whitepaper-new.tex `
24+
25+ ### Prerequisites (Ubuntu/Debian)
26+
27+ Install a TeX distribution and ` latexmk ` :
28+
29+ ``` bash
30+ sudo apt update
31+ sudo apt install -y latexmk texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-pictures texlive-bibtex-extra
32+ ```
33+
34+ ### Build
35+
36+ ``` bash
37+ make pdf
38+ ```
39+
40+ Outputs are written to ` build/ ` (see ` Makefile ` ).
41+
42+ ### Build (Docker)
43+
44+ If you prefer not to install TeX locally:
45+
46+ ``` bash
47+ docker build -t catalyst-whitepaper .
48+ docker run --rm -v " $PWD :/work" catalyst-whitepaper
49+ ```
50+
51+ ### Alternative entrypoints
52+
53+ - ` catalyst-technical-whitepaper.tex ` exists, but may not build in some revisions depending on which consensus subsection file is present.
54+
1955
2056## File Format
2157
@@ -29,4 +65,4 @@ Each section and subsection is split into separate `.tex` files for ease of edit
2965
3066The paper that covers the PoA Test net and the minor changes involved with that can be found [ here] ( https://github.com/catalyst-network/whitepaper/tree/PoA-paper-version ) .
3167
32- Differences are primeraly in the consensus algorithm with regards to producer selection.
68+ Differences are primarily in the consensus algorithm with regards to producer selection.
You can’t perform that action at this time.
0 commit comments