このPandoc用フィルターは、文章中のルビ表記を処理して、LaTeXやHTMLなどの出力形式に合わせて変換します。このフィルターを制作するにあたり、minokiさんのpandoc-aozora-rubyを参照しています。ただし、pandoc-aozora-rubyでサポートされていた省略記法(漢字から始まる文字列に対して|を省略できる)には対応していません。
フィルターは、次の形式のルビ表記を認識します。
|単語《よみがな》
フィルターは、出力形式に応じて次のようにルビ表記を変換します。
- LaTeXの場合:
\ruby{単語}{よみがな}
- HTMLの場合:
<ruby>単語<rp>《</rp><rt>よみがな</rt><rp>》</rp></ruby>
- 上記以外の場合:入力形式と同じまま維持されます。
- Pandocがインストールされていることを確認してください(Pandocのインストール方法)。
- 本リポジトリをダウンロードし、Luaスクリプト(
ruby_filter.lua
)をパスの通っている場所に移動するか、適当な場所に移動してパスを通します。 - Pandocコマンドで、
--lua-filter
オプションを使用してフィルターを適用します。例:
pandoc input.md --lua-filter=ruby_filter.lua -o output.html
この例では、input.md
というMarkdownファイルを入力として使用し、フィルターを適用してoutput.html
というHTMLファイルを生成しています。
このフィルターは、PandocのStr
要素(文字列)を処理します。そのため、ルビ表記が複数のStr
要素にまたがっている場合、正しく処理されないことがあります。ルビ表記が正しく認識されるように、適切な場所で改行や空白を挿入してください。
本リポジトリのコードおよびREADMEはChatGPT(モデル:GPT-4)との対話を通じて生成したものです。