TeX
Pandoc
VisualStudioCode
bibtex
WSL

文献参照ツール Pandoc Citerの利用方法


ビデオ解説(日本語)

https://youtu.be/ozxBvUcPREo

ビデオ解説(英語)

https://youtu.be/MnTJIBl5YlU


動作環境

前回は、WSL(Windows Subsystem for Linux)にインストールされたUbuntuにPandocをインストールする方法をご紹介いたしました。

ここでは、そのPandocの利用をさらに便利にするツールをご紹介いたします。

具体的には、Visual Studio Codeの拡張機能ツールである、Pandoc Citerです。

これは、BibTeXの参考文献データを読み込んで、TeXによる文章を作成中に、文献をリスト選択することにより、参照コードを簡単に挿入することができるようにするものであり、大変便利です。


まず、WSL上のUbuntuを開きます。そして適当なディレクトリに移動し、

code .と入力して、Visual Studio Codeを開きます。


次に、VS Codeの左側の拡張機能アイコンをクリックして、検索ボックスにPandocと入力します。


すると検索結果リストの中に、Pandoc Citerを選択し、インストールをクリックします。


Pandoc Citerの解説ページが表示されましたら、再読み込みしてアクティブにする をクリックします。

これで、Pandoc Citerが利用できるようになりました。


次に、どのBibファイルを参照すべきかを指定する必要があります。

まず、編集するMarkdownファイルを開き、先頭のYaml定義部分に、

bibliography:[パス名/Bibファイル名]

という形で、一行挿入します。

ここでは、カレント・ディレクトリのmyref01.bibファイルを指定したいので、

bibliography:[./myref01.bib]

としました。

このファイルを保存し、一旦閉じます。


再度このファイルを開き、文章を入力しながら、文献参照をしたい箇所で、@キーを入力します。

すると文献リストがポップアップ表示されます。

選択部分を移動すると、右側にその詳細内容が表示されます。

目的の文献を選択して、〔Enter〕キーを入力すると、文献参照が完成します。

このファイルを保存します。


次に、Pandocでコンパイルします。

ここでは、前回と同様に、Node.jsを利用することにします。

コマンド・ラインで、node makepdf01.js sample03と入力します。

なお、makepdf01.jsのソースは以下のとおりです。また、GitHub (https://github.com/Ohtsu/pandoc-o2-makepdf)にもアップロードしましたので、詳しくはそれをご覧ください。


const mdfile = process.argv[2] + '.md';
const pdffile = process.argv[2] + '.pdf';

const spawn = require('child_process').spawn;

const ls = spawn('pandoc', [mdfile,
'-o', pdffile,
'-V', 'documentclass=ltjarticle',
'--pdf-engine=lualatex',
'--toc',
'--bibliography=myref01.bib',
'--csl', 'chicago-author-date.csl',
'--filter', 'pandoc-crossref']);

ls.stdout.on('data', (data) => {
console.log(`stdout: \n${data}`);
});

ls.stderr.on('data', (data) => {
console.log(`stderr: \n${data}`);
});

ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});

また、コマンド・ライン上にたくさんのパラメータを指定することにより、直接Pandocによりコンパイルすることもできます。

その場合には、

pandoc sample03.md

-o sample03.pdf

-V documentclass=ltjarticle

--pdf-engine=lualatex

--toc

--bibliography=myref01.bib

--csl chicago-author-date.csl

--filter pandoc-crossref
.

となります。


PDFファイルが生成されました。

VS Code上でファイル・エクスプローラーを開き、PDFファイルを選択し、表示してみます。


文献参照と文献リストが生成されていることを確認できました。

OKです。


ご清聴ありがとうございました。


 


Reference