Closed8

VS Code+Markdown+Pandoc+LuaLaTeXの執筆環境をDockerで構築する

3w36zj63w36zj6

Dockerfile

Dockerfile
FROM debian:12.1-slim@sha256:24c92a69df28b21676d721fe18c0bf64138bfc69b486746ad935b49cc31b0b91 AS installer
ENV PATH /usr/local/bin/texlive:$PATH
WORKDIR /install-tl-unx
RUN apt-get update
RUN apt-get install -y \
    perl \
    wget \
    xz-utils \
    fontconfig \
    libfontconfig1
COPY ./texlive.profile ./
RUN wget -nv https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
RUN tar -xzf ./install-tl-unx.tar.gz --strip-components=1
RUN ./install-tl --profile=texlive.profile
RUN ln -sf /usr/local/texlive/*/bin/* /usr/local/bin/texlive
RUN tlmgr update --self --all
RUN tlmgr install \
    collection-fontsrecommended \
    collection-langjapanese \
    collection-latexextra \
    collection-luatex \
    latexmk \
    latex \
    luatexja \
    bxjscls \
    babel-japanese \
    bxwareki \
    everyhook \
    svn-prov \
    type1cm \
    ipaex \
    haranoaji \
    svn-prov \
    ctex \
    biblatex \
    biber
RUN cp -r /usr/local/texlive/2023/texmf-dist/fonts/truetype/public/ipaex/ /usr/share/fonts/truetype/ && \
    cp -r /usr/local/texlive/2023/texmf-dist/fonts/opentype/public/haranoaji/ /usr/share/fonts/opentype/ && \
    cp -r /usr/local/texlive/2023/texmf-dist/fonts/opentype/public/haranoaji-extra/ /usr/share/fonts/opentype/
WORKDIR /pandoc
RUN wget https://github.com/jgm/pandoc/releases/download/3.1.8/pandoc-3.1.8-1-amd64.deb && \
    dpkg -i pandoc-3.1.8-1-amd64.deb
RUN wget https://github.com/lierdakil/pandoc-crossref/releases/download/v0.3.17.0/pandoc-crossref-Linux.tar.xz && \
    tar -Jxvf pandoc-crossref-Linux.tar.xz && \
    mkdir -p ~/.local/share/pandoc/filter && \
    cp pandoc-crossref /usr/local/bin
ENTRYPOINT [ "/usr/bin/pandoc" ]
WORKDIR /workdir
3w36zj63w36zj6

BibLaTeXで参考文献を扱う

CSL

以下のリンクから用途に合ったCSLファイルをダウンロードする。

https://www.zotero.org/styles/

SIST02(科学技術情報流通技術基準)

https://www.zotero.org/styles/sist02

IEEE(電気電子学会)

https://www.zotero.org/styles/ieee

使い方

デフォルトでは文章の末尾に参考文献が追加されるので見出しだけ用意しておく。任意の場所に追加する場合は以下の通り。

::: {#refs}
:::
3w36zj63w36zj6

保存時に自動ビルドする

https://marketplace.visualstudio.com/items?itemName=pucelle.run-on-save

docs/以下のファイルを保存したときにコマンドを発火させる例。

.vscode/settings.json
{
  "runOnSave.commands":  [
      {
        "globMatch": "${workspaceFolder}/docs/**/*.md",
        "forcePathSeparator": "/",
        "command": "pandoc ${fileDirnameRelative}/${fileBasename} -o ${fileDirnameRelative}/${fileBasenameNoExtension}.pdf --resource-path=${fileDirnameRelative} -d default.yml"
      }
    ]
}
このスクラップは2023/10/07にクローズされました