最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

リストの作成と書式設定

2 種類のリストをレポートに追加できます。

  • 順番付けなし (箇条書き)

  • 順番付けあり (番号付き)

  • 複数レベル (順番付きリストと順番付けのないリストが任意の組み合わせで含まれるリスト)

順番付きまたは順番付けのないリストの作成

リストは、数値配列または cell 配列から作成するか、一度に 1 項目ずつ作成できます。

  • cell 配列からリストを作成すると、さまざまなタイプの項目をリストに含めることができる。

  • 一度に 1 項目ずつリストを作成すると、複数のオブジェクトを 1 つのリスト項目に含める場合に役立つ。

配列から順番付けのないリストを作成する

順番付けのないリストは、1 次元数値または cell 配列をドキュメント (またはドキュメント パーツ) に追加して作成できます。関数 append は、配列を mlreportgen.dom.UnorderedList オブジェクトに変換してドキュメントに追加し、オブジェクトを返します。その後、このオブジェクトを書式設定できます。cell 配列には、文字ベクトル、数値および一部の DOM オブジェクト (Text オブジェクトなど) を含めることができます。含めることができる DOM オブジェクトの一覧については、mlreportgen.dom.ListItem を参照してください。

import mlreportgen.dom.*;
d = Document('myListReport','html');

t = Text('third item');
append(d,{'first item',6,t,'fourth item'});

close(d);
rptview(d.OutputPath);

配列を使用してリストを作成する

配列を UnorderedList または OrderedList オブジェクト コンストラクターに含めることで、順番付けのないリストまたは順番付きリストを配列から作成できます。cell 配列には、文字ベクトル、数値および一部の DOM オブジェクト (Text オブジェクトなど) を含めることができます。含めることができる DOM オブジェクトの一覧については、mlreportgen.dom.ListItem を参照してください。

この例では、順番付けのないリストを作成します。項目に番号を付けるには、UnorderedList クラスを OrderedList に変更します。

import mlreportgen.dom.*;
d = Document('unorderedListReport','html');

ul = UnorderedList({Text('item1'),'item 2',3});
append(d,ul);

close(d);
rptview(d.OutputPath);

1 項目ずつリストを作成する

mlreportgen.dom.ListItem オブジェクトを作成し、これを UnorderedList または OrderedList オブジェクトに追加することで、一度に 1 項目ずつリストを作成できます。

この例では、順番付きリストを作成します。箇条書きの項目を使用するには、OrderedList クラスを UnorderedList に変更します。

import mlreportgen.dom.*;
d = Document('unorderedListReport','html');

li1 = ListItem('Rank 3 magic square:');
table = append(li1,Table(magic(3)));
table.Border = 'inset';
table.Width = '1in';
li2 = ListItem('Second item');
li3 = ListItem('Third item');

ul = OrderedList();
append(ul,li1);
append(ul,li2);
append(ul,li3);

append(d,ul);

close(d);
rptview(d.OutputPath);

複数レベルのリストの作成

複数レベルのリストとは、リスト項目として順番付きリストまたは順番付けのないリストが含まれる順番付きまたは順番付けのないリストのことです。最大 9 レベルまでのリストを作成できます。

複数レベルのリストは、cell 配列から作成するか、一度に 1 リストずつ作成できます。一度に 1 項目ずつ複数レベルのリストを作成するのは、複数の段落や段落とテーブルなどのドキュメント要素の組み合わせが含まれるリスト項目を作成する場合に便利です。

cell 配列から複数レベルのリストを作成する

次のいずれかの方法を使用して、cell 配列から複数レベルのリストを作成できます。

  • 親リストを表す 1 次元 cell 配列内に、サブリストを表す 1 次元 cell 配列を入れ子にする。

    import mlreportgen.dom.*;
    d = Document('orderedListReport','html');
    
    ol = OrderedList({'step 1','step 2',...
         {'option 1','option 2'},...
         'step 3'});
    append(d,ol);
    
    close(d);
    rptview(d.OutputPath);
    
  • リスト オブジェクトを、親リストを表す 1 次元 cell 配列のメンバーとして含める。cell 配列から順番付きサブリストを作成するにはこの方法を使用します。

    d = Document('myListReport','html');
    
    append(d,{'1st item',OrderedList({'step 1','step 2'}),'2nd item'});
    
    close(d);
    rptview(d.OutputPath);
    
  • cell 配列の入れ子とリスト オブジェクトの入れ子の方法を組み合わせる。

複数レベルのリストを一度に 1 リストずつ作成する

子リストを親リストに追加することで、複数レベルのリストをゼロから作成できます。

import mlreportgen.dom.*;
d = Document('orderedListReport','html');

ol = OrderedList({'Start MATLAB', ...
     'Create a rank 3 or 4 magic square:'});
optionList = UnorderedList;
li = ListItem('>> magic(3)');
table = append(li,Table(magic(3)));
table.Width = '1in';
append(optionList, li);
li = ListItem('>> magic(4)');
table = append(li,Table(magic(4)));
table.Width = '1in';
append(optionList,li);
append(ol, optionList);
append(ol, ListItem('Close MATLAB'));, 
append(d,ol);
close(d);
rptview('orderedListReport','html');

リストの書式設定

レポートのスタイル シートで定義したリスト スタイルを使用することで、リストの各レベルのインデントと、リスト項目をレンダリングに使用される箇条書きのタイプや番号の書式を指定できます。PDF と HTML の場合、箇条書きのタイプまたは番号付けのタイプの指定は、スタイル シートで行うか、ListItem オブジェクトの mlreportgen.dom.ListStyleType 書式プロパティを使用して行えます。

テンプレート定義リスト スタイルを使用してリストを書式設定するには、リストの StyleName プロパティをスタイルの名前に設定します。例:

import mlreportgen.dom.*;
d = Document('myListReport','html','MyTemplate');

list = append(d,{'first item',...
    OrderedList({'step 1','step 2'}),'second item'});
list.StyleName = 'MyListStyle';

close(d);
rptview('myListReport','html');

メモ

リスト タイプにかかわらず、リスト スタイルによってリスト項目のレンダリング方法が決定します。リスト スタイルを指定していない場合、DOM API は既定のリスト スタイルを使用します。既定のリスト スタイルはタイプに応じてリストをレンダリングします。たとえば、順番付けのないリストの既定のリスト スタイルは、箇条書きを使用してリスト項目をレンダリングします。UnorderedList オブジェクトに対して、最上位の項目を番号付けするリスト スタイルを指定した場合、オブジェクトのタイプが順番付けなし (箇条書き) だとしても、最上位の項目は番号付けされます。

Word のリスト スタイルの作成

Word テンプレートでリスト スタイルを作成するには、[書式から新しいスタイルを作成] ダイアログ ボックスで、種類として [リスト] を選択します。Word テンプレートへのスタイルの追加を参照してください。

HTML または PDF のリスト スタイルの作成

HTML または PDF テンプレートのカスケード スタイル シート (CSS) でリスト スタイルを定義するには、順番付けのないリスト スタイルには ul 要素を使用し、順番付きリスト スタイルには ol 要素を使用します。子セレクター (>) を使用すると、複数レベルのリスト スタイルを定義できます。

たとえば、次の CSS コードは、順番付きまたは順番付けのないサブリストを含むことができる 2 レベルの順番付けのないリストについて、その外観を定義します。

ul.MyUnorderedList {
	list-style-type:disc;
}

ul.MyUnorderedList > ul {
	list-style-type:circle;
}

ul.MyUnorderedList > ol {
	list-style-type:decimal;
}

CSS の編集の詳細については、W3Schools.com の CSS Tutorial などのドキュメンテーションを参照してください。

参考

クラス

関数

関連するトピック