hithesis 如何使用 docker

行走江湖的 hithesis 派刀客一般不愿意动 docker 这一兵器。 因为修炼起来面临两大问题:

其一, docker 上不方便安装额外的包。 安装包是有点麻烦,这不可避免。 越是拿来就能用、拿来就好用的东西,改动起来就越是麻烦。 详细方案是首先打开container:

docker run -it --net host  dustincys/tinytex-hithesis:latest /bin/sh

然后用tlmgr安装需要的包:

tlmgr install yourpackage

然后查看container id

docker container ls

然后写入image:

docker commit yourcontainerid  tinytex-hithesis:latest

其二, docker 不方便和编辑器结合使用。 解决方案是在系统的路径里设置可执行文件,让编辑器傻了吧唧地发现路径里有可执行的 LaTeX 文件就可以了。 例如,我的$HOME/bin在路径里,所以生成所有的“傀儡”来骗编辑器的方案如下,

##!/usr/bin/env bash
files=( afm2tfm makeglossaries rungs bibtex makeglossaries-lite simpdftex \
    dvilualatex makeindex splitindex dviluatex makejvf teckit_compile dvipdfm \
    mendex tex dvipdfmx mf texhash dvipdft mf-nowin texlua dvips mft texluac \
    ebb mkindex tlmgr eptex mktexfmt ttf2afm etex mktexlsr ttf2pk euptex \
    mktexmf ttf2tfm extractbb mktexpk ttfdump fmtutil mktextfm upbibtex \
    fmtutil-sys mptopdf updmap fmtutil-user pbibtex updmap-sys gftodvi pdfetex \
    updmap-user gftopk pdflatex updvitomp gftype pdftex updvitype inimf \
    pdvitomp uplatex initex pdvitype uplatex-dev kpseaccess pktogf upmendex \
    kpsereadlink pktype upmpost kpsestat platex uppltotf kpsewhich platex-dev \
    uptex latex pmpost uptftopl latexmk ppltotf wovp2ovf luahbtex ptex \
    xdvipdfmx lualatex ptftopl xelatex luaotfload-tool r-pmpost xetex luatex \
    r-upmpost )
for filename in ${files[@]}; do
    echo -e "##!/usr/bin/env bash \n docker run --rm -i  -v \$(pwd):/home/runner dustincys/tinytex-hithesis:latest $filename \$@"  > ~/bin/$filename
    chmod +x ~/bin/$filename
done
石见 石页 /
在共享协议(CC)下发布于
类别: technology 
标签: hithesis  docker  中