使用官方开源项目搭建自有Overleaf服务

news/2024/10/6 13:42:42

Overleaf对于使用LaTex编辑论文的科研工作者和研究生来说扮演着重要的角色,可以说贯穿了从论文初稿的撰写到提交的全过程,而Overleaf作为一个由商业公司运作的云服务产品,即便对免费用户施加的限制很少(只有编译时间和频率的限制),也不足以覆盖研究工作者全部常见的应用场景,加上其每月9每月的订阅费用,对于中国的研究工作者而言,还是贵了一些。

不过好在Overleaf对其产品做了开源,这就为广大科研工作者利用研究机构的提供的硬件资源部署自有的Latax排版服务。

本篇将提供使用官方开源项目在服务器上部署Overleaf服务的教程。

基础环境要求和配置

硬件资源需要能够流畅运行Ubuntu操作系统,且有足够的内存和硬盘空间。

本篇所使用的软件配置:

  1. Ubuntu 20.04 LTS
  2. Docker 4.33.0
  3. Git

配置步骤

  1. 下载Overleaf官方源代码
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit && cd overleaf-toolkit

下载完成之后,在overleaf-toolkit文件夹内有很多用来管理相关功能的脚本;

  1. 初始化并修改配置
bin/init

这条命令会在./config目录下生成三个文件:

overleaf.rc     variables.env     version

这些文件中的配置可以根据需要修改,这里介绍几个常用的。

overleaf.rc 文件中的下面几个配置一般来说需要一开始修改:

# 这里的IP地址可以替换成服务器的IP,如果是在自己电脑上本地部署,则可以忽略
OVERLEAF_LISTEN_IP=127.0.0.1
# 这里的端口是Overleaf服务的监听端口,这里用的是9000,只要不冲突即可
OVERLEAF_PORT=9000
  1. 启动服务
    输入下面的命令启动服务:
bin/up

如果是需要后台启动,请使用-d参数。

  1. 补全宏包
    默认情况下,overleaf使用的texlive中宏包是不全的,因此需要额外下载。

这里先输入

bin/shell

进入容器内部,执行下面的代码来下载补全宏包

# 下载并运行升级脚本
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh -- --upgrade
# 更换texlive的下载源
tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/
# 升级tlmgr
tlmgr update --self --all
# 安装完整版texlive(时间比较长,不要让shell断开)
tlmgr install scheme-full

至此,在浏览器中输入IP:端口即可访问自己部署的Overleaf服务了。
如果提示需要注册,可以访问IP:端口/launchpad/来注册。

一些其他可能需要的配置

对于很多需要自己部署Overleaf写作的人,往往是因为所需要编译的论文过大,这种过大的情况往往是毕业论文,而毕业论文往往要用到中文,因此,这里额外给出配置中文的一种方式

在文件中引入宏包

\usepackage[UTF8]{ctex}

在编辑页面的左上角的menu菜单中,更改Overleaf编译引擎为XeLaTex

然后,Overleaf可以正常编译中文了。

如果因为一些格式的要求,规定不允许使用这种方式,读者可以自行搜索其他方式。

参考资料

https://yangzhang.site/Note/NAS/self-hosted-overleaf/
https://blog.wsine.top/posts/selfhost-overleaf-for-thesis/
https://blog.csdn.net/rolling0707/article/details/86220557

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/68309.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【VMware VCF】使用 SFTP 服务器备份 VCF 核心组件的配置文件。

可以定期对 VMware Cloud Foundation 环境中的相关核心组件(如 SDDC Manager、NSX Manager 以及 vCenter Server 等)创建配置备份,以防止当意外故障或数据丢失时,能够进行恢复。默认情况下,NSX Manager 组件的备份将创建并存储在 SDDC Manager 设备中内置的 SFTP 服务器上…

搭建Redis“主-从-从”模式集群并使用 RedisTemplate 实现读写分离

一、理论相关 我们知道,Redis具有高可靠性,其含义包括:数据尽量少丢失 - AOF 和 RDB 服务尽量少中断 - 增加副本冗余量,将一份数据同时保存在多个实例上,即主从库模式Redis主从库模式 - 保证数据副本的一致(读写分离):读操作:主库、从库都可以接收 写操作:首先到主库…

折腾笔记[2]-跨平台打包tauri程序

在macOS(arm64)平台打包tauri程序到Windows(amd64)平台. Packaging a Tauri application for the Windows (amd64) platform from macOS (arm64).摘要 在macOS(arm64)平台打包tauri程序到Windows(amd64)平台. Abstract Packaging a Tauri application for the Windows (amd64) …

博客格式-Markdown学习

标题 (#+空格+标题名字 一级标题) (##+空格+标题名字 二级标题) (###+空格+标题名字 三级标题) 字体 加粗 斜体 加粗斜体 划线 引用名人名言分割线图片超链接 百度 表格姓名 年龄 性别骆同学 15 男代码 int main(){cout<<"helloworld"return 0; }a,n=lis…

Java内存模型

1. 硬件的效率与一致性 物理机遇到的并发问题与虚拟机中的情况有很多相似之处,物理机对并发的处理方案对虚拟机的实现也有相当大的参考意义。 “让计算机并发执行若干个运算任务”与“更充分地利用计算机处理器的效能”之间的因果关系,看起来理所当然,实际上它们之间的关系并…

vue3 computed

computed 的作用就是监测变量是否发生改变。如果变量发生了改变,那么computed定义的方法就会执行。 在vue3中computed新增get 和set方法。分别对应修改和设置值

洪海洋的博客自我介绍

欢迎来到洪海洋的博客 我个人的基本信息 1.你的姓名? 如标题所示,洪海洋。英文名则是OCEAN,“海洋”,这一般也会作为我的网名。 2.为什么起这样的名字? emmm...五行缺水 3.描述一下自己? 多元、社恐、耐心 4.为什么这样描述自己? 对于我来说,多元包含很多个领域,比如我…