この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)との対話を通じて生成したものです。