微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找不到 Docker Alpine Latext texmf-dist 样式

如何解决找不到 Docker Alpine Latext texmf-dist 样式

我正在尝试将一些必要的 latext 样式文件添加pandoc/latex docker 容器(它本身是在 Alpine 上构建的),并且底层的 Latex 到 pdf 转换确实无法找到我的一些样式文件我补充道。这是我的 Dockerfile,它添加了我需要的包。

FROM pandoc/latex:latest
RUN apk --no-cache add texlive-xetex texmf-dist-pictures texmf-dist-latexextra poppler-utils && texhash

可以看到安装了我需要的样式文件

$ docker run --rm -it --entrypoint /bin/sh -v $PWD:/data mypandoc:latest 
/data # find / -name tikzpagenodes.sty
/usr/share/texmf-dist/tex/latex/tikzpagenodes/tikzpagenodes.sty

但是,当我尝试进行实际构建时,出现以下错误

Error producing PDF.
! LaTeX Error: File `tikzpagenodes.sty' not found.

Type X to quit or <RETURN> to proceed,or enter new name. (Default extension: sty)

Enter file name: 
! Emergency stop.
<read *> 
         
l.103 \usepackage

我曾希望在容器构建中调用 texhash 可以解决这个问题,但它没有。将 texmf-dist 目录放入搜索路径有什么技巧吗?问题似乎出在我从 texmf-dist 添加的所有样式上,而不仅仅是这个。谢谢。

解决方法

使用 TeXLive 的 tlmgr 安装更多软件包。 pandoc/latex Docker 容器不使用来自 Alpine 的 TeX 安装,以便为用户提供更大的灵活性并减少图像大小 - Alpine 包的细粒度要少得多。

通常,会在 Dockerfile 中添加以下内容

# Install additional LaTeX packages
RUN tlmgr update --self && tlmgr install \
  pgf # <list of packages goes here>

或者,您可以使用 pandoc/core 映像并使用 Alpine 系统包构建您自己的 LaTeX 容器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。