ubuntu2404
# Makefile for CoCalc Mathematics with Symbolic Computation Template
# Optimized for SageTeX compilation
# Document settings
MAIN = main
TEXFILE = $(MAIN).tex
PDFFILE = $(MAIN).pdf
# LaTeX compilation settings
LATEX = pdflatex
LATEXFLAGS = -shell-escape -interaction=nonstopmode -file-line-error
# SageTeX settings
SAGE = sage
# Default target
all: $(PDFFILE)
# Full compilation with SageTeX
$(PDFFILE): $(TEXFILE)
@echo "Starting mathematics template compilation with SageTeX..."
@mkdir -p figures
@echo "Step 1: Initial LaTeX compilation"
$(LATEX) $(LATEXFLAGS) $(MAIN)
@echo "Step 2: Running Sage for symbolic computation"
$(SAGE) $(MAIN).sagetex.sage
@echo "Step 3: Final LaTeX compilation"
$(LATEX) $(LATEXFLAGS) $(MAIN)
@echo "Mathematics template compilation complete: $(PDFFILE)"
# Quick draft compilation without SageTeX
draft: $(TEXFILE)
@echo "Quick draft compilation (no SageTeX)..."
$(LATEX) -interaction=nonstopmode $(MAIN)
@echo "Draft compilation complete: $(PDFFILE)"
# Generate figures only
figures: $(TEXFILE)
@echo "Generating mathematical figures with SageTeX..."
@mkdir -p figures
$(LATEX) $(LATEXFLAGS) $(MAIN)
$(SAGE) $(MAIN).sagetex.sage
@echo "Figures generated"
# Clean generated files
clean:
@echo "Cleaning generated files..."
rm -f *.aux *.log *.out *.toc *.lof *.lot *.bbl *.blg
rm -f *.fdb_latexmk *.fls *.synctex.gz
rm -f *.sagetex.sage *.sagetex.scmd *.sagetex.sout
rm -f $(MAIN).run.xml $(MAIN)-blx.bib
rm -rf sage-plots-for-$(MAIN).tex/ __pycache__/
rm -rf figures/
@echo "Clean complete."
# Force recompilation
force:
$(MAKE) clean
$(MAKE) all
# Test Sage installation
test-sage:
@echo "Testing Sage installation..."
sage -v
sage -c "print('Sage is working correctly')"
# Help
help:
@echo "CoCalc Mathematics with Symbolic Computation Template"
@echo ""
@echo "Available targets:"
@echo " all - Full compilation with SageTeX (default)"
@echo " draft - Quick compilation without SageTeX"
@echo " figures - Generate mathematical figures only"
@echo " clean - Remove all generated files"
@echo " force - Clean and recompile"
@echo " test-sage - Test Sage installation"
@echo " help - Show this help message"
@echo ""
@echo "Dependencies:"
@echo " - SageMath for symbolic computation"
@echo " - LaTeX packages: sagetex, amsmath, tikz, pgfplots"
.PHONY: all draft figures clean force test-sage help