導入

導入 – Structures_BibTex について

概要

このパッケージは、BibTex ファイルに保存された情報にアクセスするための メソッドを提供します。パース時に、データの検証を行うこともできます。 さらに、BibTex 文字列を作成したり RTF 文字列を作成したりすることもサポートしています。

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 
'<pre>';
print_r($bibtex->data);
echo 
'</pre>';
?>

オプション

オプションは、コンストラクタで設定するか、あるいは setOption() メソッドで設定します。 コンストラクタで設定する場合は、連想配列形式で指定します。 以下のようなオプションがあります。

  • stripDelimiter (デフォルト: true) エントリの前後の区切り文字を取り除きます。

  • validate (デフォルト: true) パース時に内容を検証します。

  • unwrap (デフォルト: false) パース時に、ワードラップを解除します。

  • wordWrapWidth (デフォルト: false) 1 より大きい数値を指定すると、その文字数でエントリをワードラップします。

  • wordWrapBreak (デフォルト: \n) 改行に使用する (行に追加される) 文字。

  • wordWrapCut (デフォルト: 0) 0 を指定すると、条件を満たすように空白の位置で改行されます。 1 を指定すると、指定した文字数ちょうどの位置で改行されます。

  • removeCurlyBraces (デフォルト: false) true を指定すると、波括弧が削除されます。

コンストラクタでオプションを設定する例です。

コンストラクタでのオプションの設定

<?php
$bibtex 
= new Structures_BibTex(array('validate'=>false'unwrap'=>true));
?>

setOption() メソッドでオプションを設定する例です。

setOption を使用したオプションの設定

<?php
$bibtex 
= new Structures_BibTex();
                
$bibtex->setOption('validate'false);
                
$bibtex->setOption('unwrap'true);
?>

保存されたデータ

データは、クラス変数 data に保存されます。 この変数はリストになっており、各エントリが、ひとつの bibtex エントリを表すハッシュテーブルとなっています。 ハッシュテーブルのキーが bibtex のキーを表し、 それに対応する値がハッシュテーブルの値となります。 次のようなキーがあります。

  • cite - LaTeX のソースで引用する際に使用されるキー。

  • entryType - エントリの種類。例えば techreport、book など。

  • author - 著者。 このエントリの値自体がハッシュテーブルのリストとなり、 各ハッシュテーブルが著者を表します。ハッシュテーブルの内容については後で説明します。

  • title - エントリのタイトル。

著者

先ほど説明したように、著者の情報はリストに保存されます。 各エントリがそれぞれひとりの著者を表し、それぞれがハッシュテーブルを持っています。 ハッシュテーブルは first、von、last そして jr の 4 つのキーで構成されます。 それぞれのキーについて説明します。

  • first - 著者のファーストネーム。

  • von - 中には、名前に 'von' のような部分が含まれる人もいます。これは、通常は貴族の印です。

  • last - 著者の姓。

  • jr - 中には、父と同じ名前の著者もいます。 その場合、この値が jr となります。逆に、 息子と同じ名前の著者の場合は、この値が sen となります。

エントリの追加

エントリを追加するには、必要なキーおよび値を指定したハッシュテーブルを作成して addEntry() メソッドをコールします。

エントリの追加

<?php
$bibtex                         
= new Structures_BibTex();
$addarray                       = array();
$addarray['entryType']          = 'Article';
$addarray['cite']               = 'art2';
$addarray['title']              = 'Titel of the Article';
$addarray['author'][0]['first'] = 'John';
$addarray['author'][0]['last']  = 'Doe';
$addarray['author'][1]['first'] = 'Jane';
$addarray['author'][1]['last']  = 'Doe';
$bibtex->addEntry($addarray);
?>
Structures_BibTex (Previous) Structures_BibTex での警告の使用法 (Next)
Last updated: Wed, 16 Apr 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.