16 lines
2.6 KiB
Markdown
16 lines
2.6 KiB
Markdown
# Paper template
|
|
|
|
This repository is a template for an academic paper in LaTeX, written with Claude Code as an assistant. It compiles as it is and contains placeholder content.
|
|
|
|
## Layout
|
|
|
|
`main.tex` uses the article class; a marked block at its top switches it to a venue class, whose files go in `venue/`. It loads the macros in `macros/` and inputs the sections in `sections/` and the proofs in `appendix/`. Every symbol of the paper is a macro in `macros/notation.tex`, listed with its meaning in `context/notation.md`. Figures are standalone TikZ files in `figures/src/` that read their data from `figures/data/`, and the paper includes their compiled PDFs from `figures/build/`. The references are in `bib/refs.bib`, processed by biblatex with biber.
|
|
|
|
`context/` contains the material Claude Code works from: the outline with the claims of the paper and the goal of each section, the notation table, and referee reviews, which Claude Code does not edit; and the related papers, which Claude Code downloads into `context/related-papers/` as `<year>-<first-author-surname>-<title-slug>.pdf`, each with a `.md` file of notes. When a download is blocked, you save the file from Firefox into `ingest/`, and Claude Code moves it to `context/related-papers/`. `scratch/` contains explorations, one dated folder each, indexed in `scratch/README.md`. `.claude/` contains the permissions of Claude Code and the commands `/review-section`, `/check-notation`, `/tighten-prose` and `/new-scratch`. `CLAUDE.md` contains the rules Claude Code follows and imports two files: `writing-style-guide.md`, the style guide, and `claudese.md`, the list of banned words and phrases. `.mcp.json` registers the dblp MCP server.
|
|
|
|
Entries from dblp, through the dblp MCP server or `dblp-cli bibtex <key>`, may be added to `bib/refs.bib` at any time.
|
|
|
|
## Building
|
|
|
|
`make` compiles the figures, then the paper with latexmk into `build/make/`, and copies the PDF to `main.pdf`. `make figures` compiles each `figures/src/*.tex` into `figures/build/`, and recompiles a figure when its source or a file in `figures/data/` has changed. `make watch` runs latexmk in continuous mode into `build/`, the folder vimtex also uses through `.latexmkrc`; since `make` writes into `build/make/`, it can run while vimtex or `make watch` is compiling. `make clean` removes `build/` and `figures/build/`. `make arxiv` writes `build/arxiv.tar.gz` with the sources, the compiled figures and the `.bbl` file, without `context/`, `scratch/`, `ingest/`, `.claude/`, `CLAUDE.md`, `writing-style-guide.md`, `claudese.md` and `.mcp.json`. `make wordcount` runs texcount over `sections/` and `appendix/`.
|