はじめに
Obsidianで書いたMarkdownを相互参照・参考文献付きでLaTeX組版のPDFに変換する方法について書きます。OSはWindows 11です。
仕組みについては、MarkdownとPandocとLatexmkで楽してレポートを書くに詳しいです。この記事のインターフェースにObsidianを用いて、ユーザビリティを向上させたものになります。
この環境の構築に成功すると
このようにObsidianで書かれたMarkdownを
このようにLaTeXで組版されたPDFに一発で変換することができます。WordやLaTeXに変換することもできます。
導入するもの
- Obsidian
- MdTex
- Tex Live
- Pandoc
- pandoc-crossref
手順
環境構築の手順を紹介します。手順通りに進めてエラーが発生したときは、トラブルシューティングに同様の問題がないか確認し、その都度修正してください。
Tex Liveをインストールする
Tex Liveをインストールしてください。
参考: 【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)
Pandocとpandoc-crossrefをインストールする
Pandocとそのフィルターであるpandoc-crossrefをインストールしてください。
参考: Pandocの比較的簡単なインストール方法
pandoc-crossrefの書き方については、Markdownで相互参照を使うならpandoc-crossrefに詳しいです。
ObsidianにMdTexのプラグインをインストールする
以下の2つの記事を参考にして、ObsidianにMdTexのプラグインをインストールしてください。
--citeproc
をPandoc追加オプション
に入力
MdTexの設定からPandoc追加オプション
に--citeproc
と入力してください。
トラブルシューティング
Chocolateyでインストールするとpandoc-crossrefのバージョンが古くなる
確認方法
-
pandoc --version
をコマンドプロンプトに入力してPandocのバージョンを確認します。 -
pandoc-crossref --version
をコマンドプロンプトに入力してpandoc-crossrefに対応するPandocのバージョンを確認します。
> pandoc --version
pandoc.exe 3.6.2
Features: +server +lua
Scripting engine: Lua 5.4
User data directory: C:\Users\ユーザー名\AppData\Roaming\pandoc
Copyright (C) 2006-2024 John MacFarlane. Web: https://pandoc.org
This is free software; see the source for copying conditions. There is no warranty, not even for merchantability or fitness for a particular purpose.
> pandoc-crossref --version
pandoc-crossref v0.3.4.1 git commit 484c8168a5190e13b43f1aa1547554081aa2ca5b (HEAD) built with Pandoc v2.7.2, pandoc-types v1.17.5.4 and GHC 8.4.4
pandoc-crossrefを手動でインストールする
-
User data directory:
以下を見てユーザーデータディレクトリを確認します。 - ディレクトリはない場合もあるので、なければ作ります。
- GitHubからpandoc-crossrefの最新版をダウンロードします。
- ユーザーデータディレクトリに
filter
フォルダを作成して、pandoc-crossref.exeをそこに置きます。
.styファイルがないというエラーが出る
Pandoc error: Error producing PDF. ! LaTeX Error: File 'lualatex-math.sty' not found.
このようなエラーが出たときはTex Liveでインストールすれば解決します。
tlmgr install lualatex-math
bibliographyが認識されない
Pandoc error: File ファイル名.bib not found in resource path.
このようなエラーが出たときはメタデータのbibliography:
以下をフルパスで書きます。
---
bibliography: C:/Users/...
---
このとき引用符や括弧は付けず、\
ではなく/
で区切ります。
拡張子の.bib
も付けます。
Tips
- タグはメタデータの中に入れるとPDFでは表示されなくなります。
コード例
---
#アイデア
title: Markdownの実験
author: 坂本
date: \today
bibliography: C:/Users/...
---
# はじめに
あいうえお[@Lang:alg]。
ところで[@fig:the-garden]はThe Gardenの画像。
{#fig:the-garden}
[@eq:kai]は解の公式。
$$ x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} $$ {#eq:kai}
::: {#refs}
:::
追記したいことがある。
@book{Lang:alg,
author = {Lang, Serge},
title = {Algebra},
series = {Graduate Texts in Mathematics},
volume = {211},
edition = {Third},
publisher = {Springer-Verlag, New York},
year = {2002},
}