如何在 travis-ci 上运行 biber?

如何在 travis-ci 上运行 biber?

我成功地使用以下说明构建了一个乳胶文档如何使用 Travis CI 自动构建我的 LaTeX?并将 pdf 保存在 github 版本中。我使用 @rekka 的 tectronic docker 镜像。

但是现在我的 latex 文档使用 biber/biblatex,当由 travis 生成时,cites 和 \printbibliography 不起作用(本地可以运行 lualatex、biber、lualatex、lualatex)。

我认为 biber 不能在 travis 上运行。有人知道如何在 travis 上运行 biber 吗?

PS:如果我说错了,请原谅我,我是一个 LaTeX 初学者

编辑:我的.travis.yml 看起来像这样:

sudo: required
services: docker
script:
- docker pull rekka/tectonic
- docker run --mount src=$TRAVIS_BUILD_DIR,target=/usr/src/tex,type=bind rekka/tectonic
  tectonic main.tex
deploy:
  provider: releases
  api_key:
    secure: [long API key]
  file: main.pdf
  skip_cleanup: true
  on:
    repo: [my-repo]

EDIT2:@moewe 发现这个 github 问题https://github.com/tectonic-typesetting/tectonic/issues/35要求 tectronic 支持 biblatex。然而问题依然存在(尽管 tectronic 不再需要)。

答案1

我建立docker 镜像其中包括 tectonic 和 biber。(基于 @rekka 的图片和这个信息)。

基本上这些命令在容器内运行(您可以在.travis.yml中看到):

tectonic --keep-intermediates --reruns 0 main.tex
biber main
tectonic main.tex

.travis.yml 现在看起来像这样:

sudo: required
services: docker
script:
- docker pull dxjoke/tectonic-docker
- docker run --mount src=$TRAVIS_BUILD_DIR,target=/usr/src/tex,type=bind dxjoke/tectonic-docker
  /bin/sh -c "tectonic --keep-intermediates --reruns 0 main.tex; biber main; tectonic main.tex"
deploy:
  provider: releases
  api_key:
    secure: [long api key]
  file: main.pdf
  skip_cleanup: true
  on:
    repo: [myrepo]

相关内容