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

[nonum]をつけた場合の章番号カウンタの挙動 #301

Closed
takahashim opened this issue Jul 3, 2014 · 4 comments
Closed

[nonum]をつけた場合の章番号カウンタの挙動 #301

takahashim opened this issue Jul 3, 2014 · 4 comments
Milestone

Comments

@takahashim
Copy link
Collaborator

統一されてないので仕様を決めた方が良さそうです。

  • HTMLBuilder: 章に[nonum]がついている場合は章番号が+1される(「第XX章」は表示されないけど)。節番号はリセットされる。
  • LATEXBuilder: 章に[nonum]がついている場合、章番号が増加しない(「第XX章」を除いた章タイトルが表示されるだけで、前章の続きのようになる)。節番号もリセットされず、前の章からの番号が引き継がれる。

あと、章レベルに[nonum]がついていても、節見出しには[nonum]がついていない場合、「XX-YY」みたいな節番号が表示されてしまうのは変な場合が多いかと思いますが、これは「いったん[nonum]をつけた場合、その下位レベルには[nonum]をつけるべき」みたいな使い方(ややバッドノウハウ)でいいんでしょうか。

@kmuto
Copy link
Owner

kmuto commented Jul 3, 2014

いろいろ先行きが簡単じゃないかんじですが、nonum挙動はLaTeXBuilderのほうが適切ですね。

bad knowhowのほうは、うーん。自動で下ツリーを綺麗に処理できればいいけど、大変な気がする。

@takahashim
Copy link
Collaborator Author

関連:

「わお、ReVIEWで[nonum]で章番号の採番をスキップさせると//imageの画像番号と文中の画像番号が噛み合わなくなる」
https://twitter.com/eaglesakura/status/502516934702026752

@kmuto
Copy link
Owner

kmuto commented Apr 14, 2016

TeX挙動に合わせられるか見てるんですが、これかなり難しいですね。

book/base.rb

num=0
 ...
return catalog.parts_with_chaps.map do |entry|
            if entry.is_a? Hash
              chaps = entry.values.first.map do |chap|
                Chapter.new(self, (num += 1), chap, "#{@basedir}/#{chap}")
              end
              Part.new(self, (part += 1), chaps, read_PART.split("\n")[part - 1]
)
            else
              chap = Chapter.new(self, (num += 1), entry, "#{@basedir}/#{entry}"
)
              Part.new(self, nil, [chap])
            end
          end

numberとなるのはChapterコンストラクタの2つめ引数で、ここではシーケンシャルにcatalogで読んだ順に採番しているだけ。
この時点ではファイルを開いているわけではないので、nonumがあるかどうかというのは判断できない。判断するにはファイルを開かないといけない。

  • catalogで情報を持たせる…のは難しそう。構文的にも変になりそう
  • catalogのロードが終わったあと、章/部の見出しheadlineだけを探す軽量なパーサを実行する?(うーん…)

@kmuto
Copy link
Owner

kmuto commented Apr 17, 2016

#555 で対処したつもり

@kmuto kmuto closed this as completed Apr 17, 2016
@kdmsnr kdmsnr added this to the 2.0.0 milestone Apr 24, 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

3 participants