You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写可正常使用字体包的TeXLive Docker镜像

解决Docker自定义TeXLive镜像字体找不到的问题

1. 检查TeXLive Profile的字体集合配置

确保你的texlive.profile包含必要的字体相关集合,避免因仅安装最小化方案缺失字体:

# 至少包含以下字体集合,也可以直接用scheme-full
selected_scheme scheme-medium
collection-fontsrecommended 1
collection-fontsextra 1
collection-fonts-latex 1
collection-fonts-cjk 1

2. 安装系统基础字体与依赖

Docker基础镜像默认缺少常用字体和字体配置工具,需手动添加:

  • Debian/Ubuntu 镜像:
RUN apt-get update && apt-get install -y --no-install-recommends \
    fontconfig fonts-dejavu-core fonts-noto-cjk fonts-noto-color-emoji \
    wget perl xz-utils && \
    rm -rf /var/lib/apt/lists/*
  • Arch 镜像:
RUN pacman -Sy --noconfirm \
    fontconfig ttf-dejavu ttf-noto ttf-noto-cjk && \
    pacman -Sc --noconfirm

3. 配置TeXLive环境变量并更新字体缓存

TeXLive安装后必须更新字体缓存,同时要确保其bin目录在系统PATH中:

# 替换为你的TeXLive版本号
ENV TEXLIVE_VERSION=2024
ENV PATH="/usr/local/texlive/${TEXLIVE_VERSION}/bin/x86_64-linux:${PATH}"
ENV MANPATH="/usr/local/texlive/${TEXLIVE_VERSION}/texmf-dist/doc/man:${MANPATH}"
ENV INFOPATH="/usr/local/texlive/${TEXLIVE_VERSION}/texmf-dist/doc/info:${INFOPATH}"

# 更新TeX字体数据库和fontconfig缓存
RUN mktexlsr && fc-cache -fv

4. 完整示例Dockerfile(Debian基础)

FROM debian:bookworm

ENV TEXLIVE_VERSION=2024
ENV PATH="/usr/local/texlive/${TEXLIVE_VERSION}/bin/x86_64-linux:${PATH}"

# 安装依赖与系统字体
RUN apt-get update && apt-get install -y --no-install-recommends \
    fontconfig fonts-dejavu-core fonts-noto-cjk \
    wget perl xz-utils && \
    rm -rf /var/lib/apt/lists/*

# 复制自定义profile
COPY texlive.profile /tmp/texlive.profile

# 安装TeXLive
RUN wget -qO- https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz | tar xz && \
    cd install-tl-* && \
    ./install-tl --profile=/tmp/texlive.profile && \
    cd .. && rm -rf install-tl-*

# 更新字体缓存
RUN mktexlsr && fc-cache -fv

# 验证安装
RUN xelatex --version && fc-list | grep "DejaVu"

5. 验证方法

构建镜像后,运行容器测试字体识别:

docker run --rm -it your-image-name bash
# 测试xelatex调用字体
xelatex '\fontspec{DejaVu Sans}Hello World\bye'

若能正常生成PDF,说明字体配置生效。

内容的提问来源于stack exchange,提问作者Aaron Chan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:52:13