DtoTex [ -b field-list ] [ -n field-list ] [ -r macro-name ] [ input-file.. ]
DtoTex は input-files 中のD-レコードをTeXのソースファイルに変換する。 各フィールドは
\fieldnamevalue
という形式の行として出力される。 当該フィールドが -b field-list, に入っていると,{}で囲まれて:
\fieldname{value}
という行として出力される。
各D-レコードの終りで, DtoTex は空行(長さ0の行)を出力するが, オプション -r macro-name が指定されていると, かわりにそのマクロが1行として出力される。 この場合TeXのマクロ名として有効なものを オプション-rに指定しなければならない。
フィールド値の中にあるTeXの特殊文字は,元の文字の形で印字できる様 変換される。 それらは:
\ | $\backslash$ |
$ | \$ |
& | \& |
# | \# |
^ | \char94 |
~ | \char126 |
% | \% |
< | $<$ |
> | $>$ |
| | $|$ |
{ | $\{$ |
} | $\}$ |
ただし,この変換は当該フィールドが,オプション -n の中にリストされている場合行われない。
DtoTex は,D-ファイルから高品位の印字出力を得るために使用する。 フィールド名がTeXのマクロ名になるため,ユーザはそのマクロを作成して TeXに入力する必要がある。
ファイル "ex1.d" にはフィールド"aa",`bb'および"bb"がこの順に あるとする。 フィールド"aa"および"bb"は,短い文字列値を持ち, フィールド"cc"は長いテキストの文字列値を持つとする。
マクロファイル "ex1.tex" の内容:
\documentstyle{article}
\def\aa#1{#1 &}
\def\bb#1{#1 &}
\def\cc#1{\vtop{\hsize 64pt #1}\\}
\begin{document}
\begin{tabular}{lrl}
\input tmp.tex
\end{tabular}
\end{document}
次のコマンドはテーブル型に整形された出力 (ex1.dviファイル)を行う。
DtoTex -b aa,bb,cc ex1.d > tmp.tex
latex ex1.tex
ファイル "ex2.d" にはフィールド"aa","bb"および"cc" がこの順であり, すべて短い文字列とする。
マクロファイル "ex2.tex" の内容:
\def\aa{}
\def\bb{&}
\def\cc{&}
\def\endofrecord{\cr}
\halign{#\hfil&#\hfil&#\hfil\cr
\input tmp.tex
}
\bye
次のコマンドはテーブル型に整形された出力 (ex2.dviファイル)を行う。
DtoTex -r endofrecord ex2.d > tmp.tex tex ex2.tex
マニュアル D_msg参照。
MIYAZAWA Akira