核心用法
latex-compiler 是一款面向学术写作的容器化 LaTeX 编译工具,通过 HTTP 与本地 Prismer 容器(端口 8080)通信,将 LaTeX 源码字符串转换为 PDF。无需在宿主机安装 TeX Live,Docker 容器已完整打包编译环境。
主要工作流程:
1. 启动容器:docker compose -f docker/docker-compose.dev.yml up
2. 获取模板:调用 latex_templates 查看可用模板(article/article-zh/beamer/ieee),latex_get_template 获取源码
3. 编写文档:编辑 LaTeX 内容,中文文档需选用 xelatex 或 lualatex
4. 编译输出:latex_compile 生成 PDF 保存于容器内;latex_preview 直接返回 base64 编码的 PDF 供预览
关键特性:
- 三引擎支持:pdflatex(默认)、xelatex、lualatex
- 智能多轮编译:默认 2 遍以解析交叉引用
- 自动参考文献:传入
bibliography参数自动触发 biber - 零宿主机文件操作:所有 I/O 通过 HTTP 完成,PDF 生成于容器
/home/user/output/reports/
显著优点
1. 环境隔离:Docker 封装完整 TeX 发行版,避免"本地装包地狱"
2. 即开即用:内置 IEEE、中文 article 等常用学术模板
3. 多引擎灵活:xelatex/lualatex 原生支持 Unicode 与中文排版
4. 安全沙箱:容器限制文件系统访问,降低恶意代码风险
潜在局限
- 单点故障:必须依赖本地 8080 端口的 Prismer 容器,无服务降级机制
- 网络依赖:HTTP 通信引入延迟,大文档编译可能超时(120s/轮)
- 输出隔离:PDF 仅存于容器内部,需显式调用
latex_preview获取内容 - 无持久化:容器重启后历史编译结果丢失
适合人群
- 科研人员、学生:快速生成论文、幻灯片,无需配置本地 LaTeX 环境
- 中文用户:xelatex/lualatex 引擎解决编码与字体问题
- CI/CD 场景:标准化、可复现的文档编译流水线
常规风险
- 容器未启动:工具调用直接失败,需用户自行确认 Docker 状态
- 编译超时:复杂文档(如大型 beamer)可能触发 120 秒限制
- 宏包缺失:容器预装包有限,自定义宏包可能报错
- 资源占用:TeX 编译内存消耗较高,低配置机器可能卡顿