[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11. リストと表

Texinfoにはリストと表を作成する方法がいくつかあります.リストは黒丸また は番号が付きます.二列の表は,最初の列の項目が強調されます.複数列の表も サポートされています.

Texinfoは,リストや表のテキストの字下げと,列挙されたリストの番号付けを 自動的に行います.この最後の機能は,リストを編集する場合に番号を付け直す 必要が無いので便利です.

番号付のリストと表は,行の最初を適切な@-コマンドで開始し,単独行の対応 する@endコマンドで終了します.表と項目に分けられたリストのコマン ドも,開始の@-コマンドと同じ行に書式化情報を書くことを要求します.

例えば,@enumerateコマンドで列挙リストを開始し,@end enumerateコマンドでリストを終了してください.項目分けリストを @itemizeコマンドで開始し,@bulletのような書式化コマンド を同じ行に続け,@end itemizeコマンドでリストを終了してください.

リストのそれぞれの要素は,@item@itemxコマンドに前置し ます.


異なる種類の表とリストの項目分けされたリストは以下のようになります.


同じ項目で列挙されたリストは以下のようになります.

  1. 黒点有りと無しの項目分けされたリスト.
  2. 番号や文字を使用した列挙リスト.
  3. 強調のある二列の表.

そして,同じ項目と@-コマンドの二列の表は以下のようになります.

@itemize

黒点有りと無しの項目分けされたリスト.

@enumerate

番号や文字を使用した列挙リスト.

@table
@ftable
@vtable

強調のある二列の表.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.1 @itemize: 項目分けされたリストの作成

@itemizeコマンドは,印が必要なそれぞれの段落の最初に左のマージン に黒丸や他の印を使用した,字下げされた段落の並びを生成します.

行の 最初に@itemizeを書き,項目分けされたリストを開始します.コ マンドに続く同じ行に,文字やマークを生成するTexinfoコマンドを続けてくだ さい.通常,@itemizeの後に@bulletを書きますが, @minusや結果としてInfoファイルで一文字を生成するあらゆるコマンド や文字を使用することが可能です.全く印をを付けたくない場合は@w を使用してください.(@itemizeコマンド後に@bulletのような コマンドを書く場合,‘{}’を省略できます.)マークコマンドを指定しな い場合はデフォルトは@bulletです.

@itemizeの後に,@end itemizeの行まで.字下げされた段落自 身のテキストを書いてください.

マージンに要求される印に対して,それぞれの段落の前に@itemのみの 行を書いてください.@itemにテキストを続けても構いません.

通常,@itemの前に空白行を書くべきです.これはInfoファイルにも空 白行を書きます.(TeXは,どちらの場合でも適切な空白を行間に挿入します.) 項目が非常に短いとき以外は,これらの空白行でリストの見ためが良くなります.

@itemizeの使用に続き,それが生成する出力の例は以下のようになりま す.@bulletはInfoでは‘*’,TeXでは丸い点を生成します.

 
@itemize @bullet
@item
fooに対するいくつかのテキスト.

@item
barに対する
いくつかのテキスト.
@end itemize

これは,以下を生成します.

項目分けされたリストには,他の項目分けされたリストを埋め込んでもかまいま せん.黒点で印を付けたリストの中にダッシュで印を付けたリストを埋め込んだ ものは以下のようになります.

 
@itemize @bullet
@item
最初の項目.

@itemize @minus
@item
内部の項目.

@item
二番目の内部の項目.
@end itemize

@item
二番目の外部項目.
@end itemize

これは,以下を生成します.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.2 @enumerate: 数字や文字が付いたリストの作成

@enumerateは,アイテムのラベルが黒丸の代わりに,連続した整数や文 字となる以外,@itemizeに似ています(see section @itemize).

@enumerateコマンドを行の最初に書いてください.コマンドは引数を要 求しませんが,オプションとして数字または文字を受け入れます.引数を用いな いと,@enumerateは数字‘1’でリストを開始します.‘3’のよ うな数字の引数を用いると,コマンドはその番号からリストを開始します. ‘a’または‘A’のような大文字または小文字を用いると,コマンドはそ の文字でリストを開始します.

項目分けされたリストと同じ方法で,列挙されたリストのテキストを書いてくだ さい.列挙したいそれぞれの段落を始める前に,単独行に@itemを置い てください.@itemで始まる行に他のテキストは一切書かないでくださ い.

リストの項目の間に空白行を書くべきです.一般にInfoファイルが読みやすくな ります.

引数の無い@enumerateの例は以下のようになります.

 
@enumerate
@item
根本的な原因.

@item
直接の原因.
@end enumerate

これは以下を生成します.

  1. 根本的な原因.
  2. 直接の原因.

3を引数とした例は以下のようになります.

 
@enumerate 3
@item
元となる原因.

@item
逆の原因.

@item
永続する原因.
@end enumerate

これは以下を生成します.

  1. 元となる原因.
  2. 逆の原因.
  3. 永続する原因.

選択肢に関する短い概要は以下のようになります.概要は,aの引数で @enumerateを使用して組み立てられています.

  1. @enumerate

    引数を用いないと,番号付リストを生成し,それは数字の1で始まります.

  2. @enumerate positive-integer

    (正の)数字の引数を用いると,その数字で番号付のリストを開始します.他の文 章で中断されたリストを続けるために,これを使用することが可能です.

  3. @enumerate upper-case-letter

    大文字の引数を用いると,それぞれの項目がその大文字で始まる文字で印が付い たリストを開始します.

  4. @enumerate lower-case-letter

    小文字の引数を用いると,それぞれの項目がその小文字で始まる文字で印が付い たリストを開始します.

アウトラインのように,番号付のリストを入れ子にすることも可能です.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.3 二列の表の作成

@tableは,@itemize(see section @itemize)に 似ていますが.それぞれの項目に対して名前や見出し行を指定できます. @tableコマンドは,二列の表を生成するために使用され,特に,用語集, 説明的な表示,そしてコマンドラインオプションの概要に役に立ちます.

@tableコマンドを行の最初に書き,同じ行に@code@samp@varや,@kbd(see section 定義,コマンド等を示す)のような Texinfoの“表示”コマンドを引数として続けてください.これらのコマンドは 通常カッコで引数が続きますが,@itemは引数を供給するので,この場 合は引数無しでコマンド名を使用します.このコマンドは,それぞれの項目の最 初の列になるテキストに適用され,強調方法を決定します.例えば, @codeは最初の列のテキストを@codeコマンドで強調します. (我々はコマンドラインオプションの@tableに対し@codeを勧め ます.)

@tableの引数として,@asisコマンドの使用を選択してもかま いません.@asisは何もしないコマンドです.@tableの後にこ のコマンドを使用した場合,TeXとInfoの書式化コマンドは,最初の列の項目 を強調せず(“そのまま”)出力します.

(@tableコマンドは,ここでリストアップした以外のコマンドを用いて 作業してもかまいません.しかし,通常はカッコ内に引数をとるコマンドのみが 使用可能です.)

それぞれの表の項目を,行の最初の@itemコマンドで開始してください. 最初の列のテキストを@itemコマンドと同じ行に書いてください.二番目 の列のテキストを@item行に続く行と,それ以降の行に書いてください. (二番目の列の項目が空の場合,何も入力する必要はありません.)サポートする テキストは好きな行数を書いてもかまいませんし,複数の段落にしてもかまいま せん.しかし,@itemと同じ行のテキストのみ,脚注も含めて,最初の 列に配置されます.

通常,@item行の前に空白行を書くべきです.これはInfoファイルで空 白を書きます.項目が非常に短いとき以外は,空白行は見ためが良くなります.

例えば,以下の表は最初の列を@sampで強調しています.

 
@table @samp
@item foo
これは@samp{foo}に対する
テキストです.

@item bar
@samp{bar}に対するテキストです.
@end table

これは,以下を生成します.

foo

これは‘foo’に対する テキストです.

bar

@samp{bar}に対するテキストです.

二行以上の名前の項目を一つの塊のテキストでリストアップしたい場合, @itemxコマンドを使用してください.(See section @itemx.)


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.3.1 @ftable@vtable

@ftable@vtableコマンドは,@ftableが自動的に表 の最初の列のそれぞれの項目を関数の索引に入れ,@vtableが自動的に 表の最初の列のそれぞれの項目を変数の索引に入れる以外,@tableコマ ンドと同じです.これは,索引作成の仕事を単純にします.@itemコマ ンドと同じ行の項目のみ索引になり,それらはその行の表示と全く同じ形式で索 引になります.索引の詳細は,See section 索引.

@ftable@vtableを使用している二列の表は,行の最初に@-コ マンドを書くことで開始し,同じ行に引数として@tableコマンドに対す るものと全く同じものを,@codeコマンドのようなTexinfoコマンドで続 けてください.そして,単独行で@end ftable@end vtableコ マンドを使用して終りにしてください.

前のセクションの@tableの例を参照してください.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.3.2 @itemx

同じ項目で,最初の列の項目が二つ以上あり,それぞれを単独行に現したい場合, @itemxコマンドを表の中で使用してください.@itemxを最初の 項目以外の全てに使用してください.@itemxは常に@itemコマ ンドに続けるべきです.@itemxコマンドは,最初の列のテキストの上に 余分な空白を生成しない以外は,@itemと全く同じように動作します.

例えば,以下のようにします.

 
@table @code
@item upcase
@itemx downcase
この二つの関数は,引数として文字や文字列を受け入れ,対応した大文字(小文字)
の文字や文字列を返します.
@end table

これは以下を生成します.

upcase
downcase

この二つの関数は,引数として文字や文字列を受け入れ,対応した大文字(小文字) の文字や文字列を返します.

(この例は,二列の表に複数行をサポートしているテキストを表現していることに 注意してください.)


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.4 複数列の表

@multitableで,それぞれの列が希望の幅を持つ,あらゆる数の列を持 つ表を構築することが可能となります.

単独の@multitable行で列の幅を定義し,@tabコマンドで分け られた列で,@itemコマンドに続けて,実際の表のそれぞれの行を書き ます.最終的に,@end multitableで表を終了します.詳細は以下のセ クションにあります.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.4.1 複数列の表の幅

複数行の表の列の幅を二つの方法で定義することが可能です.行の長さを小数と する方法,または行のプロトタイプを使用する方法です.二つの方法を混ぜたも のはサポートしていません.どちらの場合でも,@multitableコマンド と同じ行で幅は完全に定義されます.

  1. 行の長さ全体の小数として列の幅を指定するため,@columnfractionsと (1より小さい)10進数を@multitableコマンドの後に以下のように書いて ください.
     
    @multitable @columnfractions .33 .33 .33
    

    小数部は上記がそうでないように,和が正確に1.0になる必要はありません.こ れで,行全体を満たす必要の無い表を生成することができます.好みで0を前置 することが可能です.

  2. 行のプロトタイプを指定するため,それぞれの列で最も長い項目を, @multitableコマンドの後にカッコで囲んで書いてください.例えば, 以下のようにします.
     
    @multitable {some text for column one} {for column two}
    

    最初の列は,‘some text for column one’で植字される幅を持ち,二列目は‘for column two’の幅を持ちます.

    プロトタイプ項目を表に書く必要はありません.

    この例で単純なテキストを使用しましたが,プロトタイプ項目にTexinfoコマン ドを含めることが可能です.@codeのようなマークアップコマンドは, 特に役に立つ可能性が高いものです.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

11.4.2 複数列の表の行

列の幅を定義する@multitable(前のセクション参照)の後で, @itemで複数列の表の本体にそれぞれの行を開始し,列項目を @tabで分けます.改行は表の本体で特別扱いされず,必要な場所でソー スファイルの入力行を改行してもかまいません.

複数列の表の完全な例は以下のようになります(The GNU Emacs Manualか らのテキストで,see (emacs)Split Window section ‘Splitting Windows’ in The GNU Emacs Manual).

 
@multitable @columnfractions .15 .45 .4
@item Key @tab Command @tab Description
@item C-x 2
@tab @code{split-window-vertically}
@tab Split the selected window into two windows,
with one above the other.
@item C-x 3
@tab @code{split-window-horizontally}
@tab Split the selected window into two windows
positioned side by side.
@item C-Mouse-2
@tab
@tab In the mode line or scroll bar of a window,
split that window.
@end multitable

以下を生成します.

KeyCommandDescription
C-x 2split-window-verticallySplit the selected window into two windows, with one above the other.
C-x 3split-window-horizontallySplit the selected window into two windows positioned side by side.
C-Mouse-2In the mode line or scroll bar of a window, split that window.

[ << ] [ >> ]           [冒頭] [目次] [見出し] [ ? ]

この文書は新堂 安孝によって2009年9月22日texi2html 1.82を用いて生成されました。