本地部署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的下载地 ...
随机推荐
- 测试直播伴侣和OBS对透明度的支持哪个好?
测试直播伴侣和OBS对透明度的支持哪个好? 抖音无人直播,用抖音弹幕助手 测试直播伴侣和OBS对透明度的支持哪个好?抖音无人直播,用抖音弹幕助手 测试地址1 测试地址2
- MySQL:执行流程
- HTB Builder walkthrough
nmap nmap -sS -A -T4 10.10.11.10 Starting Nmap 7.95 ( https://nmap.org ) at 2025-01-20 01:31 UTC Nma ...
- ctfshow--web14 sql注入利用``的清奇的绕过
输入c=3就会跳出来这个url 复制并访问,看这个页面应该是sql注入 有注释可看,看看他过滤了哪些东西 点击查看代码 if(preg_match('/information_schema\.tabl ...
- Go语言【Gin框架】:JSON、AsciiJSON、PureJSON和SecureJSON的区别
在Go语言中,JSON.AsciiJSON.PureJSON 和 SecureJSON 是Gin框架用于发送JSON响应的方法. 1. c.JSON 功能:将提供的数据序列化为标准的JSON格式,并将 ...
- Delphi中IdHttp组件异常非200获取返回JSON数据
参考原文:https://www.atozed.com/forums/thread-771.html?highlight=400+Bad+Request 另外还有一篇文章说明也可参考 http://w ...
- JMeter的CLI模式(非GUI模式)常用命令
JMeter的CLI模式(非GUI模式)常用命令 Apache JMeter是一款强大的开源性能测试工具,它支持图形用户界面(GUI)模式和非图形用户界面(CLI,即Command Line Inte ...
- C# 手机号码隐藏中间四位
C# 隐藏手机号码中间四位数字 使用正则表达式隐藏手机号中间四位 if (!string.IsNullOrWhiteSpace(txtPhone.Text) && txtPhone.T ...
- 【最佳方案】RAG 技术深度剖析及 MaxKB 在企业 AI 落地中的应用策略
RAG 已经成为 LLM 大语言模型在企业落地的最佳方案,其中主要是因为 RAG 能够解决幻觉问题.时效性问题以及数据安全问题. 解决幻觉问题: LLM 文本生成的底层原理是基于概率的 token b ...
- HTTP协议与RESTful API实战手册(终章):构建企业级API的九大秘籍 🔐
title: HTTP协议与RESTful API实战手册(终章):构建企业级API的九大秘籍 date: 2025/2/28 updated: 2025/2/28 author: cmdragon ...