Re: [Q] bst の書き方は(複数ページかどうかの判定)

名前: Level3
日時: 2006-01-29 00:23:58
IPアドレス: 219.104.23.*

>>40953 plain.bstでは以下の関数で判定およびダッシュの付加を行っています。 ミソはpages multi.page.checkでしょう。 FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { "pages" pages n.dashify tie.or.space.connect } { "page" pages tie.or.space.connect } if$ } if$ } まずpagesが空なら""が出力されます。 次にmulti.page.check関数で複数ページなら"pages "に続いて pagesにダッシュを付けて出力, 単数ページなら"page "に続いてpagesを出力する。 ただし,plain.bstではFUNCTION{format.vol.num.pages}のように volとnumとpageをまとめて出力する関数もあります。articleなど はcross referenceが用いられていない場合こちらの関数が呼ばれます。 さらにinbookなどではFUNCTION{format.chapter.pages}が使用されて います。 一般的に,bstファイルを解析するにはFUNCTION{article}や FUNCTION{book}などからコマンドを辿るのが解りやすいと思います。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)