groff のための参考文献目録プリプロセッサ
B .de R1 .ig R2 ..の行を追加することにより UNIX refer でも処理できます。 この指定によって troff は と の間をすべて無視します。 このオプションによっていくつかのコマンドと同等の効果を得ることができ ます。 これらのオプションは主に Unix refer との互換性のためにサポートされてい るものです。 通常はコマンドを使った方が便利です。 refer は refer の出力を読むコマンドによって生成されるメッセージの中のファイル名と行番 号が正しくなるように 行を生成します。 入力が soelim (1) のようなコマンドによって前処理されている場合でも、メッセージ中のファイ ル名と行番号と生成される 行が正確になるように で始まる行も解釈します。
-b-e-n-C-P-S-a n-c fieldsfields
-f n-i fieldsfields
-k-k field-l-l m-l, n-l m , n-p filenamefilename
-s specspec
-t nn
これらのオプションは以下のコマンドと同等です。ただし、通常の方法のか
わりにコマンド行で指定されるファイル名が
bibliography
コマンドへの引数であるように処理されます。
-B-B field . macrofield
macro ;
no-label-in-reference
以下のオプションには同等なコマンドはありません。
-v-R
ABCDEGIJKLNOPm - n
で指定できます。
QRSTVXfields
となります。
opening-text
と
closing-text
と
flags
のコンポーネントは省略可能です。
keywords
か
fields
のいずれか 1 つのコンポーネントを指定する必要があります。
keywords
コンポーネントは
keywords
に含まれる全ての単語を含む参考文献を文献データベースから検索するために
指定します。
もし複数の参考文献が見つかった場合はエラーとなります。
fields
コンポーネントは参考文献の中で指定されるものを置き換えるか付け加えるた
めの追加フィールドを指定します。
参考文献が蓄積される設定で、
keywords
コンポーネントが空でなければ、追加フィールドはある特定の参考文献が引用
されている最初の部分においてのみ指定されなければならず、その参考文献を
引用している全ての部分に適用されます。
opening-text
と
closing-text
コンポーネントは
bracket-label
コマンドにおいて指定される文字列の代わりにラベルを囲むために使われる文
字列を指定します。
これらのいずれもが空でなければ、
bracket-label
コマンドで指定されている文字列は使われません。
この処理は
[
と
]
フラグを使って置き換えることができます。
これらのコンポーネントの前と後につくスペースは意味を持つことに注意し
て下さい。
flags
コンポーネントはここでの引用の扱いを変更するためのアルファベット以外の
文字のリストです。
Unix refer はこれらのフラグをキーワードの一部として処理しますが、それ
らはアルファベットでないため無視します。
以下のフラグが現在認識されるものです。
#[opening-text
の前に置かれます。
]closing-text
の後に置かれます。
opening-text
と
closing-text
の中に括弧を含めるのではなく、
[
と
]
フラグを使うことの 1 つの利点は
bracket-label
コマンドで変更するだけでドキュメントの中で使っている括弧のスタイルを変
更できることです。
もう 1 つの利点として、これらのフラグを使うことによって引用のソートとマー
ジを禁止する必要がないことがあげられます。
もしラベルがテキスト中に挿入されるべきものであれば、それは
行の前の行に挿入されます。
そのような行がない場合には
の前に余分の行が挿入されて警告が表示されます。
複数の参考文献に対する引用を作成する特別の表記法はありません。
ただ引用を 1 つの参考文献につき 1 つずつ連続して使用します。
引用の間には何も入れないで下さい。
全ての引用に対するラベルは最初の引用の前の行に付加されます。
ラベルはまたソートしたり、マージしたりすることもできます。
ラベルの表記法
<>
とコマンド
sort-adjacent-labels
と
abbreviate-label-ranges
の説明を参照して下さい。
ラベルは引用に空でない
opening-text
か
closing-text
がある時にはマージされません。
しかし、
opening-text
が伴わず
[
フラグを使った引用がその直後に続く、
closing-text
を伴わない
]
フラグを使った引用のラベルは最初の引用の
opening-text
か次の引用の
closing-text
が空でない場合においても、ソートとマージを行なうことができます。
(もしこれを行ないたくない場合は、最初の引用で
closing-text
を
としてください。)
name
には
name
の効果を打ち消す否定コマンド
no- name
があります。
例えば、
no-sort
コマンドは参考文献をソートしないことを指定します。
否定コマンドは引数を取りません。
以下の説明で各引数はひとつのワードとなります。
field
はフィールドの名前となる 1 文字の小文字または大文字です。
fields
はそのような文字のシーケンスです。
m
と
n
は非負の数字です。
string
は任意の文字列です。
filename
はファイル名です。
abbreviate\*n fields string1 string2 string3 string4fields
のファーストネームを短縮形にします。
頭文字ともう 1 つの頭文字の間には
string1
が挿入されます。
ラストネームとの間には
string2
が挿入され、その他のもの
(
von
や
de
のようなもの) との間には
string3
が挿入されます。これらのストリングのデフォルトはピリオドにスペースが続
いたものとなります。
ハイフンで区切られたファーストネームの中で、名前の最初の部分の頭文字は
string4
(デフォルトはピリオド) によってハイフンと分離されます。
省略形に起因する曖昧さについては特に考慮していません。
名前はソートする前およびラベルが構築される前に省略形にされます。
abbreviate-label-ranges\*n stringstring
最後のラベルの順からなる 1 つのラベルに省略されます。
これは主に数字ラベルにおいて便利です。
string
が省略された場合のデフォルトは
-
です。
accumulate\*nannotate\*n field stringfield
は注釈です。注釈は参考文献の最後に
の行の後にパラグラフとして印刷されます。
macro
が省略されるとデフォルトの
AP
となります。もし、
field
も省略されるとデフォルトの
X
となります。
注釈になれるフィールドは 1 つのみです。
articles string ...bibliography filename ...bracket-label string1 string2 string3string1
と
string2
で囲みます。
string2
の直後に
string1
が現れた場合は
string3
に置き換えられます。
デフォルトでは
bracket-label \*([. \*(.] ,
となります。
capitalize fieldsfields
を大文字とそれに続く小文字に変換します。
compatible\*ndatabase filename ...filename
について、もし
indxbib (1)
によって生成されたインデックス
filename .i
が存在すれば、それが代わりに検索されます。各インデックスは複数のデータ
ベースをカバーできます。
date-as-label\*n stringstring
はラベルを構成した後にフィールド
D
を置き換える文字列を指定するラベル式です。
ラベル式の説明については
ラベル式
の項を参照して下さい。
このコマンドは参考文献リストの中で明示的なラベルは使いたくないが、何ら
かの方法で日付を修飾することによって曖昧さを取り除きたい場合に便利です。
通常、テキスト中で使用されているラベルは作者と日付の組み合わせになります。
ほとんどの場合、
no-label-in-reference
コマンドも使う必要があります。
例えば、
date-as-label D.+yD.y%a*D.-y
は参考文献中のフィールド
D
の年の部分に曖昧さを取り除く文字を追加します。
default-database\*ndiscard\*n fieldsfields
を無効とします。
fields
の文字列の定義は出力されません。
初期状態では
fields
は
XYZ
となっています。
et-al\*n string m nu
、著者の合計が
t
とすると、最後の
t - u
の著者が
string
によって置換され、
t - u
が
m
より小さくなく、
t
が
n
より小さくないようになります。
デフォルトでは
et-al et al 2 3
となります。
include filenamefilename
をインクルードし、その内容をコマンドとして解釈します。
join-authors string1 string2 string3string1
によって連結されます。
2 人より多い作者がある場合、最後の 2 人を除いた作者は
string2
で連結され、最後の 2 人の作者は
string3
で連結されます。
もし
string3
が省略されると、デフォルトは
string1
となります。
もし
string2
も省略されると、デフォルトは
string1
となります。
例えば、
join-authors and , , and
は作者の連結をデフォルトの方法に戻します。
label-in-reference\*nlabel-in-text\*nlabel stringstring
はどのように各参考文献にラベルをつけるかを記述するラベル式となります。
separate-label-second-parts stringstring
で最初のラベルと分離します。
ラベル式については
<>
のラベル式の説明を参照して下さい。
move-punctuation\*nreverse\*n stringstring
中にあるフィールドを逆にします。
各フィールド名の後にはいくつのフィールドが逆にされるかを示す数が指定さ
れます。
フィールドにこの数が指定されなければ、そのフィールドは全て逆になります。
search-ignore\*n fieldsfields
の内容を無視します。
初期状態ではフィールド
XYZ
が無視されます。
search-truncate\*n nn
文字が与えられることのみを要求します。
実際にデータベース中で与えられたキーを検索する時には
n
とキーの長さの大きい方の長さに切られます。
初期状態では
n
は 6 です。
short-label\*n stringstring
はラベルのもう 1 つの (通常は短縮形の) スタイルを指定するラベル式です。
これは
#
フラグが引用で与えられている時に使われます。
author-date スタイルのラベルを使う時、作者は文脈から明らかに識別できる
ことがあり、ラベルでは作者を省略したいことがあります。
通常、
short-label
コマンドは日付と (多分) 明確な文字のみを含むラベルを指定するために使用
されます。
sort\*n stringstring
はフィールド名のリストであり、各フィールド名にはソートに使われる名前に
いくつのフィールドがあるかを示す数字が続きます。
+
を名前のついた全てのフィールドを使うことを示すために使うことができます。
また、
を参考文献が (一時的な) ラベルを使ってソートされることを示すために使う
こともできます。
(
ラベル式
のセクションで一時的なラベルの概念について説明しています。)
sort-adjacent-labels\*nfieldfield n
field
の
n
番めの部分です。
n
が省略された場合はデフォルトは 1 となります。
' string 'string
中の文字は文字通り解釈されます。
@% nexpr *expr
となります。
これは一時的に評価され、空の文字列になります。
expr + nexpr
の最初
( + )
または末尾
( - )
の
n
文字の大文字か小文字か数字です。
troff の (
'a
のような)
特別文字は 1 文字としてカウントされます。
アクセント文字列は保持されますが、合計にはカウントされません。
expr .lexpr
を小文字に変換したものです。
expr .uexpr
を大文字に変換したものです。
expr .cexpr
を大文字とそれに続く小文字に変換したものです。
expr .rexpr
をラストネームが最初に来るように逆にしたものです。
expr .aexpr
です。
abbreviate
コマンドによって指定されたフィールドはラベルが評価される前に略称にされ
ます。
このため、
は参考文献の中ではなくラベルの中でのみフィールドを略称にしたい時のみ有
用です。
expr .yexpr
の年の部分です。
expr .+yexpr
の年の前の部分、もしくはそれが年を含んでいなければ
expr
の全体となります。
expr .-yexpr
の年の後の部分、もしくは
expr
が年を含んでいなければ空の文字列となります。
expr .nexpr
のラストネームの部分となります。
expr1 ti expr2expr1
となります。ただし、
expr1
の最後の文字が
-
である場合は
expr2
に置き換えられます。
expr1 expr2expr1
と
expr2
の結合です。
expr1 | expr2expr1
が空でなければ
expr1
となり、それ以外では
expr2
となります。
expr1 & expr2expr1
が空でなければ
expr2
となり、それ以外では空の文字列となります。
expr1 ? expr2 : expr3expr1
が空でなければ
expr2
となりそれ以外では
expr3
となります。
< expr >expr
によって分離されています。
2 つの部分からなり、最初の部分が同じである 2 つの連続したラベルは最初
のラベルに次のラベルの 2 番目の部分を追加し、
separate-label-second-parts
コマンド (初期値ではスペースが続くコンマ) によって指定された文字列によっ
て分離することによってマージされます。その結果のラベルもまた 2 つの部
分からなるラベルとなり、最初の部分がマージ前の最初の部分となります。さ
らに追加されるラベルはこれにマージされます。
最初の部分が空であっても差し支えありません。これは
short-label
コマンドで使う式で使うことができます。
( expr )expr
と同様です。
グルーピングを行なうために使われます。
上述の式は順位 (高いものが最初) の順にリストされます。
&
と
|
は同じ優先順位となります。
X
に対応します。
数値レジスタ
[P
はフィールド
P
がページの範囲を含んでいれば 1 にセットされます。
[T
と
[A
と
[O
の数値レジスタは、
の文字のいずれかで終るフィールド
T
と
A
と
O
に対応して 1 にセットされます。
数値レジスタ
[E
は文字列
[E
が複数の名前を含んでいれば 1 にセットされます。
参考文献にはマクロ
][
への呼び出しが続きます。
このマクロの最初の引数には参考文献のタイプを表す数を与えます。
もし参考文献がフィールド
J
を含んでいると、タイプ 1 として分類されます。
またフィールド
B
を含んでいるとタイプ 3、フィールド
G
か
R
を含んでいるとタイプ 4、フィールド
I
を含んでいるとタイプ 2となり、これら以外ではタイプ 0 となります。
2 番目の引数はタイプ
other ,
journal-article ,
book ,
article-in-book
もしくは
tech-report
のシンボル名です。
bibliography
コマンドによって累積もしくは生成される参考文献のグループは
]<
マクロの呼び出しに先行し、
]>
マクロの呼び出しが続きます。
/usr/share/dict/papers/Indfile .i