Pandoc citeprocの挙動をマニュアルと出力結果から調べます。
Pandocのcitation構文には[prefix @id suffix]と@id [suffix]の2つの形式があります。[@id]形式は置き換えられる文字列が括弧で囲われる一方、@id形式は著者名が括弧の外に出ます。構成要素はそれぞれ以下のようになります。
- prefix:
- IDの前にある文字列を指す。
- id:
- Citation keyとして文献情報を参照するのに使われる。
-@または@で始まる。-付きは著者名を省略する。
- 後ろが文字でない約物は区切り文字になる。
@a.b..bはa.bがIDとなる。
@{id}と書いて、その範囲を明示できる。
- suffix:
- IDの後にある文字列を指す。
- 最初の単語がCSLのlocalesで定義される語の場合、それ(と後続の一部)をlocatorとして特別に扱う。
- 章や頁などの番号を記述するのに使われる。
{}で囲うことで、その範囲を明示できる。
locatorの扱いはよく分かりません。コンマで単語ごとに分けて処理されるように見えますが、それらがlocatorかどうかは、その内容も判断基準に含まれているように見えます。例えば、pageは後続の単語が数字で始まらないと駄目なように見えます。
また、文書から読み取れない挙動もいくつかあります。例えば、空白は複数連続すると1つにまとめられるようですし、@の前にあると駄目な文字があるようです。