Last modified: 2000年10月25日

LaTeX文書中にRCSのキーワードを入れる

RCSのキーワードTeX

ご存知の通り、RCSではリビジョン番号等を作業ファイルにキーワード展開する事ができる。例えば、

$Revision$

という文字列があると、作業ファイルをチェックアウトした時に、そのリビジョン番号に展開される。

しかし、このキーワードは$記号で囲まれている。そのままTeXの文章中に現れると$が特殊な文字として認識されてしまい都合が悪い。 また例えば上記 $Revision$ は展開すると $Revision:...$ という形になるが、実際にはリビジョン番号だけを取り出して文書に含めたい事もあるだろう。 いや、むしろその方が多いともいえる。

以上な要求を処理するには、TeX(LaTeX)でなんらかしらのマクロを組めばよい。しかし、ありがたい事にそのようなマクロを収めた rcs パッケージが Joachim Schrod 氏により作成され GPL2 のもとで公開されている。

rcs パッケージ

rcsパッケージは Joachim Schirod 氏により作成され GPL2のもとで公開されているものである。パッケージに含まれるスタイルファイル rcs.sty によりキーワードの処理がなされる。

rcs パッケージを使う

まずプリアンブルで rcs.sty を読み込む。

\usepackage{rcs}

そして、文章中で含めたいキーワード $Keyword$ に対して

\RCS $Keyword$

という記述を書く。これは \RCSKeyword というマクロを生成するもので、キーワードが直接その場所に文書中にあらわれるわけではない。 文書中でも問題ないが、プリアンブルにかいておけば良いだろう。

そして実際に文書中で \RCSKeyword と記述する事でそのキーワード$Keyword:...$ の ... の部分)が展開される。 Keywordは実際には RCS のキーワードで以下のものが指定できる。

キーワード 定義用マクロ 展開に使用するマクロ
Author\RCS $Author$\RCSAuthor
Date\RCS $Date$\RCSDate
\RCSTime
\RCSRawDate
Header\RCS $Header$\RCSHeader
Id\RCS $Id$\RCSId
Locker\RCS $Locker$\RCSLocker
RCSfile\RCS $RCSfile$\RCSfile
Revision\RCS $Revision$\RCSRevision
Source\RCS $Source$\RCSSource
State\RCS $State$\RCSState

\RCS $Keyword$ のかわりに \RCSdef $Keyword$ とすると TeX 処理時に端末とログにも、キーワードと値が出力される。

\RCS $Date$ のかわりに \RCSdate $Date$ を使うと \date が設定され \maketitle 等で checkin の日付が使われるようになる。

また \RCSID $Keyword$ と記述するとフッタにキーワードと値がボックスで囲まれて出力される。

なお $Log$ を扱うにはカスタマイズされた rcs が必要である。詳しくは rcs パッケージをマニュアルを参照していただきたい。

リソース

ftpサイト ftp://ftp.th-darmstadt.de/pub/tex/latex/ から入手できる。 Debian GNU/Linux では rcs-latex という名前でパッケージ化されている。