-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LaTeX出力 #46
Comments
LaTeX出力はいぜん雑なもの(真面目に構文解析しないもの)を作ったことがあるのですが、ちゃんとやるのであれば構文解析器からいったんAST(抽象構文木)を構築するようにして、それを元にHTMLやLaTeXを生成するしくみにするべきかと思っています。 課題としてはASTの作り方を考える必要があります。とりわけ青空文庫記法はルビの |
おっしゃる通り、もし複数のフォーマットへの変換を用意するのであれば、一度ASTに変換されているとよいと思います。
まだaozora2htmlの実装を読み込めていないこともあって、どちらの方法を採るべきかについては考え中です。前者としてaozora2htmlを変更すると実装の見通しが良くなりそうですが、一方で全体のDOMを構築しない方式(現状?)にもメリットはありそうです。 なお、後者としては以下の条件を満たすRustで別実装を作ろうとしていました。(最近は着手できていませんが……。)
|
おおおー、それは素晴らしいですね!!>Rustで別実装 Shift_JISの読み込みが行えるのは要件としてほぼ必須かと思いますが、Rustなら普通にencoding_rsとかの変換器を使って内部ではUTF-8で扱うのでいいかと思います(aozora2htmlでもそうしたいですね…)。 なお、構文解析器としてはPEG.jsによる試験的なサンプルが https://github.com/aozorahack/aozora-parser.js/blob/master/aozora-parser.pegjs にあります(もうご存知かもしれませんが)。いろいろ足りてなさそうですが、参考にはなるかと思います。 |
現在XHTML出力が可能ですが、こちらに加えてLaTeXへの出力ができると、印刷して読む用途に便利だと思います。
(このプログラムの名前が
aozora2html
のため、やや範囲を外れているきらいはあるかもしれません。)出力されるLaTeX文書ファイルやコマンドラインオプションなどについての、大まかな仕様案は次の通りです:
tate
book
--output-format FORMAT
を追加FORMAT
にはxhtml
(初期値)、latex
を指定することができる--use-jisx0213
,--use-unicode
と--output-format latex
は併用不可なお、初期値で
--output-format xhtml
が使用されるため、従来のコマンドの動作は変化しません。予想される作業工程は次の通りです:
sample/chukiichiran_kinyurei.{txt,html}
を参考にsample/chukiichiran_kinyurei.tex
を編集して作成sample/chukiichiran_kinyurei.txt
を--output-format latex
指定で変換した結果がsample/chukiichiran_kinyurei.tex
と等しくなるようなテストを追加 ...aThe text was updated successfully, but these errors were encountered: