Structures_BibTex クラスが提供するメソッドを使用すると、 クラスに保存されたデータをエクスポートすることができます。 現在は、次のフォーマットに対応しています。
BibTeX
- 全データを BibTeX でエクスポートします
RTF
-
条件にマッチするデータを RTF フォーマットのリストでエクスポートします
HTML
-
条件にマッチするデータを HTML のリストでエクスポートします
デフォルトでは、著者の名前を "VON LAST, JR, FIRST" 形式でエクスポートします。それぞれ対応するプレースホルダが置換されます。 プレースホルダは大文字でなければなりません。 フォーマット文字列は、クラス変数 authorstring で定義されています。 たとえば、著者名の出力形式を "FIRST LAST" に変更するには、次のようにします。
著者名の書式の変更
<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$bibtex->authorstring = 'FIRST LAST';
?>
基本的な機能として、当然 BibTeX フォーマットでのエクスポートが可能です。 これは、単に bibTex() メソッドを起動するだけです。
BibTeX フォーマットでのエクスポート
<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret = $bibtex->loadFile('foo.bib');
if (PEAR::isError($ret)) {
die($ret->getMessage());
}
$bibtex->parse();
echo 'BibTeX フォーマットにしたデータ:<br />';
echo $bibtex->bibTex();
?>
この機能は、データを Word にインポートするために作成されました。 Word は (もちろん Open Office や kword も)、 RTF フォーマットを読み込むことができます。 そのためには、出力データを 'somefile.rtf' という名前で保存して それを Word で開くだけです。Windows ユーザもこれで満足でしょう。 この機能を使用するには、rtf() メソッドをコールします。
RTF フォーマットでのエクスポート
<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret = $bibtex->loadFile('foo.bib');
if (PEAR::isError($ret)) {
die($ret->getMessage());
}
$bibtex->parse();
echo 'RTF フォーマットにしたデータ:<br />';
echo $bibtex->rtf();
?>
各エントリのデフォルトの書式は、まず最初に著者名がきて、 次に (ダブルクォートで囲まれた太字の) タイトル、 それから (斜体の) 学会誌名、そして最後に年となります。 デフォルトの書式を変更するには、クラス変数 rtfstring をオーバーライドします。デフォルトの rtfstring は 'AUTHORS, "{\b TITLE}", {\i JOURNAL}, YEAR' となっています。文字列 AUTHORS、TITLE、JOURNAL および YEAR は、対応する値に置き換えられます。
異なる RTF 文字列による RTF フォーマットでのエクスポート
<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret = $bibtex->loadFile('foo.bib');
if (PEAR::isError($ret)) {
die($ret->getMessage());
}
$bibtex->parse();
$bibtex->rtfstring = 'AUTHORS, "TITLE", JOURNAL, YEAR';
echo 'RTF フォーマットにしたデータ (しかし今回は文字装飾はしない):<br />';
echo $bibtex->rtf();
?>
この機能は、単にシンプルな HTML を作成します。 デフォルトの書式は rtf の場合と同じです。これを使用するには html() メソッドをコールします。
HTML フォーマットでのエクスポート
<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret = $bibtex->loadFile('foo.bib');
if (PEAR::isError($ret)) {
die($ret->getMessage());
}
$bibtex->parse();
echo 'HTML フォーマットにしたデータ:<br />';
echo $bibtex->html();
?>
RTF エクスポートの場合と同様、デフォルトの HTML 文字列は オーバーライドすることが可能です。デフォルトの文字列はクラス変数 htmlstring に保存されており、 AUTHORS, "<strong>TITLE</strong>", <em>JOURNAL</em>, YEAR<br /> のようになっています。
異なる HTML 文字列による HTML フォーマットでのエクスポート
<?php
require_once 'Structures/BibTex.php';
$bibtex = new Structures_BibTex();
$ret = $bibtex->loadFile('foo.bib');
if (PEAR::isError($ret)) {
die($ret->getMessage());
}
$bibtex->parse();
$bibtex->htmlstring = 'AUTHORS, "TITLE", JOURNAL, YEAR';
echo 'HTML フォーマットにしたデータ (しかし今回は文字装飾はしない):<br />';
echo $bibtex->html();
?>