コンテンツにスキップ

リファレンス

本文書では,minitype のドキュメントモデル,ならびにグループおよびフローの構造を説明します.

minitype で生成する文書は,グループ(Group)の配列として構成されます. グループは版面設定(スタイル,フロー)を共有するまとまりです. 各グループの body には,ブロック要素,BlockExtender,フローを混在させて並べられます.

各ブロック要素についてはブロック要素を,スタイルについてはスタイルを参照してください.

type Group = {
body: Body;
pageIndex?: number;
style?: GroupStyle;
labelOptions?: GroupLabelOptions;
};
  • body:ブロック要素,BlockExtender,フローの配列です.
  • pageIndex:グループの開始ページ番号(0-based).指定しない場合はドキュメントの通し番号を使用します.
  • style:グループ固有のスタイル(DocumentStyle から size を除いた部分集合).
  • labelOptions:図表番号の採番設定.省略した場合,前のグループの設定を継承します.

ラベルオプション(GroupLabelOptions)

Section titled “ラベルオプション(GroupLabelOptions)”
type GroupLabelOptions = {
counterResetAt?: HeadingLevel | false;
formatCounter?: (context: LabelCounterFormatContext) => number | string;
};
  • counterResetAt:何レベルの見出しで図表番号をリセットするか.false を指定すると文書全体の通し番号になります.
  • formatCounter:カウンタの表示文字列を生成する関数.headingIndex(現在の見出し番号配列)と index(カウンタ値)を受け取ります.

フローは本文とは独立してページ上に配置されるブロック要素群です.柱・ノンブルや背景画像の配置に使用します.

type Flow = {
type: "flow";
position: (typeof FLOW_POSITIONS)[number];
blocks: (Block | BlockExtender)[];
inlineOffset?: number;
blockOffset?: number;
inlineSize?: number;
page?: number | PageFilter;
writingMode?: WritingMode;
zIndex?: number;
};
type PageFilter = (pageIndex: number, labels: LabelMap) => boolean;

position の基準位置には,以下の値を使用します.

値横組における位置縦組における位置
"pillar"版面上端を基準とする相対位置版面右端を基準とする相対位置
"nombre"版面下端を基準とする相対位置版面左端を基準とする相対位置
"page"ページ左上を原点とする絶対位置ページ左上を原点とする絶対位置

ブロック要素またはインラインコマンドに label プロパティを指定すると,そのラベルを使用した相互参照が可能になります.

{ ...image("chart.png"), label: "fig:result" };
{ ...math(["E = mc^2"]), label: "eq:energy" };
// 図 1 に示すように……
p([[autoref("fig:result"), "に示すように……"]]);
// 式 1 より……
p([["式", ref("eq:energy"), "より,"]]);
// 詳細は 1 ページ参照
p([["詳細は", pageref("fig:result"), "ページ参照"]]);