ubuntu2404
# Makefile for CoCalc Machine Learning Template # Optimized for PythonTeX compilation with ML frameworks # Document settings MAIN = main TEXFILE = $(MAIN).tex PDFFILE = $(MAIN).pdf # LaTeX compilation settings LATEX = pdflatex LATEXFLAGS = -shell-escape -interaction=nonstopmode -file-line-error # PythonTeX settings PYTHONTEX = pythontex PYTHONTEXFLAGS = --verbose # BibTeX settings BIBTEX = bibtex # Default target all: $(PDFFILE) # Full compilation with PythonTeX $(PDFFILE): $(TEXFILE) @echo "Starting machine learning template compilation..." @mkdir -p figures @echo "Step 1: Initial LaTeX compilation" $(LATEX) $(LATEXFLAGS) $(MAIN) @echo "Step 2: Running PythonTeX for ML analysis" $(PYTHONTEX) $(PYTHONTEXFLAGS) $(MAIN) @echo "Step 3: Running BibTeX for bibliography" $(BIBTEX) $(MAIN) @echo "Step 4: Second LaTeX compilation" $(LATEX) $(LATEXFLAGS) $(MAIN) @echo "Step 5: Final LaTeX compilation" $(LATEX) $(LATEXFLAGS) $(MAIN) @echo "Machine learning template compilation complete: $(PDFFILE)" # Quick draft compilation draft: $(TEXFILE) @echo "Quick draft compilation (no PythonTeX)..." $(LATEX) -interaction=nonstopmode $(MAIN) @echo "Draft compilation complete: $(PDFFILE)" # Generate figures only figures: $(TEXFILE) @echo "Generating ML figures with PythonTeX..." @mkdir -p figures $(LATEX) $(LATEXFLAGS) $(MAIN) $(PYTHONTEX) $(PYTHONTEXFLAGS) $(MAIN) @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 *.pytxcode *.makefile *.fdb *.figlist *.makefile rm -f $(MAIN).run.xml $(MAIN)-blx.bib rm -rf pythontex-files-$(MAIN)/ rm -rf figures/ @echo "Clean complete." # Force recompilation force: $(MAKE) clean $(MAKE) all # Test ML dependencies test-deps: @echo "Testing machine learning dependencies..." python3 -c "import numpy; print(f'NumPy: {numpy.__version__}')" python3 -c "import matplotlib; print(f'Matplotlib: {matplotlib.__version__}')" python3 -c "import sklearn; print(f'Scikit-learn: {sklearn.__version__}')" @echo "Dependencies checked." # Help help: @echo "CoCalc Machine Learning Template" @echo "" @echo "Available targets:" @echo " all - Full compilation with PythonTeX (default)" @echo " draft - Quick compilation without PythonTeX" @echo " figures - Generate ML figures only" @echo " clean - Remove all generated files" @echo " force - Clean and recompile" @echo " test-deps - Test ML dependencies" @echo " help - Show this help message" @echo "" @echo "Dependencies:" @echo " - Python packages: numpy, matplotlib, scikit-learn, pandas" @echo " - LaTeX packages: pythontex, amsmath, tikz, pgfplots" .PHONY: all draft figures clean force test-deps help