著者としてはむしろ Perl で書いた方が楽なのであるが,以下の多くは PHP で記述している.これは MySQL へのインタフェースが PHP の方が簡単であるから.(っというか,Perl から MySQLへどうアクセスしたらいいのか,知らないだけ)
Perl, PHP を使うメリットは勿論文字列の取り扱いがカンタンだからである.
上記のようにハッシュを使うと索引がめちゃめちゃカンタンに作成できる.
\href
や\pageref
など,個人と論文やページ数に結びつける
エントリを作っておき,個人名を $name
をキーにして,
$nlist{$name} = $entry;
のように次々ハッシュに突っ込んでおけば,
あとはそれを並べ替えるのは,基本的に一行ですむ:
foreach $key (sort keys %nlist){ print TOC "\\item [$key:] $nlist{$key}\n"; }
ちょっと中途半端な変数定義…
PDFlib 使用. データベース(BLOB)からPDFの実体を InputFilesディレクトリに格 納する.PDFは論文番号3桁で格納. このあと,Technical program chair の人に,program.in という名前でファイルを貰うといいだろう.
% php ExtractPDF.php
---
としている.
Perl の実装. 辻繁樹 さんのコードに手を加えている. 内部では PDFlib を用いている.
% ./print_page_number.pl
とやると,InputFiles内のPDFにハンコを押し,OutputFiles に格納, 同時に program.txt を生成する.program.txt にはページ番号情報が入る. OutputFiles ディレクトリが無いなら自分で掘らないといけないかも.
セッション名とタイトルの一覧から各論文にアクセスできるようにする 設計が使いやすいだろう.mktop.php は toc.tex を吐き出すので,それを pLATEXでコンパイルする.あとは dviware をもちいて PDFまで変換すればよい.
% php mktoc.php % platex toc % makeindex toc % platex toc
2段組みでアブストラクト集を作る.CCMから著者情報, アブストラクトを直接読み出す.大半は前出の mktoc.php のコードが使い回されている.
% php mkabst.php % platex abstcoll % makeindex abstcoll % platex abstcoll