参考系统环境和引用示例文档的工作组合

参考系统环境和引用示例文档的工作组合

简单但却真实:无错误的 TeX 文档编译需要匹配的系统环境配置。

具体来说,似乎有一些兼容性问题对于新手来说理解问题如何引用来源。由于我自己也遇到了麻烦,所以我在这个问题中重点讨论了这个问题,但我将使用相同的方法进行进一步的配置。

理由。从系统工程的角度来看,最好有一个机器可读的规范,用于“编译”代码所需的环境安装。我最喜欢的工具也是相当流行的工具是 Docker,所以我用它来演示我想要实现的目标。

假设应该可以将 Docker 中捕获的 OOB TeX 环境用于参考文档,只需一次调用即可获得 PDF。可能需要进行一些调整,例如安装其他软件包,但使用 Docker 很容易

为了探究上述假设,这里设置了 4 个实验。它们都无法实现用引号代替符号的 PDF 文档?。我无法估计其中哪一个(或另一个)将代表用于调整/故障排除的最新最先进软件包设置。但我希望找到答案!

边注社区共享复杂的代码和复杂的环境是件好事,但有时有些DevOps需要努力缩小两者之间的差距。

我选择的社区提供的参考 OOB 环境:

社区提供的测试文档,用于生成带有参考书目的 PDF 文档:

要重现以下实验,您需要在 Mac 或 Linux 环境中安装 Docker 守护程序;Windows 10 也支持 Docker,但共享卷仍然存在一些问题。

实验 A-01(miktex-mweb)

称呼:

docker run -ti   -v miktex:/miktex/.miktex  \
-v `pwd`:/miktex/work   miktex/miktex  \
pdflatex mweb-biblatex.tex

结果:

(/root/.miktex/texmfs/install/tex/latex/biblatex/lbx/english.lbx)
No file mweb-biblatex.aux.
No file mweb-biblatex.bbl.

LaTeX Warning: Citation 'key' on page 1 undefined on input line 17.


LaTeX Warning: Empty bibliography on input line 19.

[1{/root/.miktex/texmfs/data/pdftex/config/pdftex.map}] (mweb-biblatex.aux)

LaTeX Warning: There were undefined references.


Package biblatex Warning: Please (re)run Biber on the file:
(biblatex)                mweb-biblatex
(biblatex)                and rerun LaTeX afterwards.

这里似乎假设使用 biber 的示例与假设不使用 biber 的 OOB MikTex 发行版之间存在差距。我可以将一些经过调整的参数传递给上述调用吗?也许可以(当然可以在 bash 脚本中设置正确的调用顺序)?

docker run -ti   -v miktex:/miktex/.miktex   -v `pwd`:/miktex/work --user root   miktex/miktex bash -c "apt -y update && apt-get -y install biber && pdflatex mweb-biblatex.tex && biber mweb-biblatex.tex"

UPD 我们现在知道 biber无法在 Linux 中通过 MPM 安装,而 apt-get 将提供不兼容的版本。

实验 A-02(MikTeX-ACM)

称呼:

    docker run -ti --user=root -v miktex:/miktex/.miktex -v `pwd`:/miktex/work miktex/miktex pdflatex sample-sigconf.tex

Result:

Sorry, but miktex-makepk did not succeed for the following reason:

  GSF2PK failed on rtxr.pfb.

这里出现了一些新的缺失包/配置。因此,OOB MikTeX 无法与参考 ACM 配合使用,这一点新手可能有所期待。

实验 B-01[已解决](TexLive-mweb)

称呼:

docker run --rm --volume $PWD:/workdir --workdir /workdir makisyu/texlive-2017 pdflatex mweb-biblatex.tex

结果:biber 也丢失了。

No file mweb-biblatex.bbl.
LaTeX Warning: Citation 'key' on page 1 undefined on input line 17.
LaTeX Warning: Empty bibliography on input line 19.

更新型多巴胺解决方案:biber 已存在于 texlive 发行版中。要生成带参考资料的 PDF,请使用以下说明。

pdflatex mweb-biblatex
biber mweb-biblatex
pdflatex mweb-biblatex
pdflatex mweb-biblatex

实验 B-02[已解决](Texlive-acm)GitHub 问题

称呼:

docker run --rm --volume $PWD:/workdir --workdir /workdir makisyu/texlive-2017 pdflatex sample-sigconf.tex

结果:这里没有与 biber 相关的错误,但是 natbib 没有以类似的方式工作。

Package natbib Warning: Citation `Amsthm15' on page 3 undefined on input line 2
95.

UPD-在这种情况下有效的解决方案是:

pdflatex sample-sigconf
bibtex sample-sigconf
pdflatex sample-sigconf
pdflatex sample-sigconf

结论。当然,还有更多方法来完成这 4 种设置,但我认为最少的工作示例以及突出的工作模板应该伴随相应的配置环境。

我希望这个问题的可接受的答案将包含解决方案或至少是对此的引用,然后我会对其进行测试。

相关内容