用 VS Code + Makefile + Git + Docker(可选) 在 macOS 上实现「像 Overleaf 一样开箱即用」的 LaTeX 写作体验:
- ✅ 从 Overleaf 下载的
.zip一键导入即开工 - ✅ 本地
make pdf / make watch编译 + VS Code PDF 预览自动刷新 - ✅
make docker-pdf统一环境编译(解决“你能编译我不能”的问题) - ✅
tex-autofix自动从编译日志推断缺失 TeX 包并生成requirements-texlive.txt(可选自动安装) - ✅ GitHub/GitLab/Gitea 远端仓库持久化备份
- ✅ VS Code Live Share 多人实时协作(像 Overleaf 一样多人同时写)
本仓库提供的是工具脚本 + 使用指南。你导入的每个 LaTeX 项目就是一个独立仓库/工作目录。
scripts/latex-import-zip:导入.zip-> 自动补齐.vscode/、Makefile、.gitignore,并初始化 gitscripts/tex-autofix:扫描latexmk日志,生成/安装缺失tlmgr包清单scripts/latex-enable-docker-repo:把任意项目改造成「repo 自带 Docker 编译规则」开箱即用(生成build/latex.mk+Makefile)docs/USAGE.md:更详细的流程说明
brew install --cask basictex
echo 'export PATH="/Library/TeX/texbin:$PATH"' >> ~/.zshrc
source ~/.zshrc
sudo tlmgr update --self
sudo tlmgr install latexmk验证:
which latexmk
latexmk -v
pdflatex -version | head -n 1- ✅ LaTeX Workshop(必须)
- (可选)GitLens
- (多人实时协作)Live Share
把脚本放进 ~/bin,以后任何项目都能用(也符合你之前的 Homebrew/终端习惯)。
mkdir -p ~/bin
cp -f scripts/* ~/bin/
chmod +x ~/bin/*
# 确保 PATH 包含 ~/bin(如已设置可跳过)
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc验证:
which latex-import-zip
which tex-autofix
which latex-enable-docker-repolatex-import-zip ~/Downloads/your_project.zip
cd your_project
code .脚本会自动:
- 解压(并处理“zip 多一层目录”的常见情况)
- 生成
.vscode/settings.json(让 LaTeX Workshop 走make pdf) - 生成
.gitignore - 生成
Makefile(统一入口) - 初始化 git 并做一次初始提交(如果项目还不是 git repo)
make pdf
# 或持续编译
make watch适合:多人协作、不同机器环境不一致、或你想在 CI 里稳定编译。
在项目根目录运行:
latex-enable-docker-repo .然后:
make docker-pdf它会生成:
build/latex.mk(repo 内规则)Makefile(优先 includebuild/latex.mk,没有才 fallback 到~/.config/latex/latex.mk)
如果你已经配置了 ~/.config/latex/latex.mk(见 docs/USAGE.md),也可以不生成 build/latex.mk,直接 make docker-pdf。
当 latexmk 报错「缺包/缺字体」时:
tex-autofix --tex main.tex
# 生成 requirements-texlive.txt想让它自动安装(需要 tlmgr 权限,必要时 sudo):
tex-autofix --install --tex main.tex
# 或
sudo tex-autofix --install --tex main.tex在 GitHub/GitLab/Gitea 创建一个空仓库后,在项目目录里:
git remote add origin <REMOTE_URL>
git push -u origin main之后:
- 修改 ->
git commit->git push - 协作者:
git clone->make pdf/make docker-pdf
- Host 启动:VS Code → Live Share → Start Collaboration Session
- Guest 加入链接后:Guest 的修改会实时写入 Host 的工作区文件(像 Host 自己敲键盘)
但 Live Share 不会自动帮你git commit/push—— 一般由 Host 会后统一提交。
推荐协作边界(黄金流程):
会前:git pull
会中:Live Share 实时修改
会后:Host 统一 git commit + push
详见:docs/USAGE.md