When to use this skill:
-
Compiling LaTeX documents
-
Setting up live preview with auto-rebuild
-
Managing multi-file projects
-
Troubleshooting build failures
-
Cleaning build artifacts
-
Automating compilation workflows
Why latexmk?
Industry standard build tool:
-
Auto-detects dependencies (bibliography, index, etc.)
-
Runs correct number of times (handles cross-references)
-
Live preview mode watches for file changes
-
Works with Skim for SyncTeX auto-reload
-
Bundled with MacTeX (no separate install needed)
Basic Usage
One-Time Build
latexmk -pdf document.tex
# Result: document.pdf created
Live Preview (Watch Mode)
latexmk -pvc -pdf document.tex
# What happens:
# - Compiles document initially
# - Watches for file changes
# - Auto-recompiles when files change
# - Auto-reloads PDF in Skim viewer
Stop watching: Press Ctrl+C
Quick Reference Card
# Build once
latexmk -pdf document.tex
# Live preview (watch mode)
latexmk -pvc -pdf document.tex
# Build with SyncTeX
latexmk -pdf -synctex=1 document.tex
# Clean artifacts
latexmk -c # Keep PDF
latexmk -C # Remove PDF too
# Force rebuild
latexmk -gg -pdf document.tex
# Non-interactive (for CI)
latexmk -pdf -interaction=nonstopmode document.tex
Build Checklist
Verify latexmk installed: which latexmk
Test basic build: latexmk -pdf document.tex
Enable SyncTeX: Add -synctex=1 flag
Test live preview: latexmk -pvc -pdf document.tex
Configure Skim for auto-reload
Create Makefile for common tasks (optional)
Create .latexmkrc for project-specific settings (optional)
Test clean: latexmk -c removes artifacts
Reference Documentation
For detailed information, see:
-
Common Commands - Build options and output formats
-
Multi-File Projects - Automatic dependency tracking for complex documents
-
Configuration - .latexmkrc and Makefile integration
-
Troubleshooting - Common build issues and solutions
-
Advanced Patterns - Parallel builds and CI/CD integration
Official Docs: Run man latexmk or latexmk -help for complete reference
See Also:
-
Use
latex/setupskill for installing LaTeX and configuring environment -
Use
latex/tablesskill for creating tables with tabularray