Closed gitster closed 6 months ago
今更感はありますが、Ubunu環境で事象の再現確認できました。 ただ改造版AozoraEpub3使用であれば以下の環境では既に問題は発生しないように見えています。 narou version 3.8.2 AozoraEpub3 1.1.1b23Q (java --version -> openjdk 21.0.2 2024-01-16) ※Ubuntu環境ですが多分Windowsでも同じ想定
改善あればクローズでいいかと思いますがどうでしょう?
おなじ3.8.2で再現して、AozoraEpub3をアップデートしたら解決するのであれば、narouのissueとするの自体が間違いですから、クローズするのが妥当と思います。
再現試験ありがとうございました。
[使用ソフトウェアヴァージョン] narou version 3.8.2 AozoraEpub3 1.1.1b13Q
[設定] device: epub default.enable_half_indent_bracket: false default.slice_size: 1200 default.author_comment_style: simple
[再現手順] $ narou download n0692es && narou convert n0692es 生成されたepubのうち、二冊目以降はepub validationを通りません。nav.xhtmlが不正と言われます。
[説明]
これはAozoraEpub3側の問題かも知れませんが、.narou/local_setting.yaml ファイル内にdefault.slice_sizeを設定して(例 "narou s default.slice_size=1200")出力が分割されるようにすると、章立てがある作品では、(運が良くない限り)2冊目以降のepubがvalidation errorになります。 一冊目がたとえば3章の20話目で終わり、二冊目が3章の21話目から始まる、なんていう場合に、nav.xhtmlの最初の方のエントリが不正になるようです。具体的には
普通なら nav.xhtml はこんな具合になるようです(1冊目は正しくこんな具合になります)。実際には
<li>
のそれぞれには各話へのリンクの<a>
エレメントが入りますが、ここでは省略しています。ところが、2冊めは、こんな風に始まります。
外側の
<ol>
は第2巻全体をくるむもの、本来はその中のはじめの<li>
エレメントが第3章(の残り) の見出しページを複製し、その中に内側の<ol>
が来て、その章に属する各話が<li>
エレメントで列挙されるはずですが、そこがうまく行っていかずに、<ol>
の次に<li>
でも</ol>
でもないモノが来てsgmlバリデーションが通らない、ということになります。最小限の修正は、作品タイトルの
<li>
エレメントを動かしてとすることですが、
<li>第3章の見出し(つづき)
というのを作品タイトルの後ろに入れてと始めるようにできれば、より良いかもしれません(第1巻と同じ構造になる)。 ただ、そうすると「見出し」ページを複製しないといけないので面倒は増えるかも知れませんが。