niszetの日記

細かい情報を載せていくブログ

PandocのHeadingについてメモ

いろいろ言いたいことがあるね…。

Pandocのデータ構造を改めて見直している。実際はPandocのデータ構造を見直すためではなくて、良い文書構造はどういうものであるか?を考えていた副生成物みたいなものなんだけど。

さて、Pandocの見出し、###で始まる行はPandocのデータ型としてはHeaderになる。この要素はHeader (level, content[, attr])の構造を持つ。

pandoc.org

ここで、levelは見出しのレベルであり、attrはidやclassなどのAttr要素を示している。content#のあとに続く文字列である。

ここで気づいたのだが、この要素、自分の章や節に属している他の文字列を要素に持っていないのである。持ってると思ってましたわ…。つまり、章や節の見出しがあったあとに続く段落はこのHeaderと同じ階層にあるのである。何が言いたいかといえば、このHeaderを見てその章や節に属している要素を知ることは出来ず、ドキュメントのトップレベルで順に要素を見ていかねばならない、ということなのです。

現時点でこれで不利益を被ってるわけではないのですが、Pandocのデータ型とその構造がドキュメントの階層構造を示しているものと思っていたので、そうではないんだなー…という。

まぁ、見出しに続いた段落がその章や節というブロックに属していると考えるべきかどうか?という話かもしれませんが(あとは単純に深い階層構造を持ったデータの場合に処理がしづらいというのがあるのかもしれない)

という、メモでした。色々見て回った後にこの考えはおかしいのでは?ということになるかもしれないので、記録としてメモを残す。