本文部分のコマンド

@jr,@r: 熟語ルビ
@jr[結|けっ|晶|しょう|石|せき]
@r[結けっ晶しょう石せき]

主に、漢字に読み方を付ける時に使います。
基本的には、複数の漢字で構成される熟語に対して、漢字1文字ごとに、それぞれ対応するルビを付けます。

[] 内で、一つの熟語に関する親文字列とルビ文字列を、交互に複数指定してください。
[] 内では、$cN; で CID 番号の文字を指定することもできます。

※1つの親文字列は一体として扱われ、行末で行の分割はできません。ただし、[] 内で複数の親文字列を記述した場合、それぞれは分割可能です。
(上記の例の場合、「結」「晶」「石」は、それぞれどの位置でも分割可能ですが、@jr[結晶石|けっしょうせき] とした場合は、分割できません)
書き方
@jr の場合は、親文字とルビを、半角の | で区切ります。

@r は、@jr の簡易版です。
親文字が「ひらがな・カタカナ以外」で、ルビ文字が「ひらがな・カタカナのみ」の場合、文字種によって自動で親文字とルビ文字を切り替えます。
漢字の場合はほぼこの形になるので、'|' を記述する手間が省けます。

親文字は基本的に1字で記述しますが、複数文字にすることもできます。
例えば、「漢字」の読みは「かんじ」ですが、ルビを、それぞれの対応する親文字に付けると、「漢(かん)字(じ)」となります。
「漢字」で一つの熟語になるので、熟語単位で @jr,@r を記述し、親文字とそれに対応するルビを、交互に複数記述していきます。

@r[漢かん字じ]@r[検けん定てい]

一つ一つの漢字に対してルビを付けられない場合は、熟語ルビではなく、グループルビを使ってください。

# 肩付きの場合、"五(さみ)月(だれ)雨" となるので、漢字全体に掛からない
@jr[五月雨|さみだれ]

# ルビに字間が空いて、漢字全体に掛かるので、正しい
@gr[五月雨|さみだれ]

ルビのはみ出し
熟語ルビとモノルビでは、ルビ文字列が、対応する親文字列よりも長い場合、ルビが親文字列からはみ出す場合があります。
(処理方法は、肩付きと中付きで異なります)

例えば、ルビのフォントサイズが本文の 0.5 倍の場合、@r[漁りょう師し] であれば、「漁」には「りょ」しか入らないので、「う」を後ろの「師」にはみ出させて、結果的には、「漁(りょ)師(うし)」という形でルビが付きます。
「漁師」全体は「りょうし」と読めるので、対応する1つ1つの漢字に厳密にルビが載っていなくても、全体の意味としては伝わる、ということです。
肩付きと中付き
肩付きは、基本的に、親文字の先頭とルビ文字の先頭を揃えます。
中付きは、基本的に、親文字列に対して、ルビ文字列を中央に揃えます。

デフォルトで肩付きになっていますが、@layout の設定で中付きに変更することもできます。
小説では主に肩付きが使われます。
※横書き時は、常に中付きになります。

中付きは、熟語全体で中央寄せになる場合もありますが、ルビの処理としては、各親文字ごとに、規定のルールを元にルビ位置を調整しているので、全体として中央寄せにならない場合もあります。



@r[漢かん字じ]:@r[教きょう会かい]:@r[芭ば蕉しょう布ふ]
:@r[百ひゃっ花か繚りょう乱らん]
:@r[紫むらさき式しき部ぶ]
@cr,@c: 中付きの熟語ルビ
@cr[漢|かん|字|じ]
@c[漢かん字じ]

肩付きに設定されている状態で、縦書きの熟語ルビを、常に中付きにしたい時に使います。
※横書き時は常に中付きになるので、@jr,@r と同じになります。

@cr は、@jr と同じように、| で区切って、親文字列とルビ文字列を交互に複数指定してください。
@c は、@r と同じで、ひらがな・カタカナがルビ扱いになります。
@mr,@m: モノルビ
@mr[不|ふ|織|しょく|布|ふ]
@m[不ふ織しょく布ふ]



主に、熟語扱いしたくないルビを、複数連続で記述したい時に使います。

@mr は、@jr と同じように、| で区切って、親文字列とルビ文字列を交互に複数指定してください。
@m は、@r と同じで、ひらがな・カタカナがルビ扱いになります。

[] 内のルビを熟語として扱わないこと以外は、熟語ルビとほぼ同じです。
[] 内の他の親文字に、別の親文字のルビがはみ出すことはありません。
@gr: グループルビ(1)
@gr[五月雨|さみだれ]
@gr[歌詞|かし]
@gr[形式|フォーマット]



グループルビは、親文字列に対して別の名称を指定する時や、固有の名前にルビを付けたい時、漢字の一つ一つにルビが付けられない場合などに使います。

| で区切って、親文字列とルビ文字列を交互に複数指定してください。
それぞれは個別のグループルビになるので、[] 内の複数のルビに関連性はありません。

  • @gr の前後にある通常の本文文字にルビがはみ出すことはありません。
  • 親文字列の方が長い場合は、ルビ文字列間に均等に空きを追加します。
    ルビの方が長い場合は、常に親文字列に空きを追加して、ルビの幅に合わせます。
  • 親文字かルビ文字に字間が空く場合、先頭と終端にも空きを追加します。
  • 親文字列とルビ文字列の文字数が同じ場合、親文字の各幅が同じなら、各親文字に対して、各ルビが中央寄せになります。
行をまたぎたい場合
グループルビでは、一つの親文字列は一体として扱われるので、途中で別の行に分割することはできません。
そのため、グループルビが行末に来てはみ出す場合は、まとめて次の行に送られるため、前行の空きが気になる場合があります。

それを避けるために、グループルビの途中で行を分割したい場合は、ちょうどいい区切りになるところで、手動で親文字とルビを分割してください。
その場合、@gr2 を使って、先頭と終端を揃えた方が、見栄えはよくなります。

グループルビの親文字が1文字の場合は、先頭寄せになります。
最初のルビ(行末に来るもの)はそのままで良いですが、最後のルビ(次行の先頭に来るもの)の親文字が1文字の場合は、終端寄せにしたいので、その場合は、親文字に全角または半角の空白を1文字追加すると、ちょうどいい形になります。

@gr2[G|ゴールデン|W|ウィーク]
@gr2[G|ゴールデン| W|ウィーク]

@gr2: グループルビ(2)
@gr2[形式|フォーマット]



@gr のグループルビと同じですが、先頭と終端に空きを追加せず、親文字列とルビ文字列の先頭と終端を揃えます。

親文字が2文字で、ルビが長い場合などに使われます。
@lr: 長いルビ
@lr[Nice to meet you.|はじめまして]



欧文に対する日本語訳など、長い親文字列に対して長いルビを付けたい時に使います。

| で区切って、親文字列とルビ文字列を交互に複数指定してください。

親文字列の方が長い場合、ルビの字間は空けずに、親文字列に対して、そのまま中央寄せします。
ルビの方が長い場合は、@gr2 のグループルビと同じで、親文字列に空きを追加します。

※親文字列は一体として扱い、途中で別の行に分割はできません。
@-: 何もしない
body_@-;align

何もしないコマンドです。
連続する欧文において、行分割可能な位置を指定したい時に使います。

通常、連続する ASCII 文字はすべて一体として扱われるので、途中で行分割はできません。
しかし、長い欧文が行末に来た時に、区切りのいいところで分割したい時があります。

そのような場合は、文中に @-; を記述すると、間にコマンドが挿入されるので、その位置で、連続する ASCII 文字が分断されます。
これによって、それぞれを別の一体文字列として扱うことができるので、行の分割が可能になります。
@ty,@typ: 縦中横
@ty[23]回
あ@typ[!!]



[] 内で、縦中横にしたい文字を並べます。
文字数に制限はありませんが、通常は1〜3文字程度です。

※本文内の連続する半角数字などは自動で縦中横にはならず、90度回転の縦書きになるので、縦中横は手動で指定してください。

縦書きの場合は、[] 内の文字を横書きしたものを、縦書きの1文字として扱います。
横書きの場合は、通常の横書きになります。

@ty文字数が2なら、半角固定幅のグリフを使います。
文字数が3以上なら、全角 1/3 幅のグリフを使います。

※GSUB でグリフが置き換えられなかった場合は、半角固定幅、またはプロポーショナル幅になります。
※1/3 幅のグリフは、主に数字だけです。
※グリフがあるかどうかは、フォントによって異なります。
@typ常にプロポーショナル幅のグリフを使います。
! ? などの感嘆符等を並べる場合は、半角幅よりもプロポーショナル幅の方がバランスがいい場合があります。

「‼」「⁉」「⁈」「⁇」は、Unicode 文字として存在するので、フォントにグリフがあれば、それを使うこともできます。

Adobe-Japan1-4 以降の CID フォントでは、斜めの感嘆符などもあります。
CID+12113 : 斜めの !
CID+12114 : 斜めの !!
CID+12115 : 斜めの !?
@dk: 濁点合成
@dk[あえん]

[] 内の各文字に、濁点を合成します。
通常、濁点が付かないようなひらカナに濁点を付けたい時に使います。

合成する濁点は、[] 内で指定した文字と同じフォントの濁点文字を使います。
指定文字と同じ位置に、同じフォントサイズで濁点文字を重ねることで、合成します。

濁点の文字の形状は、各フォントごとに異なるので、合成時の濁点の位置は、フォントごとに調整できます。
詳しくは、設定の @font を参照してください。
@kt: 圏点
@kenten[k]{ char:﹅; fontsize:0.5x; }
@kenten[b]{ char:・; }

@start-body;
@kt[k]そうだ@kt[]あれは
@kt[b]まるで

本文文字に対して、圏点を付けます。

[] 内に、設定部分の @kenten で設定した定義名を指定してください。

@kt 以降の本文文字で、指定された圏点の文字が付きます。
縦書きなら右方向、横書きなら上方向に、圏点が付きます。

[] 内を空にするか、';' で終了して値を省略すると、圏点が解除されます。
※ ';' で終了すると、直後の改行が無視されるので、注意してください。

@kenten の設定で、圏点文字ごとに、フォントやフォントサイズなどを変更できるので、圏点だけ別のフォントを使うといったこともできます。

※圏点の文字は、常にフォントの GSUB - ruby で、ルビ用のグリフに置き換えます。
@bs: 傍線
@bs[line]ここは傍線
@bs[double]ここは二重線@bs[]解除

本文文字に傍線を付けます。

[] 内で、傍線のタイプを以下の名前で指定してください。
以降の本文文字で傍線が付きます。

line傍線 (一本)
double二重傍線

[] 内を空にするか、';' で終了して値を省略すると、傍線が解除されます。
@cap1,2,3: 見出し行
@cap1;大見出し
@cap2;中見出し
@cap3;小見出し

現在行を、見出しの行として指定します。
コマンドを指定した行全体の本文文字が、見出しのタイトルになります。

@cap1 は大見出し、@cap2 は中見出し、@cap3 は小見出しです。

各見出しの設定は、レイアウト設定の @caption1,2,3 で指定してください。

  • 見出しは、1行のみです。
    折り返して2行以上にすることもできません。
  • コマンドは、必ず行頭 (行内に本文文字がない状態) で指定する必要があります。
  • 同じ行で見出しコマンドが複数指定された場合は、一番最後のコマンドが有効になります。
@d: 定義文
@def[test]{テスト}
@def[n]{@np;}

@start-body;
@d[test]だよ
# この場合、@d[n] の後に @np; が挿入される形になる
@d[n]

@def で設定した定義文を、本文に挿入します。

[] 内で、@def の定義名を指定してください。
行末時の注意点
@d[...] の後に定義文が追加される形になるので、@d が行末にあった場合、実際の処理段階においては、挿入された定義文の末尾が行末になります。

つまり、定義文の中身の最後がコマンドで、@cmd; というように ';' で終了していた場合、@d コマンドの終了タイプとは関係なく、定義文の最後のコマンドの終了タイプが適用されます。
@include: テキストファイルの挿入
@include[test.txt]

[] 内で、ファイルパスを指定します。
指定したテキストファイルを読み込み、本文に挿入します。

絶対パスか相対パスで指定します。
相対パスの場合、実行時に指定したテキストファイルが存在するディレクトリが基準位置になります。

  • [] 内では、空白文字は、そのまま通常文字として扱われます。
    ']' をファイルパスの一部として扱いたい場合は、\] と記述します。
  • @include されたテキスト内でさらに @include がある場合も有効です。
    階層に制限はありません。
  • @end-body; がある場合は、そこで本文が終了します。
  • @include[] の後に、ファイルの内容が挿入される形になります。
@layout: レイアウト変更
@layout[test];
test レイアウト...
@np;
@layout;
base レイアウト

現在のページのレイアウトを変更します。
[] 内で、設定部分の @layout で設定した定義名を指定してください。

値を省略すると、base レイアウトに変更します。

コマンドの実行時、現在のページに本文文字が残っている場合は、現在のページを出力してから、次の新しいページでレイアウトを変更します。
ページが空の状態の場合は、現在のページでレイアウトを変更します。
@np,@nt,@nm,@nd: 改ページ系
@np;改ページ
@nt;改丁
@nm;改見開き
@nd;改段

値はないので、基本的に ; で終了してください。

※コマンドの直前の改行は、改段落として扱われません。

@np改ページを行います。
現在のページを終了して、次の新しいページへ移動します。
@nt改丁を行います。
現在のページを終了して、見開きの奇数ページ(左側のページ)へ移動します。
単一ページの場合は、改ページと同じです。

見開き時、次のページが奇数位置になる場合は、そのまま次のページへ。
次のページが偶数位置になる場合は、空白ページを追加した後、奇数ページへ移動します。
@nm改見開きを行います。
現在のページを終了して、見開きの偶数ページ(右側のページ)へ移動します。
単一ページの場合は、改ページと同じです。

見開き時、次のページが偶数位置になる場合は、そのまま次のページへ。
次のページが奇数位置になる場合は、空白ページを追加した後、偶数ページへ移動します。
@nd2段組の場合、改段を行います。
現在の段を終了して、次の新しい段へ移動します。
2番目の段で改段した場合は、改ページになります。

2段組でない場合は、改ページになります。
@font,@f: フォントの変更
@font[test,10pt]大きい文字
@font[test2]サイズは同じ(10pt)
@font[,1.5x]フォントは同じ(test2)
@f[]レイアウトの基本フォント

本文文字のフォントとフォントサイズを変更します。
次にレイアウトが変更されるまで有効です。

@f は、@font の省略形です。

[] 内に、カンマで区切って、「フォント定義名」と「フォントサイズ <pt/Q/x>」を順番に記述してください。
書き方は、4通りあります。

@font[NAME,SIZE]フォント定義名とフォントサイズを指定。
@font[NAME]フォント定義名のみ指定。
サイズは、現在のフォントサイズのまま。
@font[,SIZE]フォントサイズのみ指定。
フォントは、現在のフォントのまま。
※ ',' は省略できません。
@font[] or @font;すべて省略で、現在のレイアウトの基本フォントに戻す。

フォントサイズの単位が x の場合、現在のレイアウトの基本フォントのサイズが基準になります。
@align: 文字送り方向の揃え
@align[center,line]この行のみ中央寄せ
@align[bottom];
ここは終端寄せ
ここも
@align[];

文字送り方向の配置方法を変更します。
各行の文字全体をブロックとして、縦書きなら上下方向に、横書きなら左右方向に、指定位置で揃えます。

[] 内で、カンマで区切って、指定名を記述してください。

top縦書きなら上寄せ、横書きなら左寄せにします。
通常の状態はこちらです。
center縦書きなら上下に中央寄せ、横書きなら左右に中央寄せします。
bottom縦書きなら下寄せ、横書きなら右寄せにします。
lineこの行のみ適用します。
line を指定しなかった場合は、次にレイアウトが変更されるまで、すべての行で適用します。

値を指定しなかった場合は、top になります。
注意点
このコマンドは、行全体に対して適用されるため、行のどこで記述しても適用されます。
そのため、同じ行で複数回指定した場合は、最後に指定された @align のみが適用されるので、注意してください。

# [!] @align[] が適用されるので、中央寄せにならない
@align[center]中央寄せ@align[]
次の行は top

# 別の行で指定しているので、これは有効
@align[center]中央寄せ
@align[]次の行は top

# 現在行に適用したいなら、line を付ける
@align[center,line]中央寄せ
次の行は top
@body-align: 行送り方向の揃え
@body-align[center,page]このページのみ中央寄せ
@np;
@body-align[bottom];
このページ以降、終端寄せ
...
@body-align;

行送り方向の配置方法を指定します。
ページ全体の本文をブロックとして、縦書きなら左右方向に、横書きなら上下方向に、指定位置で揃えます。

[] 内で、カンマで区切って、指定名を記述してください。

top縦書きなら右寄せ、横書きなら上寄せにします。
通常の状態はこちらです。
center縦書きなら左右に中央寄せ、横書きなら上下に中央寄せします。
bottom縦書きなら左寄せ、横書きなら下寄せにします。
page現在のページのみ適用します。
page を指定しなかった場合は、次にレイアウトが変更されるまで、すべてのページで適用します。

値を指定しなかった場合は、top になります。

このコマンドは、ページ単位で適用されるため、1ページ内のどこで指定しても適用されます。
そのため、1つのページ内で複数指定された場合は、最後に指定されたものだけが適用されます。
@pagecnt: ページ番号の変更
@pagecnt[101]101P

現在のページのページ番号(ページ数)を変更します。

基本的には、本文の最初のページの番号を変える時に使いますが、途中でページ番号を変更することもできます。

  • 右綴じのため、奇数値が左ページ、偶数値が右ページになります。
  • デフォルトで、最初のページ番号は 1 になっています。
  • 現在のページ番号よりも小さい値は指定できません。
  • 見開き時、前のページと新しいページで、見開きの左右のページが繋がらない場合、自動で空白ページが追加されます。
    ただし、一番最初のページの場合は除きます。
@pagenum: ノンブルの表示方法
@pagenum[hide]このページは隠しノンブル

現在のページのノンブル(ページ番号)の表示方法を指定します。
1ページ内のどこで指定しても適用されます。

※この指定は、@page-number の no-page, hide-page よりも優先されます。

normal通常。
@page-number の no-page, hide-page を元に判断します。
新しいページは、常に normal で初期化されます。
yesこのページのみ、常にノンブルを表示します。
noこのページのみ、常にノンブルを表示しません。
hideこのページのみ、常に隠しノンブルで表示します。
隠しノンブルは、のど側に縦書きで表示されます。
隠しノンブルの表示位置は、@page-number で設定できます。

値の省略時は、normal になります。
@ihead: 字下げ
@ihead[3,line]この行だけ3字下げ
@ihead[1]1字下げ。折り返しも
@ihead[1,2]行頭1字下げ。折り返し以降は2字下げ
@ihead;0に戻す

行頭の字下げを指定します。

[] 内で、カンマで区切って、「段落行頭の字下げ文字数」「折り返し以降の字下げ文字数」「line」の3つを、必要なものだけ指定します。
それぞれの値は省略可能です。

それぞれ、書く順番はバラバラでも構いませんが、最初の数値は「段落行頭の字下げ文字数」、2番目の数値は「折り返し以降の字下げ文字数」となります。
([1,line,2] という形でも良い)

文字数は、0〜127 までです。

段落行頭の字下げ文字数
0


段落の最初の行頭の字下げの文字数を指定します。
0 で字下げなしとなります。
折り返し以降の字下げ文字数
段落行頭の字下げ数と同じ


段落の折り返し以降の行頭の字下げ数を指定します。
line
指定なし


現在の行だけ適用します。
指定しなかった場合、次にレイアウトが変更されるまで、以降のすべての行で適用されます。

すべて省略した場合は、"0,0" となります。

このコマンドは、行に対して適用されるため、行中のどこで指定しても有効です。
ただし、同じ行内で複数指定された場合は、最後の @ihead だけが適用されるので、注意してください。
@ifoot: 字上げ
@ifoot[2,line]この行だけ2字上げ
@ifoot[3]以降、3字上げ
@ifoot;字上げなし

行末の字上げを指定します。
行長から、レイアウトの基本フォントの指定文字数分の幅を減らす形になります。

[] 内で、カンマで区切って、「字上げ文字数」「line」の2つを、必要なものだけ指定します。
それぞれの値は省略可能です。
書く順番はどちらが先でも構いません。

字上げ文字数
0


字上げの文字数を指定します。
0〜127 までです。
line
指定なし


現在の行だけ適用します。
指定しなかった場合、次にレイアウトが変更されるまで、以降のすべての行で適用されます。

すべて省略した場合は、"0" となります。

このコマンドは、行に対して適用されるため、行中のどこで指定しても有効です。
ただし、同じ行内で複数指定された場合は、最後の @ifoot だけが適用されます。
@foot: 地付き
@foot[line]この行だけ地付き
@foot[1,line]この行だけ地から1字上げ
@foot[2]地から2字上げ
@foot;通常状態

地付き、または、地からN字上げを指定します。

@align[bottom(,line)]@ifoot[N(,line)] を同時に実行するのと同じです。

[] 内で、カンマで区切って、「字上げ文字数」「line」の2つを、必要なものだけ指定します。

文字数を省略した場合、0 になります。
line がある場合は、現在の行だけ適用します。

すべて省略した場合は、@align[top]@ifoot[0] を実行するのと同じです。
@img: 画像
@img[file=test.png,size=10x10mm,pos=ins-l];
@img[pdfsep,pos=cur];

1ページ全体に、画像を挿入します。
読み込めるのは、BMP/PNG/JPEG です。

PDF 出力の場合、JPEG ファイルのみ、そのまま元のファイルを埋め込みます。

挿絵を想定したものなので、1ページ内に複数の画像を置いたり、画像と本文を合わせて使うことはできません。

[] 内に、カンマで区切って、複数の値を指定してください。
※余分な空白は付けないでください。

file=[PATH]
なし


画像のファイルパスを指定します。
空白はそのまま文字として扱われます。

絶対パスまたは相対パスで指定できます。
相対パスの場合、実行時に指定したテキストファイルが存在するディレクトリが基準になります。

画像ファイルは省略可能です。
その場合、画像としては扱いますが、実際には何も描画されません。
画像ファイルを用意せずに、空白ページにしたい時に使います。
size=[STR]
裁ち切り含む用紙サイズ


画像の用紙上のサイズを指定します。
WxH<mm/pt> または 100% で指定してください。

  • 100%
    画像出力時は、元の px サイズそのままで等倍にして貼り付けます。
    PDF 出力時は、裁ち切り含む用紙サイズになります。

  • WxH<mm/pt>
    用紙上の幅と高さを、指定単位の数値で指定します。
    幅と高さは、アルファベットの小文字 x で区切ってください。
    単位を省略した場合は、mm になります。
    小数点以下の数値も指定できます。
pos:[STR]
paper/center


画像の配置を指定します。

'<基準位置>/<配置>/x/y' として、/ で区切って各値を指定します。
必ず上記の順番で記述してください。配置以降は省略できます。

■ 基準位置

画像を置く基準となる位置とサイズを指定します。

paper : 仕上がり用紙。
bleed : 裁ち切り含む用紙。
body : 基本版面 (本文部分)。

■ 配置

基準位置の後、/ で区切って以下の名前を指定すると、基準位置を元に、指定した配置で画像を置きます。
'/' 以降が省略された場合、center/0/0 になります。

center : 上下左右に中央寄せ。
in-top : 左右はのど側 (綴じ側) に寄せて、上下は上端。
in-bottom :左右はのど側に寄せて、上下は下端。
out-top : 左右は小口側 (綴じ側の反対側) に寄せて、上下は上端。
out-bottom : 左右は小口側に寄せて、上下は下端。

■ 位置指定

基準位置・配置の後に、/ で区切って x, y の値を指定すると、基準位置と配置で決まった位置から、指定 mm 移動します。
y 位置を省略すると、0 になります。

数値は、小数点以下の値を指定でき、負の値を指定することもできます。単位の mm を付けても構いません。
正の値で、小口側・下側に移動します。
負の値で、のど側・上側に移動します。
pdfsep
指定なし


PDF 出力時、画像ページの前と後ろで、PDF ファイルを分割します。
印刷の原稿として出力する場合に、挿絵のページを除外したい時に使います。
(画像出力時は何も起こりません)

コマンドラインオプションで、PDF 分割を無効にすることもできます。

※ページタイプが two-1 の見開き2P単位の場合、画像を含むページの前は分割されますが、画像の次が左ページ(奇数ページ)の場合、画像の後ろで分割はされません。2P 単位での出力になるので、注意してください。
pagenum=[STR]
normal


画像ページの、ノンブルの表示方法を指定します。
値は @pagenum と同じです。

normal, yes, no, hide
page=[STR]
cur


画像ページの挿入位置を、以下の名前で指定します。
※画像を挿入した後は、常に改ページが行われます。

  • cur
    現在のページに挿入します。
    ページに本文文字が残っている場合は、先にページを終了してから、次のページで挿入します。
    画像の後は常に改ページが行われるので、@img の後に改ページを行う必要はありません。
    直後に改ページを行うと、無駄な空白ページが挿入されます。


  • ins
    @img が記述されたページの後で、次にページが切り替わる時に挿入します。
    本文の途中で、左右のページに関係なく画像を挿入したい時に使います。

  • ins-l (小文字のエル)
    @img が記述されたページの後で、次に奇数ページが来た時に挿入します。
    見開きの左ページに挿絵を挿入したい時に使います。

  • ins-r
    @img が記述されたページの後で、次に偶数ページが来た時に挿入します。
    見開きの右ページから、見開きの挿絵を挿入したい時などに使います。
詳細
  • 見開き2ページを画像にしたい場合は、画像を1ページごとに分割して、それぞれを各ページに挿入してください。

  • 個数の制限無しで、複数の画像を挿入待ちにすることができます。
    例えば、2ページ分の見開きの画像を挿入したい時は、右側の画像と左側の画像を連続で指定して、右側に pos=ins-r、左側に pos=ins-l を指定すれば、偶数ページが来た時に、2つの画像が連続で挿入の条件を満たすことになります。
    ※常に、@img が記述された順に、先頭から処理されます。

  • 本文の段落中のどの位置で記述しても、@img は常に段落の先頭にあるものとして扱われます。
    例えば、段落の一部が折り返しによって次のページに送られる場合、@img が次のページにあたる本文中にあったとしても、前のページの段落先頭にあるものとして扱われるので、挿入の条件が、実際に記述された位置とは異なる場合があります。
    そのため、本文途中で挿入したい場合、@img は基本的に段落行頭で記述してください。

  • 本文の途中で画像を挿入する場合、@img の記述位置がちょうどページの先頭で、ページの挿入条件を満たしていたとしても、現在のページは挿入の対象にはなりません。
    現在のページを除く次のページ以降で、条件を満たすページが対象になります。
@pdfsep: PDF 分割
ここまで
@np;@pdfsep;
ここから新しいPDF

現在のページ位置で、PDF ファイルを分割します。

@pdfsep より前のページまでが一つの PDF ファイルとなり、@pdfsep を指定したページ以降が、新しい PDF ファイルになります。
PDF 分割は、個数の制限なく、何度でも使用できます。

ページ中のどこでも記述できますが、基本的にページ先頭で指定してください。

  • 画像出力時は、何も起こりません。
  • 出力 PDF ファイルは、各ファイルごとに「<prefix><先頭ページ番号>-<終端ページ番号>.pdf」となります。
  • コマンドラインオプションで、PDF 分割を無効にすることもできます。
  • 2段組の場合、下段にあたる本文範囲で指定すると、動作しません。
  • ページタイプが two-1 の見開き2Pの場合、2P単位で分割します。
    左と右のどちらのページで指定されていても、その位置で分割されます。
  • PDF ファイルに埋め込まれるサブセットフォントは、すべての PDF ファイルで共通の状態となります。
    サブセットフォントには、実際に使用されているグリフだけが格納された状態になっていますが、本文全体で使用されているグリフを格納した上で、それを、分割された PDF ファイルですべて同じデータとして埋め込みます。
    各 PDF ファイルごとに、使用されているグリフを判断する形にはなりません。
@title: 柱の文字列
@title[これが柱のタイトル];このページから適用される

柱 (本のタイトルや章名など) の文字列を指定します。
現在のページ以降で有効となります。

[] 内で、柱の文字列をそのまま記述してください。
$u,$c の記述も使用できます。
']' を通常文字として扱いたい場合は、\] としてください。

値を指定しなかった場合、空文字列 (柱なし) となります。

柱に関する設定は、@page-title で指定できます。
@index: 目次のタイトル行
目次
@index[name=ch1,title=第一章]第一章 タイトル
@index[name=二章]第二章 タイトル

目次のページを作る場合、それぞれの目次のタイトル行の先頭に記述します。

目次のページは、そのまま本文として、自分の好きなように記述する形になっています。
目次のタイトル行以外は通常通り本文で記述し、ページ数を自動でセットしたい目次のタイトル行では @index を指定します。
各目次のページ位置は、別途 @index-page でセットします。

@index の行は、各行の行長に合わせて、自動で「<目次タイトル><余白文字...><ページ数>」という本文文字に置き換わります。
目次の余白文字などの設定は、レイアウトの @index で設定できます。

[] 内で、カンマで区切って、以下の値を指定してください。

name=[STR]各目次ごとの定義名を、任意の文字列で指定します。
@index-page や、PDF の目次を指定する時の名前として使うので、好きな名前を指定してください。

使用できる文字や、文字数に制限はありません。
日本語などすべての文字を使用できます。
(PDF の目次で指定する場合、カンマは名前の文字として使えません)

省略または空文字列の場合は、何もせず、@index として扱われません。
すでに定義済みの名前を指定した場合は、title を上書きした上で、同じ目次として扱われます。
title=[STR]PDF の目次として表示するタイトルを、別途指定します。
@index と @index-page のどちらかで指定できます。

省略または空文字列の場合、タイトルは変更されません。
title が設定されていない場合は、name の定義名が PDF の目次のタイトルとして使われます。

詳細
  • @index と @index-page は、どちらが先に記述されていても、問題ありません。
  • @index は、常に行の先頭 (行に文字がない状態) で指定してください。
  • @index の行全体が、目次のタイトルになります。
  • 目次タイトルは、1行のみです。
    折り返しも含めて、2行以上にすることはできません。
  • 目次と見出しは、同じ行で使用できません。
  • 目次のタイトルの後、行の終端にページ数の文字をセットした上で、間に余白文字を並べます。
  • 目次のタイトル行は、現在の行長 (字下げや字上げを含む) に合わせて調整されます。
    長さを調整したい場合は、レイアウトの行長や、字下げ・字上げを使って設定してください。
  • 目次のタイトルは現在のフォントで描画されますが、余白文字とページ数は、そのページのレイアウトの基本フォントとサイズで描画されます。
  • 行長に十分な長さがない場合、文字が重なることがあります。
@index-page: 目次のページ位置をセット
@index-page[name=ch1]このページが第一章
...
@np;@index-page[name=二章]このページが第二章

現在のページ位置の番号を、指定した名前の目次のページ数としてセットします。

目次のページを作る場合は、@index と合わせて使います。
また、PDF の目次をセットする場合にも使用します。

[] 内で、カンマで区切って、以下の値を指定してください。

name=[STR]目次の定義名を、任意の文字列で指定します。

使用できる文字や、文字数に制限はありません。
日本語などすべての文字を使用できます。
(PDF の目次で指定する場合、カンマは名前の文字として使えません)

@index と同じ名前を指定すると、その目次のページ数として値がセットされます。
PDF の目次として使う場合は、@pdf の outline 項目で、同じ名前を指定します。

省略または空文字列の場合は、ページ位置をセットしません。
同じ名前で複数回指定した場合は、title とページ位置を上書きします。
title=[STR]PDF の目次として表示するタイトルを、別途指定します。
@index と @index-page のどちらかで指定できます。

@index を使う場合は、そちらで設定した方が、同じページ箇所でまとめて設定できます。
@index を使わずに、PDF の目次だけで使う場合は、@index-page で指定します。

省略または空文字列の場合、タイトルは変更されません。
title が設定されていない場合は、name の定義名が PDF の目次のタイトルとして使われます。
詳細
  • ページ位置がセットされなかった目次は、ページ数 0 となり、@index の行でページ数が表示されません。
    また、PDF の目次からも除外されます。
  • @layout や @img[pos=cur] など、前に本文文字が残っていれば自動でページが切り替わるコマンドの前に書く時は、注意してください。
    改ページ → @index-page → @layout というように、明示的に改ページを行わないと、前のページの番号がセットされてしまいます。
    @index-page は、確実に改ページが行われた後に置くようにしてください。