Skip to content
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

冒頭が章見出し以外から始まるときの目次の対応方針 #506

Closed
kmuto opened this issue Apr 2, 2016 · 27 comments
Closed
Milestone

Comments

@kmuto
Copy link
Owner

kmuto commented Apr 2, 2016

#436 の内容と関連。

  • 段落や節の場合、EPUBの目次にのらない。
  • たとえば段落しかない章?ファイルに対して目次を作る場合、目次項目はどう指定したらよいか。catalog.ymlに入れるとしたら、その記法はどうするか。
  • LaTeXとEPUBの挙動の違いもあり。
@takahashim
Copy link
Collaborator

この件は #498 の目次の作り方に影響するのでした(その章ページへのリンクがないと飛べないので死ぬので、何でもいいからリンク用の文字列が欲しい)
ある意味、LaTeXはあんまり関係ないというか、catalog.ymlで指定されていても無視する方針でもよさそうです。

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

この見出しナシの処理の件はなんとかしたいけど、どう実装したものか…

原稿側に「目次にはのるけど直接のファイルには出ない」見出しを記述するようにすればいいでしょうか。

=[toc] 献辞

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

目次にのらない、ではなく?

@takahashim
Copy link
Collaborator

@kdmsnr 本文には表示されないんだけど、EPUBの目次(ナビゲーション)ファイルには載って、そこからジャンプできる、というものです。

@takahashim
Copy link
Collaborator

=[TOCONLY] 献辞

くらいがいいですかねえ。長いけど、あんまり推奨するものでもないので。

@suzukin
Copy link

suzukin commented Apr 14, 2016

これ、会議で鈴木も発言してた気がするので乗っかります。だいぶ複雑になってきましたが、ここまでくると「目次なし、ページ表示あり」「目次なし、ページ表示なし」のパターンもあり得るんですかね。。(弊社の場合、奥付にいろいろ文字を入れないといけないのでcolophonでは実現できないのでした)

= はじめに
目次あり、ページ表示あり
=[toconly] 献辞
目次あり、ページ表示なし
=[nonum] あれこれ
目次あり、ページ表示あり(章番号なし)
=[notoc] 著者紹介
目次なし、ページ表示あり
=[none] 奥付
目次なし、ページ表示なし

@takahashim
Copy link
Collaborator

@suzukin 「ページ表示なし」ってEPUBで何かできるんでしたっけ?

@suzukin
Copy link

suzukin commented Apr 14, 2016

@takahashim ごめんなさいハイコンテクスト過ぎてついていけません! EPUBのページで見出しを表示しない場合に、目次からどう飛ばすのかということでしょうか?

「ページ表示なし」の実装はre:viewデフォルトのcolophon.xhtmlをイメージしていました。

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

予想ですが、ページ表示なしというよりは、Re:VIEW生成じゃないものにあとでサシカエるかんじですかね。

サシカエ作業自体はフックでやるとしても、目次掲載の情報は仮ファイルのほうには入れておく、と。

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

とりあえずnotocとtoconlyがあればいいかな。これらの要素が採番をすることはまずないと思うからnonumとの重複ができないのは気にしなくてもいいだろうか。

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

noXXX で統一のほうがキモくないです!

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

toconlyのニュアンスをnoで表現するには…

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

nodisp ... 苦しいですかね

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

=[nonum][notoc] ABC みたいにします?

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

  • 目次なし notoc
  • 番号なし nonum
  • 表示なし nodisp

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

全キャンセルの [none] もあってもよいです

@takahashim
Copy link
Collaborator

@suzukin あ、「ページ表示なし」は「見出しが本文に表示されない」のことだったんですね、であれば問題ないです!

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

見出しまわりはあまり複雑にしたくないんだよなぁ。そのあとのビルダの処理系を考えるとなるべくシンプルにしたい、今のheadlineメソッドの数が変わるのは避けたい。

  • notoc && !nonumnodisp && !nonum な状況はありえるんだろうか。
  • []無限upはだいぶいやなので、せめて[A,B]か[A B]とかの記法?

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

いま見たら正規表現だったので、[A,B] で賛成ですw

@kdmsnr
Copy link
Collaborator

kdmsnr commented Apr 14, 2016

notoc && !nonum や nodisp && !nonum な状況はありえるんだろうか。

実際にはなさそうですけど、事前に用途は確定できないので、独立したパラメータを用意して、あとは勝手に使ってくださいというスタンスでよいかなあと。

@takahashim
Copy link
Collaborator

notocnodispのときは自動的にnonumにしないと付番が破綻しませんか?

@takahashim
Copy link
Collaborator

あー、でも問題はそこじゃなくて、nonum自体が節・小節や図表番号の付番で問題があるんでしたっけ…。

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

採番ありかつnodispはTeXのときにたぶんaddcounterする実装が面倒になりそう(章だけに限定する?)。

notocについても、ほかのビルダはともかく、TeXの場合、採番ありかつ目次なし というのはちと厄介な気がします(一度ビルドしてできたtocをいじることになる)。

nodispで採番なし なら \addcontentsline{toc}{lchapterなど}{目次用見出し}

そもそもnonum=内部的にはTeXのchapter*になって目次から落ちる、というのはTeXのわかりにくい挙動かも。nonumだけしかないならaddcontentslineを入れるようにしたほうがいいのかな。

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

#301 これを直さないとか…
latexはコンパイラがやってくれるけど、HTMLなどは自力で採番調整をしないといけない。下手すると副作用が大きそうだが…。

@kmuto
Copy link
Owner Author

kmuto commented Apr 14, 2016

#555 で、epubmakerおよびpdfmakerでの

  • nonum: 採番なし・目次に入る・本文に入る
  • nodisp: 採番なし・目次に入る・本文に入らない

までを作ってみました。epubmakerの場合の採番なしによる採番のずれは、番号を戻すことで解消させています。ただ、一度簡易パースするなど、かなり無茶をしている感じはあります。

  • nodispの場合に、柱が更新できません。あまりがんばれない気がするので、必要なら\markbothをrawで入れてもらったほうが安全そう。
  • 「採番ありで目次に入れない」がTeXでやはり厄介です。見出しのTeXコマンドを自作するか、tocファイルをいじらないとダメなので、範疇を超えそう。
  • 複合指定はcompiler.rbのロジック的に厳しそうです。
  • 「採番なしで目次に入れない・本文に入る」「採番なしで目次に入れない・本文に入らない」見出しは、複合指定がだめだと別途何か名前が必要。名前地獄。

@kmuto
Copy link
Owner Author

kmuto commented Apr 15, 2016

  • notoc 採番なしで目次に入れない・本文に入る

#555 に追加してみました。そろそろ怖くなってきた。

@kmuto kmuto mentioned this issue Apr 16, 2016
7 tasks
@kmuto
Copy link
Owner Author

kmuto commented Apr 17, 2016

#555 をマージしました。

@kmuto kmuto closed this as completed Apr 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants