Closed8
VS Code+Markdown+Pandoc+LuaLaTeXの執筆環境をDockerで構築する
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
pandoc-crossrefで相互参照を行う
BibLaTeXで参考文献を扱う
CSL
以下のリンクから用途に合ったCSLファイルをダウンロードする。
SIST02(科学技術情報流通技術基準)
IEEE(電気電子学会)
使い方
デフォルトでは文章の末尾に参考文献が追加されるので見出しだけ用意しておく。任意の場所に追加する場合は以下の通り。
::: {#refs}
:::
Default Fileで設定を管理する
保存時に自動ビルドする
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"
}
]
}
Markdownlint
textlint
Pandoc関連のVS Code Extensions
Pandoc Markdown
Pandoc Citer
設定のPandocCiter.DefaultBib
でbibファイルを指定しておく。
vscode-pandoc
このスクラップは2023/10/07にクローズされました