段落の内容を、空白および改行を保持しながらモノスペース フォントで表示します。
構文
{pre
[option1=value1,
option*=value*,]
...}
option: 任意の段落または文字オプション。
value: オプションに対する有効値です。
...: 内容。
段落オプション
以下は、pre および他の段落フォーマットに直接影響する段落オプションです。 すべての段落オプションはローカルになります。
文字オプション
文字オプションを段落に設定すると、そのオプションは段落内のテキストすべてに適用されます。段落内にテキストが含まれない場合、オプション設定は効果がありません。段落オプションとは異なり、文字オプションは非ローカル オプションです。
説明
この段落書式は、次の書式と同じです。
{paragraph font-family="monospace",
text-preserve-whitespace?=true, ...}
pre はその内容をモノスペースに書式設定し、行間の文字配置を保持します。ただし、これは段落書式であるため、いずれの文字オプションまたは段落オプションをもその中に設定することができます。このオプションには、
font-family オプションを異なるフォント書体に設定し直すものも含まれます。
pre は段落内の空白および改行を保持しますが、これは段落書式であり、すべての段落書式と同様に段落の最初と最後の空白および改行の処理は異なることに注意してください。次にこれらの特別な行がどのように処理されるかを説明します。記述するコードの行とその結果として表示される行を区別するには、次の説明では
coding line を使用してソース行を記述し、
display line を使用してブラウザに表示される行を示しています。
最初の表示行を作成するには、pre (および任意のテキスト書式) は最初のコードの行内の非空白文字の前にある空白をすべて取り除きます。その行に非空白文字がない場合は、空白および改行文字は削除され最初のコードの行は表示されません。
段落の最初のコード行がその書式のキーワード引数の最終行であるか、またはキーワード引数がない場合には、段落書式が呼び出される行。
最後の表示行を作成するには、pre (および任意のテキスト書式) は最終コード行内の最後の非空白文字と右中カッコとの間にある空白をすべて取り除きます。右中カッコを最終コード行に配置することを推奨します。
段落の最終コード行はその内容を含む最後の行であり、通常この行の中に右中カッコがあります。
注意:右中カッコの直前に改行文字がある場合は、これも同様に削除されますが、改行文字の後の空白はいずれも取り除かれません。このような状態を回避するには、右中カッコを常に最後のコード行に配置してください。
例
次の例に示されている段落を比較してください。真ん中にある段落では、最初のコード行に非空白文字が含まれないため、このコード行は表示されません。(コメントは無視されます。)
例 |
|
{pre color="green", font-style="italic", 1st coding line
2nd coding line
Last coding line}Outside the paragraph
{pre color="teal",
font-style="italic", || 1st coding line
2nd coding line
Last coding line}
Outside the paragraph
{pre 1st coding line
2nd coding line
Last coding line}Outside the paragraph
| |
次の例では、
pre 内に verbatim 文字列が使用されています。これにより
pre 内で Curl コードを記述することができ、コードは
評価されません。Verbatim 文字列の元の構文は次のとおりです。
|" content "|
例 |
|
{pre
|" When you use {Graphic.draw},
remember you can even render a straw.
Hark! Art thou a bore?
-K.R."|}
| |
Verbatim 文字列マーカーを最初のコード行に配置しがちです。しかしながら、そうすると内容の最初の改行部となり、不適切な動作となります。
例 |
|
|| Don't do this!
{pre |"
When you use {Graphic.draw},
remember you can even render a straw.
Hark! Art thou a bore?
-K.R."|}
| |
内容を最初のコード行に配置した場合は、最初の表示行を作成するために内容の前にある空白はすべて取り除かれることに注意してください。
例 |
|
{pre
|" When you use {Graphic.draw},
remember you can even render a straw.
Hark! Art thou a bore?
-K.R."|}
| |
注意事項
Curl 解析規則はすべてのテキスト書式に適用されます。このことは、テキスト書式を
pre に組み込む際に重要となります。これは、次に示されているように
{bold の後の改行は取り除かれ 1 つの行に表示されるためです。
例 |
|
{pre
Don't break up the embedded format {bold
here}, thinking you'll get two display lines.}
{pre
Create the newline outside the
{bold embedded format} instead.}
| |
no-break テキスト フォーマットを使用する時やあるコントロールのラベル上などのように、
text-breakable? オプションが false の場合、newline は空白として扱われますが改行文字としては扱われません。
このオブジェクトは、"pre"のスタイル ルールを記述することでスタイル化することが出来ます。