Skip to content

Commit 74d6476

Browse files
committed
Add preliminary materials about Concurrency Primer
1 parent 2c4c78c commit 74d6476

File tree

7 files changed

+1841
-0
lines changed

7 files changed

+1841
-0
lines changed

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
_minted*/
2+
*.aux
3+
*.log
4+
*.out
5+
*.pdf
6+
*.toc
7+
*.fls
8+
*.fdb_latexmk
9+
draftmark.tex
10+
lstlangarm.sty

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Contributions are welcome!
2+
This paper is prepared in LaTeX - if you're not familiar with it,
3+
feel free to contact the author (via email, by opening an issue, etc.)
4+
in lieu of pull requests.

Makefile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
lstlangarm.sty:
2+
wget https://raw.githubusercontent.com/sysprog21/arm-assembler-latex-listings/master/lstlangarm.sty
3+
4+
concurrency-primer.pdf: lstlangarm.sty concurrency-primer.tex
5+
latexmk -lualatex -latexoption=-shell-escape concurrency-primer.tex
6+
7+
# Clear the .DEFAULT_GOAL special variable, so that the following turns
8+
# to the first target after .DEFAULT_GOAL is not set.
9+
.DEFAULT_GOAL :=
10+
11+
all: concurrency-primer.pdf
12+
13+
clean:
14+
rm -f *.dvi *.aux *.log *.ps *.pdf *.out *.bbl *.blg *.lof *.toc *.fdb_latexmk *.fls
15+
rm -rf _minted-concurrency-primer
16+
17+
distclean: clean
18+
rm -f lstlangarm.sty

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Concurrency Primer
2+
3+
This repository contains the LaTeX source for a pretentiously-named,
4+
but hopefully concise,
5+
introduction to low-level concurrency.
6+
7+
## How do I build it?
8+
9+
Install a modern, Unicode-aware LaTeX, such as LuaLaTeX.
10+
On Linux, this is usually as simple as installing the system TeX Live package, e.g., `texlive-base` or `texlive-core`.
11+
The same package should also provide the `latexmk` script. (See below)
12+
13+
Install [pygments](http://pygments.org/), a Python syntax highlighter.
14+
This is used by the LaTeX package [minted](https://ctan.org/tex-archive/macros/latex/contrib/minted/) to handle our syntax highlighting.
15+
16+
Build the document using
17+
```shell
18+
$ make
19+
```
20+
21+
Note that `latexmk` will run LuaLaTeX multiple times, since TeX generates cross references in one pass, then links them in a second.
22+
23+
If you can't use `latexmk` for some reason, you can manually invoke
24+
```shell
25+
$ lualatex -halt-on-error -shell-escape concurrency-primer.tex
26+
```
27+
until it no longer warns, "Label(s) may have changed. Rerun to get cross-references right."
28+
29+
Enjoy a typeset `concurrency-primer.pdf`.

0 commit comments

Comments
 (0)