next up previous
Next: 9 Hack Up: 講演論文集の作り方 Previous: 7 オプション:各種データ表

Subsections

8 プログラム集(内容無保障)

著者としてはむしろ 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";
}

8.1 変数定義

variables.php

ちょっと中途半端な変数定義…

8.2 論文ファイルの実体化

ExtractPDF.php

PDFlib 使用. データベース(BLOB)からPDFの実体を InputFilesディレクトリに格 納する.PDFは論文番号3桁で格納. このあと,Technical program chair の人に,program.in という名前でファイルを貰うといいだろう.

% php ExtractPDF.php

program.in (サンプル)

8.3 ロゴ入れ,ページ番号振り

printpagenumber.pl

Perl の実装. 辻繁樹 さんのコードに手を加えている. 内部では PDFlib を用いている.

% ./print_page_number.pl

とやると,InputFiles内のPDFにハンコを押し,OutputFiles に格納, 同時に program.txt を生成する.program.txt にはページ番号情報が入る. OutputFiles ディレクトリが無いなら自分で掘らないといけないかも.

8.4 目次作り

mktoc.php

セッション名とタイトルの一覧から各論文にアクセスできるようにする 設計が使いやすいだろう.mktop.php は toc.tex を吐き出すので,それを pLATEXでコンパイルする.あとは dviware をもちいて PDFまで変換すればよい.

% php mktoc.php
% platex toc
% makeindex toc
% platex toc

8.5 アブストラクト集作り

mkabst.php

2段組みでアブストラクト集を作る.CCMから著者情報, アブストラクトを直接読み出す.大半は前出の mktoc.php のコードが使い回されている.

% php mkabst.php
% platex abstcoll
% makeindex abstcoll
% platex abstcoll



Tetsushi "Wahaha" Ueta 2008-08-16