この記事は Emacs 精進 Advent Calendar 2025 2 日目の投稿です。
背景
前回は Qiita Advent Calender 用の執筆環境を構築しました。今回は 2 日目の記事ですから、まだまだメタなことをやっていきたいと思います。
『Emacs 精進 2025』は 1 つの .org ファイルで記述されています。これを PDF ファイルに変換した場合、技術同人誌風に表示できるでしょうか? やってみます!
PDF 出力
案 1. org-latex-export-to-pdf
org-latex-export-to-pdf 関数を使うと、日本語を全て枠所した PDF ファイルが生成されました。 AI に従うと、以下を .org ファイルの冒頭に記載して、最低限日本語も表示されるようになりました:
#+LATEX_COMPILER: lualatex
#+LATEX_HEADER: \usepackage{luatexja}
#+LATEX_HEADER: \usepackage{luatexja-fontspec}
#+LATEX_HEADER: \usepackage[haranoaji]{luatexja-preset}
LuaTex などは NixOS においては
texliveFullパッケージとして一括インストールできます。
変換後の画面は以下の通りです。日本語も正しく表示されています:
もう少しだけ調整するなら、 emacs の org-latex-export-to-pdf 設定手順 などが良さそうです (※ 動作未確認) 。しかし LaTeX が相手だと、自力でスタイルを修正するのは困難に思えたので、他の方法も検討してみます。
案 2. ox-typst
Typst を経由して PDF を出力してみます。 ox-typst は Qiita, Zenn 共に検索結果が 0 件だったため、ネタとしても良さそうです。
なぜ Typst か (経験則)
Typst によるスライド生成 を試したところ、テーマの調整なども簡単で、主戦力になりました。 PDF 出力も一定品質以上になる気がします。
ox-typst の導入
ひとまずインストールします:
(leaf ox-typst)
グローバルな設定は設けず、ドキュメントごとに File Variables を設定するのが良さそうです:
;; Local Variables:
;; org-typst-from-latex-environment: (function org-typst-from-latex-with-naive)
;; org-typst-from-latex-fragment: (function org-typst-from-latex-with-naive)
;; End:
PDF 変換
さっそく org-typst-export-to-pdf を使ってみましたが、コードブロックが一枚の画像のような扱いとなり、画面下部で見切れてしまいました:
それでもハイライト付きなのは嬉しい!
試しに figure の breakable 属性を ATTR_TYPST で設定……するつもりが、 ox-typst において未実装のようで .typ ファイルの出力内容は変わりませんでした:
#+ATTR_TYPST: :breakable true
#+BEGIN_SRC elisp
(leaf ox-qmd
:commands (org-qiita-export-buffer-to-book)
;; ..
#+END_SRC
ちょっと厳しそうなので、早めに切り上げます。
結論
ox-typst では、出力ファイルの細かい調整はできないと思います。長期的にコントリビュートする気がなければ、本格的な使用は難しそうだと感じました。
今回の記事としては、アドベントカレンダー用の .org ファイルを PDF 出力して、 25 記事分の内容を一気に確認できるようになったということで、良しとしたいと思います。
それでは次の記事でお会いしましょう! (あと 23 記事、、)

