docker overleaf安装中文字体

我们先通过命令 fc-list :lang-zh 查看 ubuntu 系统自带的中文字体,为下一步通过CJK中文方案将ubuntu自带的中文字体设置成中文的默认字体做准备。

fc-list :lang=zh

查看是否存在具体字体的详细信息

fc-match -v "AR PL UKai CN"

安装字体,以安装windows字体为例:

  • 在docker容器中/usr/share/fonts/下新建文件夹,如“winFonts”目录,把使用docker cp命令从windows下拷贝过来的字体都放在这个目录里,这里就是把雅黑字体Yahei.ttf 放进来:
    docker exec -it containerID /bin/bash   # 进入id为containerID的容器内部,实际使用过程中将containerID换成自己实际的id号
    mkdir -p /usr/share/fonts/winFonts   # 在containerID容器内部创建目录
    exit     # 退出容器
    docker cp 潮字社时光简.ttf /usr/share/fonts/winFonts/
  • 改变字体文件权限
    chmod 644 /usr/share/fonts/winFonts/潮字社时光简.ttf

    注:改成755也没问题的,但起码要444;这里修改雅黑字体文件的权限为644,即当前用户读写,当前组用户只读,其他用户只读。

  • 安装字体
    cd /usr/share/fonts/winFonts/
    sudo mkfontscale #创建潮字社时光简字体的fonts.scale文件,它用来控制字体旋转缩放 sudo mkfontdir #创建潮字社时光简字体的fonts.dir文件,它用来控制字体粗斜体产生 sudo fc-cache -fv #建立字体缓存信息,也就是让系统认识认识潮字社时光简
  • (后续需要删除字体时可参考)删除字体,直接删除“潮字社时光简.ttf”,然后执行“sudo fc-cache -fv
  • 查看安装中文字体
    fc-list :lang=zh
    部分结果:
    /usr/share/fonts/winFonts/潮字社时光简.ttf: REEJI\-CHAO\-ShiguangGB,潮字社时光简:style=Regular,常规

    那么我们可以在LaTeX中使用名称“REEJI-CHAO-ShiguangGB”来使用潮字社时光简字体。需要注意的时,我们在LaTeX中使用字体名称时要把“\”转义符号去掉,否则LaTeX无法找到该字体。

样例:

chinesefonts.sty文件内容

\ProvidesClass{chinesefonts} 
\setCJKmainfont{REEJI-CHAO-ShiguangGB} \setCJKsansfont{KaiTi} 
\setCJKmonofont{FangSong} 
\endinput

main.tex

\documentclass[nonfont]{ctexart}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{chinesefonts}

\usepackage{blindtext}

\title{Example to show how classes work 和中文字体}
\author{Team Learn ShareLaTeX}
\date{August 2014}

\begin{document}

\maketitle

\noindent
Let's begin with a simple working example here.

这里是中文潮字社时光简字体。

\end{document}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 × 2 =

88 + = 92