
Markdown Preview Enhanced(MPE)で PDF を生成するときに、
- CSS が反映されない
- PrinceXML が呼び出せず、エラーで止まる
- 設定がどこにあるのか分からない
こうしたトラブルの多くは、VS Code の設定ファイル(settings.json)と MPE の CSS 設定、さらに Windows の PATH のどこかでつまずいているだけだ。
この記事では “設定ファイルまわり” に絞って、
- settings.json の最低限いじるべき項目
- CSS が読み込まれない理由
- Windows で PrinceXML の PATH を正しく通す方法
この3つを整理する。
✔ まず前提:MPE が読みに行く設定は「settings.json」と「.mume/style.less」
MPE で触る設定は主に2つだけ。
1. settings.json(VS Code 全体の設定)
ここでは プレビューの挙動 を制御する。
実在する代表的なキーはこれだけで十分:
{
// 改行をそのまま反映
"markdown-preview-enhanced.breakOnSingleNewLine": true,
// MathJax で数式をレンダリング
"markdown-preview-enhanced.mathRenderingOption": "MathJax",
// スクリプト実行(目次・HTML埋め込みで必要になることがある)
"markdown-preview-enhanced.enableScriptExecution": true,
// プレビュー用テーマ
"markdown-preview-enhanced.previewTheme": "github-dark.css"
}
注意:
MPE には princePath や exportPDF のような「プリンターのパスを settings.json で指定するキー」は存在しない。
PrinceXML を認識させるのは Windows の PATH 側が本体。
2. CSS の設定は “Customize CSS” から操作する
MPE のメニューから Markdown Preview Enhanced → Customize CSS を開くと、
~/.mume/style.less
が生成される。ここに書いた内容が プレビューと PDF 両方に反映される。
例:
body {
font-family: "Noto Sans JP", sans-serif;
line-height: 1.7;
}
.prince {
@page {
margin: 20mm;
}
}
CSS が効かないときの典型は:
- パス付きの外部 CSS を読もうとしている
- 日本語パスのせいで読み込み失敗
.mume/style.lessを編集していない
のどれか。
✔ PrinceXML が動かない原因は 90%「PATH が通っていない」
VS Code/MPE が PrinceXML を呼び出すときは、内部で単に:
prince input.html -o output.pdf
というコマンドを叩いているだけ。
つまり、Windows の PATH に prince.exe が登録されていないと絶対に動かない。
【手順】Windows で PATH を確認する
① PowerShell を開く
Win + R → <code>powershell</code>② Prince の実行ファイルを直接呼んでみる
"C:\Program Files (x86)\Prince\engine\bin\prince.exe" -v
バージョンが返ってくれば OK。
③ PATH が通っているか確認
where prince
- 何も出ない → PATH が通っていない
- 別ディレクトリが出る → 複数バージョンが競合
【手順】PATH を正しく通す
- Windows 検索 → 「環境変数」
- 「システム環境変数の編集」
- 環境変数 →「Path」
- 次を追加:
C:\Program Files (x86)\Prince\engine\bin
- PowerShell を再起動して確認
prince --version
これが通れば MPE からも呼び出せるようになる。
✔ まとめ(修正版)
MPE × PrinceXML のトラブルは、ほぼ次のどれか。
1. settings.json が正しく書けていない
previewThemebreakOnSingleNewLineenableScriptExecution
など基本のキーのみでOK。
2. CSS を外部読み込みしようとして失敗している
.mume/style.lessを編集すれば安定する。
3. Windows の PATH が通っていない(最も多い)
prince --versionが通らない → MPE からも絶対に動かない。
この3つだけ整えれば、PDF 書き出しはほぼ確実に成功する。