基于overleaf搭建在线服务器,Overleaf以及sharelatex如何安装各种字库

Overleaf以及sharelatex是一款开源的线上Latex编辑器,集编辑和编译一体化的线上latex,对于有服务器资源的朋友来说,非常方便,但是存在存在一个问题,官方的Overleaf以及sharelatex只有很少的字体文件,有很多,比如宋体,黑体,仿宋,楷体等等都没有,究其原因,是docker运行环境中的ubuntu字体文件太少,下面介绍如何把windows下的字体(各种都有)迁移到Overleaf以及sharelatex所在的ubuntu环境下,解决无法编译带宋体,楷体等等问题

1、安装Overleaf以及sharelatex

如果你的服务器(Linux)没有安装Overleaf以及sharelatex,可以参考我的博客文章:Latex系列之如何安装线上latex编辑器

2、导出windows下所有的字体文件

word是通过加载windows下字体文件来显示字体,我们可以把windows下字体文件全部导出来,一般情况下,windows下字体文件在下面的目录下。

// windows 字体目录

C:\Windows\Fonts

04f7f30be784abd7c44aab702c5dd1a2.png

将它们压缩打包,上传到服务器

3、上传字体文件

使用 docker ps 查看运行的容器的id号

2e21b141f730b5f05ff689c2570e0609.png

进入容器

# 进入容器 827693f7c09d 为容器的id号 根据上面的查询结果来定

docker exec -it 827693f7c09d /bin/bash

进入容器之后,执行下面操作

cd /usr/share/fonts/

mkdir windows

新建一个ssh回话,在宿主机上将字体文件拷到/usr/share/fonts/windows/目录下

# 827693f7c09d 为容器的id号 根据上面的查询结果来定

docker cp Fonts.zip 827693f7c09d:/usr/share/fonts/windows/

在容器中,将压缩文件解压,将压缩文件下所有的字体文件移动到/usr/share/fonts/windows/,然后就可以删除压缩包了

4、安装字体文件

进入容器后,我们只需要执行下面命令更新字体文件就可以

fc-cache

通过下面的命令查看字体文件

fc-list

字体文件比较多,只截图了部分图片

53faeea1ae11f3e28cb338e11ea5f288.png

5、容器备份

在容器中操作,一般不会保存,在容器重启之后,会消失,这是我们需要将容器重新保存为镜像,执行下面的操作来保存镜像

# 827693f7c09d 为容器的id号 根据上面的查询结果来定

docker commit 827693f7c09d sharelatex/sharelatex:with-texlive-full

好的,现在你已经完成了字体的安装,你会发现基本上所有的中文或英文的工程都能成功的编译了,请尽情享受吧