4
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 1 year has passed since last update.

メモ:vscode+pandocで日本語PDF出力

Last updated at Posted at 2023-06-21

構築メモ。環境はWindows 10です。

インストール

  1. pandocのインストール
    1. Pandoc - Installing pandoc」から「Download the latest installer for Windows (64-bit)」のリンクでインストーラーをダウンロード
    2. インストーラーを起動し、ウィザードに沿ってインストール実行。
    3. コマンドラインかPowerShellを開き、 pandoc --version でバージョン表示が出る(インストールができている)ことを確認する。
  2. VScodeのプラグインのインストール
    1. VScodeを起動
    2. プラグイン画面で vscode-pandoc を検索
    3. 見つかったプラグインをインストール(複数見つかったので Chris Chinchilla のものを入れた)

docker使用オプションの無効化とHTMLへの変換

最近Dockerサポートが加わったらしくて、デフォルトでこれが有効化されてて、以下のエラーになった。

exec error: Error: Command failed: docker run --rm -v (略)

前提条件部に書かれてる useDocker オプションを無効化すればよさそうな気がする。

You need to install Pandoc - a universal document converter.
Alternatively you may set the useDocker option to true and the extension runs Pandoc in a container using the latest official pandoc/latex image.

  1. VScodeを起動
  2. プラグイン画面で vscode-pandoc を右クリックし「拡張機能の設定」を開く
  3. 最下部にある「Pandoc: Use Docker」オプションのチェックを外す
    image.png

これで特別なレンダリングエンジンが要らなそうなMarkdownからHTMLへの変換をしてみる。

  1. VScodeを起動
  2. 任意のMarkdownファイルを開く
  3. Ctrl+Pでコマンドパレットを開き、Pandoc Renderを選択
  4. レンダリング形式に html を指定

Word(.docx)への変換

上のHTMLへの変換が成功していれば、残る前提条件はWordがインストールされていること。

  1. VScodeを起動
  2. 任意のMarkdownファイルを開く
  3. Ctrl+Pでコマンドパレットを開き、Pandoc Renderを選択
  4. レンダリング形式に docs を指定

PDFへの変換

PDFに変換するには pdflatex かその代わりになる変換エンジンが要るらしくて、以下のエラーになった。

exec error: Error: Command failed: "pandoc" "Markdownファイルのパス.md" -o "PDFファイルのパス.pdf" pdflatex not found. Please select a different --pdf-engine or install pdflatex

まずTeXのインストール。関連情報はこことかこことかここ

  1. Windows - TeX Live - TeX Users Groupから「install-tl-windows.exe」をダウンロード。
  2. 実行し、ウィザードに沿ってインストール。

インストール進行状況が表示されるけど「0250/4538」とか「time/total: 05:51/1:18:42」とか出てて、どんだけって気持ちになる。でもまあ、見守る。見守らないで、なにか他のことしてきてもいい。私の環境では「4538/4538」と最後まで来たとき、時間の方は「02:07:12/02:07:12」だった。

image.png

vscode-pandocにPDF生成時のエンジンの設定を入れていくけど、日本語PDFを生成するにはもうひと手間必要らしくて、 pdflatexe より lualatex を使うのが手軽そう。関連情報はこことかここ

  1. VScodeを起動。
  2. プラグイン画面で vscode-pandoc を右クリックし「拡張機能の設定」を開く。
  3. 「Pandoc: Pdf Opt String」に --pdf-engine=lualatex -V documentclass=ltjsarticle -V luatexjapresetoption=ms を指定する。
    image.png

これでMarkdownからPDFへの変換をしてみる。

  1. VScodeを起動(再起動)。
  2. 任意のMarkdownファイルを開く。
  3. Ctrl+Pでコマンドパレットを開き、Pandoc Renderを選択。
  4. レンダリング形式に html を指定。

参考情報

以下を参考にした。

この先はPandocの使いこなしになるけど、参考にしたいところをメモしておく。

4
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
4
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?