本地部署overleaf服务帮助latex论文编写
是的,overleaf是一个很好的服务,提供了立刻上手就可以编写的latex文章的服务.但是,overleaf会面对latex超时,所以需要付钱的情况,这常出现在编写期刊的论文的情况.
因为时效性,所以,过去的一些操作已经不适用于新版本的overleaf的本地化部署,该博客提供了最新的部署方式指导(以及一些常见问题修复)
部署overleaf服务
官方仓库docker compose yaml部署overleaf服务存在一定的问题,无法连接mongodb数据库
所以,使用官方提供的Overleaf Toolkit,该工具提供了构建好的一些可执行工具帮助部署和使用
requirements
- git
- docker
- docker compose
不会高效地安装docker依赖?可以参考博客[tldr] debian系用户配置使用docker
clone repo
git clone --depth=1 https://github.com/overleaf/toolkit.git ./overleaf-toolkit
--depth=1的作用是只clone最新一次的内容,这个可以有效地减少需要下载的内容
出现了网络问题,无法下载,可以试一下github520cli开源项目,使用方式参考博客github520cli解决无法github访问问题
该仓库提供了overleaf需要的一系列工具,文档可以参考官方仓库的README
docker部署
需要三个docker image
- redis
- mongodb
- sharelatex
如果网络问题可以考虑proxy或者国内镜像源,但是sharlatex不在国内的镜像源的白名单里面.
检查bin/文件夹中的内容,这里面包含了一些通过docker compose运行的可执行文件.
backup-config* doctor* init* rename-env-vars-5-0* shell* up*
dev/ error-logs* logs* rename-rc-vars* start* upgrade*
docker-compose* images* mongo* run-script* stop*
使用
ls指令检查可执行文件
主要需要的文件有start,stop,shell
也可以通过docker compose指令直接启动服务
使用./bin/up启动服务
使用./bin/stop停止服务
使用./bin/start重新启动服务
使用./bin/shell连接进入容器内部
你可以通过
docker-compose exec -it sharelatex bash取得类似的效果
启动三个服务,其中,sharelatex耗费最多的时间,每次启动都是需要花费时间的,并且,这个容器内部还包含了nginx服务
安装依赖(解决BUG)
在编写一些latex文档的时候,可能存在依赖缺失的问题,例如[Latex] CTEX解决File "xxx.sty" not found问题
通过检查github issue978得到问题的解决办法,主要是通过更新textlive的方式
该博客中提供了更新的方式
Upgrade from TeX Live 2024 to 2025官方提供了很好的升级textlive版本的方式,其中,推荐快速安装的方式
进入容器
一些的安装和更新操作需要在容器内部进行,所以,先使用./bin/shell进入容器内部shell
去到临时文件夹开始操作
cd /tmp # working directory of your choice
下载需要的文件
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
解压
zcat < install-tl-unx.tar.gz | tar xf - # note final - on that command line
前往解压出来的文件夹
cd install-tl-*
这个*需要换成对应的数字
(可选)更换textlive镜像源,参考知乎-更换textlive的镜像源
tlmgr option repository https://mirrors.aliyun.com/CTAN/systems/texlive/tlnet
这个是永久性换源
安装
perl ./install-tl --no-interaction # as root or with writable destination
# may take several hours to run
这个安装过程很漫长,大概有4900个pkg需要安装,下载完成之后安装也需要一定的时间
重启服务
安装全部的服务之后,然后,需要重启服务
只需./bin/stop然后./bin/start即可
使用服务
第一次登陆的时候会创建管理员用户,管理员用户再添加其他用户.
后续使用的时候登陆一般用户访问服务即可
本地部署overleaf服务帮助latex论文编写的更多相关文章
- TeXstudio 编写Latex论文的若干问题
TeXstudio 编写Latex论文的若干问题解决方案总结 问题1: 如何安装TeXstudio 以及 Texstudio当中的中文字体使用问题. 一.如何安装TeXstudio 很 ...
- 【JavaService】使用Java编写部署windows服务
如果你玩windows系统,你对服务这个东西并不会陌生,服务可以帮我们做很多事情,在不影响用户正常工作的情况下,可以完成很多我们需要的需求. 众所周知,微软的visio studio内置的Servic ...
- windows下百度离线人脸识别本地部署与使用(nodejs做客户端,c++做服务端,socket做通信)
1.离线人脸识别本地部署 详情请阅读百度人脸识别官网 2.nodejs做socket通信的客户端 为什么不直接通过调用c++编译的exe获得人脸识别结果? 原因:exe运行时会加载很多模型而消耗很多时 ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- Docker实战 | 第二篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试
一. 前言 大家在自己玩微服务项目的时候,动辄十几个服务,每次修改逐一部署繁琐不说也会浪费越来越多时间,所以本篇整理通过一次性配置实现一键部署微服务,实现真正所谓的一劳永逸. 二. 配置服务器 1. ...
- 在 CentOS7 上部署 zookeeper 服务
在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...
- Exceptionless 本地部署
免费开源分布式系统日志收集框架 Exceptionless 前两天看到了这篇文章,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享. 本地部署官方wik ...
- 如何在Azure上创建和部署云服务
Azure 管理门户提供两种方法可用来创建和部署一个云服务:快速创建和自定义创建. 本主题说明如何使用快速创建方法来创建新的云服务,然后使用上传来上载和部署一套在 Azure 的云服务.当您使用此方法 ...
- 【LaTeX排版】LaTeX论文排版<三>
A picture is worth a thousand words(一图胜千言).图在论文中的重要性不言而喻,本文主要解说图的制作与插入. 1.图像的插入 图像能够分为两大类:位图和向量图 ...
- ArcGIS JavaScript API本地部署离线开发环境[转]
原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...
随机推荐
- 更改高通xbl串口log波特率
本修改基于高通QCM6125平台,目的是为了满足客户无聊的需求. 注意事项: 基准时钟频率需要是硬件和驱动支持的频率,时钟频率和分频系数可以从AP侧驱动中找到 最低分频系数需要满足分频公式(能够被整除 ...
- 深入解析 Spring AI 系列:项目结构一览
从今天起,我们将以 Spring AI 为主线,开始更新一系列的文章.这些文章将围绕 Spring AI 项目展开,结合我的理解,深入讲解其相关的知识点.技术原理.以及在实际开发过程中涉及到的部分代码 ...
- Cesium中3DTiles使用CustomShader着色器渲染
加载模型 新版本cesium加载3DTiles代码如下,后续效果只修改CustomShader内内容 //加载楼栋白膜 let tileset try { tileset = await Cesium ...
- w3cschool-微信小程序开发文档-服务端
微信小程序 code2Seesion auth.code2Session 本接口应在服务器端调用,详细说明参见服务端API. 登录凭证校验.通过 wx.login 接口获得临时登录凭证 code 后传 ...
- Linux性能优化-网络性能优化思路
目录 确定优化目标 网络性能工具 网络性能优化 应用程序 套接字 传输层 网络层 链路层 确定优化目标优化前,首先要确定观察到的网络性能指标,要达到多少才合适?虽然网络性能优化的整体目标,是降低网络延 ...
- biancheng-linux-shell
参考http://c.biancheng.net/view/706.html Shell变量:Shell变量的定义.赋值和删除 Shell 支持以下三种定义变量的方式: variable=valuev ...
- Mac安装brew的四种方法(指定能行)
一,执行brew官网命令安装brew https://brew.sh/ 官网中复制下图中命令,在terminal中输入该命令,即: /bin/bash -c "$(curl -fsSL ht ...
- FailFast机制-抛出 java.util.ConcurrentModificationException(保证并发访问时集合的完整性,内部结构变化的防护措施)
- Exfiltrated pg walkthrough Easy
80端口弱口令admin admin 发现cms 搜索exp 发现漏洞 https://www.exploit-db.com/exploits/49876 找到敏感数据库密码和用户 ╔════════ ...
- 微信小程序音频播放
微信小程序音频播放 // 开启播放音频 startAudio(){ const innerAudioContext = uni.createInnerAudioContext();//创建并返回内部 ...