Files
mytoolkit/mytoolkit/journals/springer/Makefile
T
Zhengshou Lai 587eac8837 feat: add journal submission kits + paper scaffold; restructure package
- init journal <elsevier|ieee|springer>: self-contained, make-buildable kits
  (Springer sn-jnl.cls + bst bundled; reuses project references.bib)
- init paper scaffold: ctexart + Fandol fonts, bib at root, latexdiff highlighted
- move templates/ under mytoolkit/, add info/references, relocate protocols
- migrate mytoolkit skill into submodule; update README/CLAUDE docs
2026-06-28 23:38:47 +08:00

60 lines
1.9 KiB
Makefile

.PHONY: all clean show-errors show-log watch help
# Journal submissions compile with pdflatex (the publisher norm) + bibtex.
TEXFILE ?= main.tex
PROJECT = $(basename $(TEXFILE))
LATEXMK = latexmk
OUTDIR = build
# Let bibtex find .bst/.bib regardless of latexmk's build/ run dir
# (Springer ships its styles under bst/).
export BSTINPUTS := $(CURDIR):$(CURDIR)/bst:
export BIBINPUTS := $(CURDIR):
MAKELOG = $(OUTDIR)/make.log
TEXLOG = $(OUTDIR)/$(PROJECT).log
ARTIFACTS = $(PROJECT).aux $(PROJECT).bbl $(PROJECT).blg $(PROJECT).log $(PROJECT).out \
$(PROJECT).toc $(PROJECT).synctex.gz $(PROJECT).fls $(PROJECT).fdb_latexmk $(PROJECT).spl
all:
@mkdir -p $(OUTDIR)
@echo "Compiling $(PROJECT).tex (pdflatex, full log: $(MAKELOG))..."
@$(LATEXMK) -pdf -outdir=$(OUTDIR) -interaction=nonstopmode $(PROJECT).tex < /dev/null > $(MAKELOG) 2>&1; \
status=$$?; \
if [ $$status -ne 0 ]; then \
echo "Build failed."; \
$(MAKE) -s show-errors; \
echo "Full log: $(MAKELOG)"; \
exit $$status; \
fi
@cp $(OUTDIR)/$(PROJECT).pdf ./$(PROJECT).pdf
@rm -f $(ARTIFACTS)
@echo "Done: $(PROJECT).pdf"
show-errors:
@if [ -f $(TEXLOG) ]; then \
grep -E -A2 '^! |^l\.[0-9]+ |LaTeX Error|Undefined control sequence|Missing \$$ inserted|Package .* Error|Emergency stop|Fatal error' \
$(TEXLOG) 2>/dev/null \
|| tail -30 $(MAKELOG); \
else \
tail -30 $(MAKELOG); \
fi
show-log:
@less $(MAKELOG)
watch:
$(LATEXMK) -pvc -pdf -outdir=$(OUTDIR) -interaction=nonstopmode $(PROJECT).tex
clean:
$(LATEXMK) -C -outdir=$(OUTDIR) $(PROJECT).tex
rm -rf $(OUTDIR)
rm -f $(ARTIFACTS)
help:
@echo
@echo '1. "make" compile (pdflatex+bibtex via latexmk, PDF copied to root)'
@echo '2. "make show-errors" re-print the error lines from the last build'
@echo '3. "make show-log" page through the full build log'
@echo '4. "make watch" continuous preview-compile'
@echo '5. "make clean" remove build/ and stray artifacts'
@echo