5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-11-10

ビデオ解説(日本語)
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

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?