XZ08_本地部署overleaf教程

搭建本地版 Latex 编辑器

摘要:无论是本科、硕士、还是博士,论文撰写是每个学生在不同的学习阶段都会遇到的任务。本文记录我使用 Latex 撰写博士论文遇到的困难和解决方案,同时也会展开聊聊我为什么做出这样的选择,希望给还在观望 Latex 和使用 Latex 遇到困难的同学们一点启发。


📌 目录

  • [为什么选择 Latex 作为毕业论文工具](#为什么选择 Latex 作为毕业论文工具)
  • [在线 Latex 工具无法满足编辑需求](#在线 Latex 工具无法满足编辑需求)
  • [自建 Overleaf 本地版本](#自建 Overleaf 本地版本)
  • [安装 Docker 环境](#安装 Docker 环境)
  • [部署 Overleaf 容器](#部署 Overleaf 容器)
  • [创建 Overleaf 实例账号](#创建 Overleaf 实例账号)
  • [增强 Overleaf 实例编译环境](#增强 Overleaf 实例编译环境)

为什么选择 Latex 作为毕业论文工具

在撰写毕业论文的时候,作者只有毕业生一个人,因此协同编辑文档的需求其实已经不复存在了。但是对于为什么仍然使用 Latex 作为排版工具,除了专业背景是最老生常谈的理由,还有两个重要的原因使我更坚定地选择 Latex 作为毕业论文的排版工具。

1️⃣ 沉没成本

在很多理工科的领域,毕业论文 ≈ 文献综述 + 一系列的现有论文 已成为一个事实标准。因此,原有论文的排版工具是什么,就成为了你转用其他排版工具的负担,也就是这里说的沉没成本。

对我而言,由于前期大量地和导师一起用 Latex 合写文章,基本上我也不得不继续使用 Latex。

2️⃣ 格式统一

不同的论文由于投稿的会议和期刊不同,他们排版的图表和段落格式都不一样。但是对于一份合格的毕业论文来说,在一份论文里至少要做到内部格式一致才会被学校图书馆接收,学生才能顺利毕业。

对于一个编译型的语言,能够做到一份源代码 + 库文件生成一致的程序输出。对于 Latex 这个编译型语言来说,就是:

复制代码
一份论文源码 + 模版文件 → 一份格式一致的 PDF 输出

因此,对我而言,使用 Latex 能减少大量的编辑成本。

📖 关联阅读:《万字解析 | 感性与理性认识 LaTeX,学术论文排版的「行业标准」》


在线 Latex 工具无法满足编辑需求

Overleaf 已经成为了在线 Latex 编辑器的事实标准。它提供了大量的国内外出版商的模版供用户直接使用甚至一键投稿;它允许免费用户邀请其他人一起在线协同编辑同一份文档;它的编辑器提供了自动补全、格式化、实时编辑、实时预览等一系列方便的功能。

⚠️ 免费版限制

由于编译这个步骤需要花费相对多的计算资源,因此对于免费版的 Overleaf 来说,它限制了单次编译的最长时间。尽管官方没有明确说明超时时间为多少,但从我的经验来看,大约编译一份 ACM 或 IEEE 的标准会议模板(约 12 页)就比较接近超时的上限了

对于我们想要编译的博士论文来说,其一般为几十页至上百页不等,远远超过 Overleaf 免费账户的限制。

💡 解决方案对比

方案 优点 缺点
选择性编译部分章节 免费 打破回顾需求,不便查阅上下文
购买 Premium 版本 功能完整 21 美刀/月,成本较高
使用本地 Latex 工具 一次投入,长期使用 集成性略逊于 Overleaf

如果选项二不满足于你,那么使用本地 Latex 工具编译就变成了唯一选项


自建 Overleaf 本地版本

好消息是,Overleaf 开源了自家的编辑器供用户私有部署,因此上述的问题似乎可以有效解决。

⚠️ 注意:Overleaf 团队仅开源了其编辑器的部分,其集成性环境 overleaf.com 版本并非是开源的。本章节主要向大家介绍如何尽量复刻 overleaf.com 这个版本以满足我们理想的编辑体验。


安装 Docker 环境

Docker 是目前部署工作中最方便的工具之一。Overleaf 提供的部署工具也是基于 docker 环境的。以下以 Ubuntu 环境为例:

第一步:添加 Docker 仓库

bash 复制代码
# Add Docker's official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

第二步:安装 Docker 和 Docker Compose

bash 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

第三步:配置非管理员权限用户

bash 复制代码
sudo groupadd docker
sudo usermod -aG docker $USER

💡 提示:退出你的终端或 SSH 链接,再重新打开终端或重连 SSH。这一步是为了让上述的权限配置在新的会话中生效。

第四步:测试 Docker 环境

bash 复制代码
docker run hello-world

⚠️ 注意:该步骤需要必要且顺畅的网络连接,如无法成功下载镜像,则需要先解决网络问题再行尝试。


部署 Overleaf 容器

Overleaf 的编辑器在 Github 开源,主体代码在主仓库中,Overleaf 官方贴心地把脚本制作成一个工具包给用户快捷安装。

1. 下载工具包

bash 复制代码
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit

2. 初始化配置文件

bash 复制代码
cd ./overleaf-toolkit
./bin/init
ls config

会生成三份配置文件:overleaf.rcvariables.envversion

3. 关键配置项说明

配置文件 配置项 说明
overleaf.rc SHARELATEX_PORT 默认 80 端口,建议修改为 1024~65535 之间的数值
variables.env SHARELATEX_APP_NAME 可自定义,无特别影响
variables.env SHARELATEX_SITE_URL 影响用户激活链接的域名地址,需能解析到服务器
variables.env SHARELATEX_NAV_TITLE 标签页标题,可自定义
variables.env SHARELATEX_HEADER_IMAGE_URL 建议指向学校 logo 以区分 overleaf.com
variables.env SHARELATEX_LEFT_FOOTER 注册界面提示信息,显示管理员联系方式
version - 不需要更改

4. 启动容器

bash 复制代码
# 下载和启动容器(输出 log 方便诊断)
./bin/up

# 后台运行
./bin/start

创建 Overleaf 实例账号

由于是自建 Overleaf,该实例下的账号与 overleaf.com 里的账号不互通,需要创建该实例自己的账号。

注册管理员账号

假设环境变量配置如下:

  • SHARELATEX_SITE_URL = overleaf.abbr.edu.cn
  • SHARELATEX_PORT = 8001

访问以下地址注册:

复制代码
http://overleaf.abbr.edu.cn:8001/launchpad

⚠️ 重要 :第一个在这个实例下注册的账号将会被设定为唯一的管理员账号,因此请不要随便设置测试账号。

登录使用

复制代码
http://overleaf.abbr.edu.cn:8001/login

创建普通用户账号

登录管理员账号后,在右上角找到 Admin 相关功能:

  1. 输入一个邮箱地址
  2. 系统生成激活链接
  3. 将该激活链接发给别人完成激活
  4. 用户便可登入到系统中

增强 Overleaf 实例编译环境

如果把很多期刊和会议的 Latex 模板扔到这个自建的 Overleaf 实例中编译,你会发现大部分情况下都是无法编译成功的。两者之间的差别主要在于以下几个部分:

  • Latex 宏包
  • 系统字体
  • TikZ & Syntax highlighter 的依赖
  • TexLive 版本

1. 安装 Latex 宏包

bash 复制代码
cd ./overleaf-toolkit
./bin/shell
tlmgr install scheme-full

💡 说明scheme-full 指代了 CTAN 中所有的 Latex 宏包,大约需要至少 2G 的存储空间,整个下载过程非常漫长,建议耐心等待。

2. 安装系统字体

bash 复制代码
cd ./overleaf-toolkit
./bin/shell
apt install ttf-mscorefonts-installer

对于小众字体,手动复制并刷新字体索引:

bash 复制代码
docker cp /path/to/your/font sharelatex:/usr/local/share/fonts/
cd ./overleaf-toolkit
./bin/shell
fc-cache -f -v

3. 安装 TikZ & Syntax highlighter 依赖

bash 复制代码
cd ./overleaf-toolkit
./bin/shell
apt install inkscape python3-pygments

4. 升级 TexLive 版本(可选)

bash 复制代码
cd ./overleaf-toolkit
./bin/upgrade

📝 总结

通过以上步骤,你就可以在本地搭建一个功能完整的 Overleaf 编辑器,享受与 overleaf.com 相似的编辑体验,同时摆脱免费版编译时长的限制。

核心优势

  • ✅ 无编译时长限制
  • ✅ 数据本地存储,更安全
  • ✅ 可自定义配置,适配学校要求
  • ✅ 一次性部署,长期使用

希望这篇教程能给还在观望 Latex 和使用 Latex 遇到困难的同学们一点启发!


如果觉得本文对你有帮助,欢迎点赞、收藏、关注三连支持!👍


标签LaTeX Overleaf Docker 论文写作 学术工具 本地部署

相关推荐
老杨_QQ1222090171 小时前
对量化交易未来的思考
人工智能·python·金融
feidaji1 小时前
ubuntu 20 安装openclaw
人工智能·aigc·ai编程
blackorbird1 小时前
Odido路由器秘密将遥测数据发送到一家土耳其人工智能公司
人工智能·智能路由器
RuiBo_Qiu2 小时前
【LLM进阶-Agent】5. Plan & Execute Agent 介绍
人工智能·ai-native
HAREWORK_FFF2 小时前
CAIE认证课程体系全景图:从基础到进阶,覆盖哪些核心技术?
人工智能
TEC_INO2 小时前
Linux44:opencv在H264码流中添加LOGO
人工智能·opencv·计算机视觉
纤纡.2 小时前
OpenCV 实战:从视频处理到图像轮廓检测的全维度解析
人工智能·opencv·音视频
·中年程序渣·2 小时前
Spring AI Alibaba入门学习(六)
人工智能·学习·spring
Dxy12393102162 小时前
PyTorch的CyclicLR详细介绍:给模型训练装上“涡轮增压”
人工智能·pytorch·python