<return>
$Args{contents}
</return>

## はじめに

XPDFJは、PDFを生成するPerlモジュールPDFJの、XMLフロントエンドです。XML形式で書いた原稿からPDFを生成することができます。 　XPDFJの基本機能は、PDFJの各種の命令をXML形式で書けるようにすることですが、それだけであればPDFJを直接使ったPerlスクリプトを書くのをより面倒にしただけです。XPDFJには一連の命令をまとめて新たな命令を定義できるマクロ機能が用意されており、これによってより簡潔な原稿からPDFを生成することができるようになります。 　この文書は、XPDFJの標準マクロであるstddefs.inc、toc.inc、index.incの三つのマクロファイルを使った文書作成の基本を、デモを兼ねて説明するものです。この文書自体がこれらの標準マクロを使って作成されていますので、原稿テキストであるstdmacro.xpを実例としてご覧いただくと理解が深まるかと思います。

<NOTE> XPDFJの標準マクロはHTMLに慣れた方が使いやすいようにHTMLライクに作られていますが、HTMLのタグ名と同じ名前のマクロでも属性に違いがある場合がほとんどで、互換性はありません。XPDFJの標準マクロの属性は、PDFJの機能に由来しているものが多くあります。標準マクロを十分使いこなすためにはPDFJの機能を理解していただくことが不可欠となりますので、PDFJの説明書を併せてご覧いただくようお願いします。 </NOTE>

## 原稿の基本パターン

XPDFJの標準マクロを使った文書原稿の基本パターンは次のようになります。まず目次も索引もない簡単な文書の場合です。フッタにページ番号だけは出すようにしています。 　先頭行のxml宣言で、文字コードを正しく指定する必要があります。WindowsのシフトJISの場合は"x-sjis-cp932"、日本語EUCの場合は"x-euc-jp-jisx0221"を指定します。 　xml宣言の後で、必ず全体をで囲まねばなりません。

``

表紙、目次、本文、索引を持った文書の場合は、次のようになります。表紙と目次は最後に挿入していることに注意してください。本文を作った後でないと目次が作れないからです。

``

### XMLの書き方

XMLの書式の詳しいことはXMLの解説本をご覧いただくとして、ここではとりあえずこれだけ注意すれば書けるというポイントに絞って説明しておきます。

<SUL> <MLI></MLI>
- が開始タグ、が終了タグで、入れ子になっても構いませんが、開始タグと終了タグがきちんと対応するように注意してください。
- 開始タグの中の「名前="値"」あるいは「名前='値'」を属性と言います。
<MLI> ]]> で囲むとそのまま書けます。</MLI>
- まではコメントになります。コメント中には -- という文字列は入れらないので、コメントは入れ子にはできません。
</SUL>

## 原稿の書き方

### stddefs.incの読み込み

で、標準マクロファイルstddefs.incを読み込むと、それ以降でこのマクロファイルで定義された各種のマクロが使えるようになります。このとき、文書の各種のパラメータが次のように設定されます。単位はポイント（1ポイント＝1/72インチ）、パーセントはフォントサイズに対する比率です。つまりこれはA4用紙に周囲の余白を1インチ取り、本文フォント10ポイントで行送り15ポイントということになります。 　linefeedは行送りであって行間ではないことに注意してください。linefeedが150%なら行間は50%ということになります。

【表：stddefs.incの属性と省略時設定】

属性名 | 省略時値 | 意味
--- | --- | ---
pagewidth | 595 | ページ幅
pageheight | 842 | ページ高さ
leftmargin | 72 | 左余白
rightmargin | 72 | 右余白
topmargin | 72 | 上余白
bottommargin | 72 | 下余白
fontsize | 10 | 本文フォントサイズ
linefeed | 150% | 本文行送り

これを例えば、B5の用紙で余白1.5cm、フォントは9ポイントとしたければ、

``

とすれば良いわけです。margin属性を指定すると、上下左右の余白がすべてその値に設定されます。もちろん各margin属性で個別に指定することもできます。なお、通常は横書き用のフォントのみが設定されます。縦書き用のフォントを設定する方法も用意されていますが、ここでは扱いません。

### 本文

#### 本文を囲む

前述の基本パターンのように、本文全体はで囲みます。HTMLと違い、の中に直接文字を書くことはできず、後述するなどがの内容になることに注意してください。は何度書いても構いませんが、各は新しいページから始まることに注意してください。のようにcols属性を指定すると２段組や３段組にすることもできます。段間（段と段の間隔）はデフォルトでは20ポイントですが、のようにcolskip属性で変更できます。 　通常はによる新しいページは末尾に追加されていきますが、のようにすると指定のページ番号の位置へ挿入できます。ただしページの挿入をおこなうとそれ以降のページ番号がずれることに注意してください。この機能は後述する表紙や目次で使います。 　次にの属性をあげておきます。

<FIG>
【表：の属性】

属性名 | 値と機能
--- | ---
page | 開始ページ番号（この位置にページを挿入。省略すると末尾に追加）
hfpage | ヘッダやフッタに表示するページ番号の開始値（省略するとpageと同じ）
cols | 段数（省略時値1）
colskip | 段間（省略時値20）
evenpages | 真ならページ数が偶数になるように空ページが付加される

<NOTE> 表に「真なら」とありますが、0と空文字列以外は真と判断されます。普通は1を指定します。以下でも同様です。 </NOTE>

#### 見出し

見出しは、 のように<H1><H2><H3><H4>の４種類のタグで囲んで書きます。（以下の説明でH1〜H4を総称してH*と書くことにします。）は文書の表題用で、大きなフォントで中央寄せされます。はそれぞれ、大見出し、中見出し、小見出しです。 　見出しに「1.大見出し」「1.1 中見出し」「1.1.1 小見出し」のように自動番号付けをしたい場合は、を使っての前に次のように書きます。

``

number属性で指定した文字列中の{H*}が対応するH*が何番目かという番号に置き換えられて、見出しの前に付加されます。の属性でnonumber="1"と指定するとその見出しには自動番号付けはされず、カウントもされません。 　見出しをアウトライン（しおり）にしたい場合は、をの前に書きます。デフォルトではがアウトライン化されます。もしたければ、と指定します。 　つぎにの属性をあげておきます。

<FIG>
【表：の属性】

属性名 | 値と機能
--- | ---
nooutline | 真ならアウトラインにしない
nonumber | 真なら自動番号付しない（カウントもしない）
pstyle | 追加の段落スタイル（標準設定を元に一時変更）
tstyle | 追加のテキストスタイル（標準設定を元に一時変更）
alt | マクロ名（このマクロを呼び出した結果を見出しとする）
header | ヘッダ文字列（一時変更）
headerall | ヘッダ文字列（以降の全ページ）
headereven | ヘッダ文字列（以降の偶数ページ）
headerodd | ヘッダ文字列（以降の奇数ページ）
footer | フッタ文字列（一時変更）
footerall | フッタ文字列（以降の全ページ）
footereven | フッタ文字列（以降の偶数ページ）
footerodd | フッタ文字列（以降の奇数ページ）
level | 対象のH*の番号
number | 番号文字列（{H*}が何番目のH*かを表す）
level | アウトラインにする番号をカンマ区切りで（省略すると2,3）

<FIGNOTE>altを指定するとそのマクロには見出しテキストオブジェクト（アウトラインや番号付けの処理がされた）がtext属性を通じて渡される</FIGNOTE> <FIGNOTE>H*のheader*やfooter*に'*'を指定すると内容のテキストと同じ</FIGNOTE>

pstyle属性、tstyle属性を指定することで、stddefs.incでの標準設定を変更できます。例えば、<H3 tstyle="withline:1">なんたら</H3> とすれば「なんたら」という中見出しに下線を付けることができます。この一回だけでなく、以後の<H3>にすべて下線を付けたい場合は、<H3 tstyle="withline:1"/>とします。このように内容のない<H*>は、それ自体は見出しを作らず、pstyle、tstyle、font、altの設定を保存しておいて以後その設定を使うように指示する働きをします。

<NOTE> alt属性を使うと、ユーザーが定義した独自マクロによってより凝ったレイアウトの見出しが実現できますが、ここでは省略します。 </NOTE>

#### 通常の段落

通常の段落はで囲みます。の内容のテキストではHTMLと違って、改行が改行として生きます。ただし、タグの前後の改行は無視されます。これはに限らず多くのタグに共通するXPDFJの特徴です。また、で改行を入れることもできます。次の三つの例はすべて同じ結果になります。

`` `` ``

また、などの内容のテキストでは行頭の半角スペースは無視されます。これによって、次のように書いてタグの入れ子関係をわかりやすくすることができます。その代わり、半角スペースで行を字下げすることはできません。簡易的に字下げしたい場合は全角スペースを使ってください。長い行を折り返しても行頭が揃うように字下げしたい場合は、段落スタイルbeginindentを使います。

``

#### 文字の修飾

文字の修飾のうち、太字、斜体、下線、上付き、下付き、についてはそれぞれ<B><I><U><SUP><SUB>でできますが、PDFJには他にもいくつかの文字修飾の方法が用意されており、それはの属性によってテキストスタイルを指定することでおこないます（はHTMLでは取消線ですがXPDFJではテキストスタイルを与えるのに使います）。属性は複数指定することができます。主なテキストスタイルとそこで使われる図形スタイルは次のようになります。

<FIG>
【表：テキストスタイルの主なもの】

スタイル名 | 値と機能
--- | ---
fontsize | フォントサイズ
italic | 真なら斜体
bold | 真なら太字
ruby | ルビ文字列
shapestyle | 文字描画の図形スタイル
withline | 真なら下線あり
withlinestyle | 下線の図形スタイル
withbox | 囲み枠。s:枠線、f:塗りつぶし、sf:枠線＋塗りつぶし sの代わりに l:左辺、r:右辺、t:上辺、b:下辺 の組み合わせも可 rX:（Xは数値）角を半径Xで丸くする
withboxstyle | 囲み枠の図形スタイル
withdot | 真なら圏点あり（圏点とは文字の上に点を付けて強調するもの）

<FIGNOTE>図形スタイルを省略すると枠線色塗りつぶし色とも黒、線幅1、実線</FIGNOTE> <FIG>
【表：図形スタイル】

スタイル名 | 値と機能
--- | ---
fillcolor | 塗りつぶし色
strokecolor | 線色
linewidth | 線幅
linedash | 破線パターン「オン幅,オフ幅,開始オフセット」

<FIGNOTE>色は「#RRGGBB」（16進）または0（黒）から1（白）の間の数値</FIGNOTE> <FIGNOTE>破線パターンを指定しなければ実線</FIGNOTE> <FIGNOTE>破線パターンの開始オフセットは省略可</FIGNOTE>

表だけではわかりにくいものもありますので、実例をいくつか挙げておきましょう。属性の値でスタイルを指定するときは、「スタイル名:値」を「;」区切りで並べます。なお、フォントを切り替える方法は後述します。

<SUL><MLI> 文字を赤くする
灰色で網掛けして白文字に
点線の下線
ルビ
</MLI></SUL>

#### 段落の体裁

の属性によって段落の体裁を指定できます。次の表に属性を示します。いくつか具体例を挙げておきます。

<FIG>
【表：の属性】

属性名 | 値と機能
--- | ---
pstyle | 追加の段落スタイル（文書の本文設定を元に一時的に変更）
tstyle | 追加のテキストスタイル（文書の本文設定を元に一時的に変更）
align | b,left:左寄せ、m,center:中央寄せ、e,right:右寄せ、w:両端寄せ
font | フォントの一時変更
foreachline | 真なら内容の各行をそれぞれ段落とする

<FIGNOTE>align属性の指定はpstyle属性でalignスタイルを指定するのと同じ</FIGNOTE> <FIGNOTE>font属性については後述のフォントの項を参照</FIGNOTE> <FIG>
【表：段落スタイルの主なもの】

スタイル名 | 値と機能
--- | ---
size | 段落の行方向のサイズ
align | 揃え（b:行頭揃え m:中央揃え e:行末揃え w:両端揃え W:強制両端揃え）
linefeed | 行送り
preskip | 段落前の間隔
postskip | 段落後の間隔
beginindent | 行頭インデント
endindent | 行末インデント
nobreak | 真なら分割されない
postnobreak | 真ならその後ろで分割されない
typename | タイプ名

<SUL><MLI> 中央寄せ
フォントサイズを8ポイントにして20ポイント下げる
右寄せで行間を詰め、段落前後の間隔を広く
</MLI></SUL>

#### フォント

stddefs.incを読み込むと自動的にstdfontsH.incという横書用フォント定義をしたマクロファイルも読み込まれます。その中では次のようなフォントオブジェクトが変数にセットされていて、の属性で font="$FontH{gothic}" のように指定することができます。

<FIG>
【表：stdfontsH.incのセットするフォント】

変数名 | セットされたフォントオブジェクトの内容
--- | ---
$FontH{<Null/>mincho} | 和文欧文ともRyumin-Light（欧文は半角固定ピッチ） italic指定 → Ryumin-Lightを傾ける bold指定 → GothicBBB-Medium italic＋bold指定 → GothicBBB-Mediumを傾ける
$FontH{<Null/>mincho_times} | 和文Ryumin-Light、欧文Times-Roman italic指定 → 和文はRyumin-Lightを傾ける、欧文Times-Italic bold指定 → 和文GothicBBB-Medium、欧文Times-Bold italic＋bold指定 → 和文はGothicBBB-Mediumを傾ける、欧文Times-BoldItalic
$FontH{<Null/>gothic} | 和文欧文ともGothicBBB-Medium（欧文は半角固定ピッチ） italic指定 → GothicBBB-Mediumを傾ける bold指定 → GothicBBB-Medium italic＋bold指定 → GothicBBB-Mediumを傾ける
$FontH{<Null/>gothic_helvetica} | 和文GothicBBB-Medium、欧文Helvetica italic指定 → 和文はGothicBBB-Mediumを傾ける、欧文Helvetica-Oblique bold指定 → 和文GothicBBB-Medium、欧文Helvetica-Bold italic＋bold指定 → 和文はGothicBBB-Mediumを傾ける、欧文Helvetica-BoldOblique

<NOTE> 表からわかるように、$FontH{gothic}に対してbold指定しても効果がありません。PDFJには任意のTrueTypeフォントを使用する機能があり、これを使えばより太いゴシックにするようなことも可能ですが、ここでは省略します。 </NOTE>

#### 箇条書き

HTMLと同様、<UL><LI>で記号付き箇条書きが、<OL><LI>で番号付き箇条書きが、<DL><DT><DD>で語句説明箇条書きができます。ただし、属性の指定がかなり違います。次に属性の一覧を示します。なお、入れ子にしてもレベルによってULのラベルの記号が自動的に変わるような機能はなく、label属性で自分でラベルを指定する必要があります。

<FIG>
【表：箇条書きの属性】

属性名 | 値と機能
--- | ---
label | ラベル文字列（省略すると「・」）
labelsize | 二行目以降の字下げ（省略すると本文フォントサイズに同じ）
pstyle | 追加の段落スタイル（文書の本文設定を元に一時的に変更）
indent | 全体の字下げ
label | ラベル初期値（半角英数字、省略すると「1」） 「-」を指定すると前回のから引き継ぐ
prelabel | ラベルの前置文字列
postlabel | ラベルの後置文字列（省略すると「.」）
labelsize | 二行目以降の字下げ（省略すると本文フォントサイズに同じ）
indent | 全体の字下げ
pstyle | 追加の段落スタイル（文書の本文設定を元に一時的に変更）
labelsize | 二行目以降の字下げ（省略すると本文フォントサイズの倍）
labelskip | 語句と本体の間隔（省略すると本文フォントサイズに同じ）
indent | 全体の字下げ
pstyle | 追加の段落スタイル（文書の本文設定を元に一時的に変更）
tstyle | 追加のテキストスタイル（文書の本文設定を元に一時的に変更）
font | フォントの一時変更
foreachline | 真なら内容の各行をそれぞれ段落とする
tstyle | 追加のテキストスタイル（文書の本文設定を元に一時的に変更）
font | フォントの一時変更

``

これを処理すると、次のようになります。今のところ、HTMLとは違って箇条書きを入れ子にしてもその深さに応じて自動的にラベルの記号や番号が変化したりはしません。label属性で一々指定してやる必要があります。

1. 外側の箇条書き１

外側の箇条書き１の続き

1. 内側の箇条書き１
2. 内側の箇条書き２

2. 外側の箇条書き２

箇条書きの時に一行ずつにを書くのは面倒です。とすると、その内容は一行ずつがで囲まれているものと見なされます。これは便利なので、代わりにと書けるようになっています。例えば次のように書くと「なんたら」「かんたら」がそれぞれ箇条書きになります。

``

#### 表

表の作成もHTMLと同様に<TABLE><TR><TH><TD>でできますが、これも属性はかなり違います。次に属性を示します。

<FIG>
【表：表の属性】

属性名 | 値と機能
--- | ---
cellwidth | セル幅（カンマ区切りで列毎に指定、省略すると200）
cellpadding | セル内余白
cellbox | セル枠線。s:枠線、f:塗りつぶし、sf:枠線＋塗りつぶし sの代わりに l:左辺、r:右辺、t:上辺、b:下辺 の組み合わせも可 rX:（Xは数値）角を半径Xで丸くする （カンマ区切りで列毎に指定）
cellboxstyle | セル枠線の図形スタイル（省略すると「linewidth:0.25」）
align | セル内配置。left,center,right （カンマ区切りで列毎に指定）
valign | セル内縦配置。top,middle,bottom （カンマ区切りで列毎に指定）
tablebox | 表枠線。指定方法はcellboxと同じ
tableboxstyle | 表枠線の図形スタイル（省略すると「linewidth:0.25」）
pstyle | 追加の段落スタイル（THやTDに渡される）
tstyle | 追加のテキストスタイル（THやTDに渡される）
font | フォントの一時変更（THやTDに渡される）
preskip | 表の前間隔
postskip | 表の後間隔
indent | 表の行頭側のインデント
postnobreak | 真なら表の後でページ分割しない
nobreak | 真ならページ分割しない
cellpadding | （値と機能はTABLEと同じ）
cellbox | 〃
cellboxstyle | 〃
pstyle | 〃
tstyle | 〃
font | 〃
postnobreak | 真ならこの行の後でページ分割しない
align | セル内配置。left,center,right。（THでは自動的にcenter）
valign | セル内縦配置。top,middle,bottom
cellpadding | （値と機能はTABLEと同じ）
cellbox | 〃
cellboxstyle | 〃
pstyle | 追加の段落スタイル（文書の本文設定を元に一時的に変更）
tstyle | 追加のテキストスタイル（文書の本文設定を元に一時的に変更）
font | フォントの一時変更
colspan | セルがまたがる列数
rowspan | セルがまたがる行数

<FIGNOTE>カンマ区切りで列毎に指定するものが列数より少なければ最後の要素を繰り返し使う</FIGNOTE>

HTMLともっとも異なる点は、内容に応じてセル幅を自動調節する機能はなく、cellwidth属性ですべてのセル幅（列幅）を指定する必要があることです。（ポイントでの指定の他、現在の行長に対する%での指定も可能です。）指定した個数以上の列がある場合は、指定した最後の値が繰り返し使われます。具体例を一つ示します。

``

これを処理すると次のようになります。

年月 | A | B
--- | --- | ---
2004年1月 | 15,000 | 25,000
2004年2月 | 12,000 | 21,000
2004年3月 | 18,000 | 31,000

#### その他の本文用マクロ

stddefs.incのその他のマクロとしては、横罫線を引く<HR>、画像を挿入する<IMG>、ブロックを作って囲み枠を付けたり配置を調整したりする<DIV>、間隔を調整する<SKIP>、改ページする<NEWPAGE>といったものがあります。これらの属性を次に示しておきます。

<FIG>
【表：その他のマクロの属性】

属性名 | 値と機能
--- | ---
width | 横幅（省略すると「100%」） （%指定すると現在の行長に対する割合）
size | 線幅（省略すると0.25）
color | 色（省略すると黒）
align | left,center,rightのいずれか（省略するとcenter）
preskip | 前間隔
postskip | 後間隔
src | JPEGファイル名またはURL
pxwidth | 横ピクセルサイズ
pxheight | 縦ピクセルサイズ
width | 表示横サイズ
height | 表示縦サイズ
padding | 周囲余白
colorspace | rgb,cmyk,grayのいずれか（省略するとrgb）
width | 幅（省略すると現在の行長）
align | left,center,rightのいずれか
padding | 周囲余白（内容と囲み枠の間の余白）
withbox | 囲み枠。s:枠線、f:塗りつぶし、sf:枠線＋塗りつぶし sの代わりに l:左辺、r:右辺、t:上辺、b:下辺 の組み合わせも可 rX:（Xは数値）角を半径Xで丸くする
withboxstyle | 囲み枠の図形スタイル
preskip | 前間隔（省略すると先頭要素の前間隔）
postskip | 後間隔（省略すると末尾要素の後間隔）
skip | 間隔

### ヘッダとフッタ

ページのヘッダとフッタは、<HEADER><FOOTER>で指定します。そのページのみ、以後の全ページ、以後の奇数ページ、以後の偶数ページ、という指定方法が用意されています。の属性は次の通りです。page="this"を指定したときは内に置かないと効果がありません。それ以外の場合はの外に置いても構いません。

<FIG>
【表：の属性】

属性名 | 値と機能
--- | ---
page | 対象ページ this:そのページのみ、all:すべて、even:偶数ページ、odd:奇数ページ（省略するとall）
hr | 横罫線の指定。位置（t:上、b:下）、文字との間隔（省略すると3）、線幅（省略すると0.25）をカンマ区切りで
pstyle | 追加の段落スタイル（文書の本文設定を元に一時的に変更）
tstyle | 追加のテキストスタイル（文書の本文設定を元に一時的に変更）
font | フォントの一時変更
clear | 真を指定すると対象ページの指定をクリア

<FIGNOTE>clearはpageがthisの時は無意味</FIGNOTE>

また、のheader*やfooter*属性でも指定できます。ただしこの場合はヘッダやフッタの文字列が指定できるだけで、段落スタイルやテキストスタイルは指定できません。 　例えば、フッタには中央寄せでページ番号を表示し、偶数ページヘッダにはの内容を左寄せ、奇数ページヘッダにはの内容を右寄せで表示したいとすると、次のようにします。

``

ヘッダやフッタで{page}を使ったとき表示されるページ番号は、そのがページに配置される時点でのページ番号になります。その後でそのページより前にページが挿入されても、ヘッダやフッタで表示したページ番号は変わりませんので注意してください。

### 索引

索引を作りたい場合は、で索引用マクロを読み込み、本文中の各索引語のところにと書いておいて、本文の後でと書きます。読みには半角英数記号とひらがなカタカナが使えます。読みが検索語と同じ場合はreadingは省略できます。の属性は次の通り。

<FIG>
【表：の属性】

属性名 | 値と機能
--- | ---
beginindent | ページ番号群の行頭インデント（省略時値50）
endindent | 索引語の行末インデント（省略時値50）
space | 索引語とページ番号群の間の最小空白サイズ（省略時値20）
dot | 索引語とページ番号群の間を埋める文字列（省略時値"‥"）
title | 索引語頭文字を表示する文字列（{title}は頭文字に置換）（省略時値"−{title}−"）
defaulttitle | 英字仮名以外に対する索引語頭文字名（省略時値"記号・数字"）

索引は用紙がA4なら３段組、B5なら２段組にするのが適当でしょう。そのためには、などとしたで囲みます。その場合、索引用のヘッダやフッタの指定はの前で指定しておかないと中央寄せなどの行配置がうまくいかないので注意してください。例えば次のようになります。

``

### 目次

目次を作りたい場合は、で目次用マクロを読み込み、本文の後でと書いて1ページから挿入します。目次の前後には文書全体の表題など必要なものを入れます。の属性は次の通りです。

<FIG>
【表：の属性】

属性名 | 値と機能
--- | ---
levelindent | レベル毎のインデント量（省略時値10）
endindent | 表題の行末インデント（省略時値60）
space | 表題とページ番号の間の最小空白サイズ（省略時値30）
dot | 表題とページ番号の間を埋める文字列（省略時値"‥"）

## 簡単なマクロ定義

あらかじめ用意されたマクロを使うだけでなく、自分でマクロを定義することもできます。ここでは簡単なマクロ定義の方法を二つ紹介します。もっと複雑なことをやりたい場合はXPDFJの説明書をご覧ください。 　まず、ある命令の特定の属性を頻繁に使う場合、それをマクロ化する方法です。を使います。例えば文字を赤くする

``

を文書の中で何度も使うようなら、

``

と書いてマクロREDを定義しておけば、それ以降はと書くことができます。マクロの名前は、英字かアンダースコアで始め、英字、アンダースコア、ピリオド、ハイフンが使えます。何文字でも構いません。PDFJのサブルーチンやメソッドの名前とぶつかるのを防ぐために、英小文字は使わないようにしてください。 　次の方法は、命令の固まりをまとめてマクロ化するものです。を使います。例えば、自分の所属と名前を右寄せで書く、

``

という段落をどの文書でも使うのであれば、次のような内容の mymacro.inc ファイルを作っておきます。

``

原稿と同様、XML文書なので先頭のは必須です。全体をで囲んでいるのはマクロファイルには必要なおまじないだと思ってください。 これで、と書くことで所属と名前を入れられるわけです。

## 索引

<MAKEINDEX/>

# XPDFJ標準マクロ概説

2005年2月19日 （株）ネットストック 中島 靖 <nakajima@netstock.co.jp>

<TOC/>