跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

基于 Code Server 搭建私有 LaTeX Web 编辑器

介绍利用 Docker、code-server 和 TeX Live 搭建私有 LaTeX Web 编辑器的方法。针对 Overleaf 访问慢、部署难的问题,提供完整的镜像构建与容器编排方案。包含中文环境配置、LaTeX Workshop 插件设置及编译工具优化,实现远程可访问、数据持久化的独立编辑环境,满足学术写作需求。

山野诗人发布于 2026/3/28更新于 2026/10/26134 浏览

搭建指南

背景与优势

Overleaf 虽然功能强大且易于上手,但存在以下局限:

  • 服务器在国外:访问速度慢,尤其在国内网络环境下体验不佳;
  • 自建 Overleaf 麻烦:部署复杂,依赖较多,维护成本高;
  • 功能受限:部分高级功能需付费,且无法完全自定义环境。

因此,我们选择基于开源工具自建一个轻量、高效、可定制的 LaTeX Web 编辑器。


技术栈

我们将使用以下技术栈构建:

  • code-server:VS Code 的 Web 版本,可在浏览器中运行 VS Code;
  • TeX Live(完整版):提供完整的 LaTeX 编译环境;
  • Docker + Docker Compose:实现一键部署、环境隔离与快速迁移;
  • LaTeX Workshop 插件:为 VS Code 提供强大的 LaTeX 支持。

最终效果:通过浏览器访问 http://服务器 IP:8002,即可使用功能齐全的 LaTeX 编辑器。


构建镜像

Dockerfile 用于构建包含 code-server 和完整 LaTeX 环境的镜像。

# 基于官方 code-server 镜像(LinuxServer 维护)
FROM linuxserver/code-server:4.103.2
# 切换到 root 用户以安装系统包
USER root
# 替换 APT 源为阿里云镜像,加速国内下载
RUN if [ -f /etc/apt/sources.list ]; then \
    sed -i 's@http://.*ubuntu.com@http://mirrors.aliyun.com@g' /etc/apt/sources.list; \
    elif [ -f /etc/apt/sources.list.d/debian.sources ]; then \
    sed -i 's@http://.*debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list.d/debian.sources; \
    else \
    echo "无法找到 APT 源文件,将使用默认源"; \
    fi
# 安装完整版 TeX Live(包含所有宏包)
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    texlive-full \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
# 安装中文字体支持(文泉驿微米黑 & 正黑)
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    fonts-wqy-microhei \
    fonts-wqy-zenhei \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
# 切回非 root 用户(code-server 推荐做法)
USER coder

说明:texlive-full 体积较大(约 5GB+),但能避免'缺少宏包'的常见问题。若追求精简,可改用 texlive-latex-extra + 手动安装所需包。


容器编排

用于一键启动服务:

version: '3.8'
services:
  code:
    image: latex-vscode:latest
    container_name: latex-vscode
    restart: 
     
    
       
    
       
       
    
       
       
       
       
       
     
always
network_mode:
bridge
ports:
-
"8002:8443"
volumes:
-
./data/config:/config
-
./data/workspace:/workspace
environment:
-
PUID=1000
-
PGID=1000
-
TZ=Asia/Shanghai
-
PASSWORD=123456
-
SUDO_PASSWORD=sudo123
user:
"1000:1000"

提示:端口 8002 可根据需要修改;密码 123456 建议在生产环境中更换为强密码。


部署运行

  1. 访问 Web 编辑器:
    • 浏览器打开:https://服务器 IP:8002
    • 输入密码:123456(或你在 compose 文件中设置的密码)

启动服务:

docker-compose up -d

构建镜像:

docker build -t latex-vscode .

注意:code-server 默认使用 HTTPS,首次访问浏览器可能会提示'不安全',选择'继续访问'即可。


插件配置

  1. 在 code-server 中打开扩展商店(Extensions);
  2. 搜索并安装 LaTeX Workshop;
  3. 按 Ctrl + Shift + P,输入 Open Settings (JSON),打开 settings.json;
  4. 添加以下配置(已优化中文与编译体验):
{
  "latex-workshop.latex.autoBuild.run": "never",
  "latex-workshop.showContextMenu": true,
  "latex-workshop.intellisense.package.enabled": true,
  "latex-workshop.message.error.show": false,
  "latex-workshop.message.warning.show": false,
  "latex-workshop.latex.tools": [
    {
      "name": "xelatex",
      "command": "xelatex",
      "args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%"]
    },
    {
      "name": "pdflatex",
      "command": "pdflatex",
      "args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%"]
    },
    {
      "name": "latexmk",
      "command": "latexmk",
      "args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "-outdir=%OUTDIR%", "%DOCFILE%"]
    },
    {
      "name": "bibtex",
      "command": "bibtex",
      "args": ["%DOCFILE%"]
    }
  ],
  "latex-workshop.latex.recipes": [
    {"name": "XeLaTeX", "tools": ["xelatex"]},
    {"name": "PDFLaTeX", "tools": ["pdflatex"]},
    {"name": "BibTeX", "tools": ["bibtex"]},
    {"name": "LaTeXmk", "tools": ["latexmk"]},
    {"name": "xelatex → bibtex → xelatex×2", "tools": ["xelatex", "bibtex", "xelatex", "xelatex"]},
    {"name": "pdflatex → bibtex → pdflatex×2", "tools": ["pdflatex", "bibtex", "pdflatex", "pdflatex"]}
  ],
  "latex-workshop.latex.clean.fileTypes": ["*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk"],
  "latex-workshop.latex.autoClean.run": "onFailed",
  "latex-workshop.latex.recipe.default": "lastUsed",
  "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"
}

使用指南

  • 新建 .tex 文件后,点击左侧 LaTeX 图标,选择"Recipe: XeLaTeX"进行编译;
  • 中文文档推荐使用 XeLaTeX 引擎,并在导言区加载 fontspec 或 ctex 宏包;
  • 所有项目文件保存在 ./data/workspace 目录下,可直接通过服务器文件系统管理。

总结

通过本教程,你成功搭建了一个功能完整、支持中文、可远程访问、可持久化存储、可自定义配置的私有 LaTeX Web 编辑器,摆脱对 Overleaf 的依赖,真正实现'自己的编辑器自己做主'。

目录

  1. 搭建指南
  2. 背景与优势
  3. 技术栈
  4. 构建镜像
  5. 基于官方 code-server 镜像(LinuxServer 维护)
  6. 切换到 root 用户以安装系统包
  7. 替换 APT 源为阿里云镜像,加速国内下载
  8. 安装完整版 TeX Live(包含所有宏包)
  9. 安装中文字体支持(文泉驿微米黑 & 正黑)
  10. 切回非 root 用户(code-server 推荐做法)
  11. 容器编排
  12. 部署运行
  13. 插件配置
  14. 使用指南
  15. 总结

更多推荐文章

查看全部
  • Android Kotlin 开发内嵌 WebView 应用及按键交互实践
  • C++ 二叉搜索树详解:增删查改与 key/value 场景实现
  • ClawX: OpenClaw 可视化桌面客户端使用指南
  • 无人机与地面站通信距离及高度估算方法
  • DeepSeek 深度使用技巧与本地知识库搭建
  • MySQL 与 Navicat 在 Windows 下的安装及配置教程
  • Stable Diffusion 大模型详解
  • 无线联邦学习:隐私保护下的 AI 协同进化
  • ChatGPT 结构化 Prompt 的高级应用
  • Python 依赖管理:requirements.txt 从安装到实战
  • 2026 前端跨端框架选型指南
  • JWT 全解:原理、应用与生产级避坑指南
  • Python 代码打包为 EXE 完整指南与常见问题排查
  • Qwen3 与 Qwen Agent 智能体开发实战:接入 MCP 工具
  • Qwen3-VL SDK 发布:支持 Python/Java/C# 多语言调用
  • LightRAG 架构深度解析:基于图的检索增强生成系统
  • N46Whisper 云端日语语音转字幕工具使用指南
  • Web 自动化测试入门:从概念到 Selenium 实战
  • Moyin Creator(魔因漫创):AI 影视生产级全流程创作工具
  • VS Code 运行前端代码

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online