OSDN Git Service

89ae0cef43549cf7e611524fd7eb39277ddc1b78
[linuxjf/JF.git] / www / workshop / sgml-jguide / jguide-3.html
1 <HTML>
2 <HEAD>
3 <TITLE>日本語版 Linuxdoc-SGML ガイド: SGML で文書を書くには</TITLE>
4 </HEAD>
5 <BODY>
6 <A HREF="jguide-2.html">前のページ</A>
7 <A HREF="jguide-4.html">次のページ</A>
8 <A HREF="jguide.html#toc3">目次</A>
9 <HR>
10 <H2><A NAME="s3">3. SGML で文書を書くには</A></H2>
11
12 <P>ここでは <CODE>linuxdoc.dtd</CODE> を使った文書の書き方について説明します。</P>
13
14 <H2><A NAME="ss3.1">3.1 文書の始め方</A></H2>
15
16 <P>一番最初に覚えなければならないことを簡単に書きます。</P>
17
18 <H3>SGML ファイルの最初</H3>
19
20 <P>SGML では (コメントは別にして) 必ず
21 <BLOCKQUOTE><CODE>
22 <PRE>
23 &lt;!doctype linuxdoc system&gt;
24 </PRE>
25 </CODE></BLOCKQUOTE>
26
27 で始めなければなりません。
28 この命令は簡単にいうと、``linuxdoc.dtd'' を使った文書である事を指定し
29 ています。</P>
30
31 <H3>使用する文字</H3>
32
33 <P>入力に使用できるキャラクタとしては、かな、漢字、英数字、および次の記号
34 です。</P>
35 <P>
36 <BLOCKQUOTE><CODE>
37 <PRE>
38 : ; . , ? ! ` ' ( ) - / * @ ^ _ + = { } |
39 </PRE>
40 </CODE></BLOCKQUOTE>
41 </P>
42 <P><EM>【注意】 <CODE>jlinuxdoc-sgml</CODE> では、<CODE>EUC</CODE> 漢字コードを使うようになっていますので、<CODE>EUC</CODE> コードで文書を書くようにして下さい。
43 また、半角カナと呼ばれている文字は使えません。</EM></P>
44 <P><EM>【注意】行頭を . で始めますと、テキストに変換する際に、問題が発生
45 します。よって、行頭には . を記述しないようにして下さい。</EM></P>
46
47 <H3>特殊文字</H3>
48
49 <P>SGML では、以下の記号をコマンドとして認識してしまいますので、その記号
50 を文字として使いたい場合には下のように入力して下さい。</P>
51 <P>
52 <UL>
53 <LI>左角かっこ (<CODE>[</CODE>) を使うには <CODE>&amp;lsqb;</CODE> と入
54 力します</LI>
55 <LI>右角かっこ (<CODE>]</CODE>) を使うには <CODE>&amp;rsqb;</CODE> と入
56 力します</LI>
57 <LI>アンパサンド (<CODE>&amp;</CODE>) を使うには <CODE>&amp;amp;</CODE> と入
58 力します</LI>
59 <LI>左ブラケット (<CODE>&lt;</CODE>) を使うには <CODE>&amp;lt;</CODE> と入力
60 します</LI>
61 <LI>右ブラケット (<CODE>&gt;</CODE>) を使うには <CODE>&amp;gt;</CODE> と入力
62 します</LI>
63 <LI>左ブラケット+スラッシュ (<CODE>&lt;/</CODE>) を使うには 
64 <CODE>&amp;etago;</CODE> と入力します</LI>
65 <LI>ドルマーク (<CODE>$</CODE>) を使うには <CODE>&amp;dollar;</CODE> 
66 と入力します</LI>
67 <LI>シャープ (<CODE>#</CODE>) を使うには <CODE>&amp;num;</CODE> と入力し
68 ます</LI>
69 <LI>パーセント (<CODE>%</CODE>) を使うには <CODE>&amp;percnt;</CODE> 
70 と入力します</LI>
71 <LI>バックスラッシュ (<CODE>\</CODE>) を使うには 
72 <CODE>&amp;bsol;</CODE> と入力します</LI>
73 <LI>二重引用符を使うには <CODE>``</CODE> と <CODE>''</CODE> と入力するか、
74 <CODE>&quot;</CODE> を表示させるには <CODE>&amp;dquot;</CODE> と入力します</LI>
75 </UL>
76 </P>
77
78
79 <H2><A NAME="ss3.2">3.2 タグ</A></H2>
80
81 <P>SGML でのコマンドは<EM>タグ</EM>と呼ばれます。タグには開始タグと終了タ
82 グがあり、開始タグは <CODE>&lt;タグ名&gt;</CODE> であり、終了タグは 
83 <CODE>&lt;/タグ名&gt;</CODE> です。また、開始タグしか必要としないものもあり
84 ますし、<CODE>&lt;タグ名/内容/</CODE> という短縮形式もあります。</P>
85 <P>開始タグと終了タグではさまれている部分に、そのタグの内容が適用されます。
86 LaTeX の環境と同じようなものですね。</P>
87
88
89 <H2><A NAME="ss3.3">3.3 原稿の書き方</A></H2>
90
91 <P>ドキュメントつまり原稿は、いづれかのスタイルを指定しなければなりません。
92 スタイルには以下のものが指定できます。ほとんど、LaTeX で使われているも
93 のと同様です。</P>
94 <P>
95 <DL>
96 <DT><B>article</B><DD><P>もっともポピュラーなスタイルです。HOWTO にはこれを使いま
97 す。</P>
98 <DT><B>report</B><DD><P>レポート形式です。</P>
99 <DT><B>book</B><DD><P>本の形式です。</P>
100 <DT><B>manpage</B><DD><P>man ページの形式です。</P>
101 </DL>
102 </P>
103 <P>例えば article を使う場合には、
104 <BLOCKQUOTE><CODE>
105 <PRE>
106 &lt;!doctype linuxdoc system&gt;
107
108 &lt;article&gt;
109
110 本文
111
112 &lt;/article&gt;
113 </PRE>
114 </CODE></BLOCKQUOTE>
115
116 と指定します。</P>
117 <P><EM>なお、man ページについては、後で詳しく説明します。</EM></P>
118
119
120 <H2><A NAME="ss3.4">3.4 タイトル</A></H2>
121
122 <P>文書のタイトル、著者、日付や概要は、スタイル (例えば&lt;article&gt;) 
123 の後に記述します。</P>
124 <P>
125 <DL>
126 <DT><B>&lt;title&gt;</B><DD><P>文書のタイトルを記述します。(必須)</P>
127 <DT><B>&lt;auther&gt;</B><DD><P>著者を記述します。(必須)</P>
128 <DT><B>&lt;trans&gt;</B><DD><P>翻訳者を記述します。(オプション)</P>
129 <DT><B>&lt;date&gt;</B><DD><P>文書のバージョンや日付を記述します。(オプション)</P>
130 <DT><B>&lt;tdate&gt;</B><DD><P>翻訳された文書のバージョンや日付を記述します。(オプション)</P>
131 <DT><B>&lt;abstract&gt;...&lt;/abstract&gt;</B><DD><P>概要を記述します。(オプ
132 ション)</P>
133 </DL>
134 </P>
135 <P>例えば、以下のようになります。
136 <BLOCKQUOTE><CODE>
137 <PRE>
138 &lt;title&gt;SGML を書こう!!
139 &lt;author&gt;さとけん@ForUs,&lt;tt/ken@gamba.forus.or.jp/
140 &lt;date&gt;v0.1 alpha, 20 September 1994
141 &lt;abstract&gt;
142 SGML を使って文書を書いてみよう。
143 &lt;/abstract&gt;
144 </PRE>
145 </CODE></BLOCKQUOTE>
146 </P>
147 <P><EM>【注意】 &lt;date&gt; は、&lt;author&gt; もしくは &lt;trans&gt; の
148 直後でないと、エラーとなります。</EM></P>
149
150
151 <H2><A NAME="ss3.5">3.5 文章構成</A></H2>
152
153 <P>文章の構成で、章や節を表すものとして、次のようなセクションタグが用意さ
154 れています。これらは、タイトルの後に記述することができます。</P>
155 <P>
156 <DL>
157 <DT><B>&lt;sect&gt;</B><DD><P>トップレベルの章で、LaTeX の section に相当します。
158 (1, 2, ...)</P>
159 <DT><B>&lt;sect1&gt;</B><DD><P>第 2 レベルの章で、LaTeX の subsection に相当します。
160 (1.1, 1.2, ...)</P>
161 <DT><B>&lt;sect2&gt;</B><DD><P>第 3 レベルの章で、LaTeX の subsubsection に相当し
162 ます。(1.1.1, 1.1.2, ...)</P>
163 <DT><B>&lt;sect3&gt;</B><DD><P>第 4 レベルの章で、LaTeX の paragraph に相当します。</P>
164 <DT><B>&lt;sect4&gt;</B><DD><P>第 5 レベルの章で、LaTeX の subparagraph に相当しま
165 す。</P>
166 </DL>
167 </P>
168 <P>また、それぞれのタグの直後に、対応した見出しを記述します。</P>
169 <P>例えば文書の最初に``概要''という章を記述するには、
170 <BLOCKQUOTE><CODE>
171 <PRE>
172 &lt;sect&gt;概要
173 </PRE>
174 </CODE></BLOCKQUOTE>
175
176 とすればよいですし、あなたが今読んでいるこの章は
177 <BLOCKQUOTE><CODE>
178 <PRE>
179 &lt;sect1&gt;文章構成
180 </PRE>
181 </CODE></BLOCKQUOTE>
182
183 と記述されています。</P>
184 <P>セクションタグの後で、実際の本文を書くには &lt;p&gt; タグを本文の前に
185 記述して下さい。</P>
186 <P>例えば、次のようになります。
187 <BLOCKQUOTE><CODE>
188 <PRE>
189 &lt;sect&gt;概要
190 &lt;p&gt;
191 この文書は、&lt;tt/jlinuxdoc-sgml/ 文書整形システムの...
192 </PRE>
193 </CODE></BLOCKQUOTE>
194 </P>
195 <P>これは、<CODE>sgmls</CODE> パーサーに章見出しと本文の区切りを教えているのです。
196 しかし、段落の区切りを指定する必要があるのは、セクションタグの後だけで、
197 その後の段落の区切りは空行で大丈夫です。(こういう段落の区切り方は、
198 LaTeX でよくやられていることでしょう。)</P>
199 <P>例えば、次のようになります。
200 <BLOCKQUOTE><CODE>
201 <PRE>
202 &lt;p&gt;
203 ここは最初の段落です。
204
205 ここは次の段落です。
206 </PRE>
207 </CODE></BLOCKQUOTE>
208 </P>
209 <P>ただ、最初の段落以外で &lt;p&gt; タグを使ってはいけないわけではありま
210 せん。最初の段落で必ず指定しなければならないだけです。</P>
211
212
213 <H2><A NAME="ss3.6">3.6 文の整形と改行</A></H2>
214
215 <P><CODE>jlinuxdoc-sgml</CODE> では <CODE>roff</CODE>、<CODE>LaTeX</CODE>、<CODE>HTML</CODE> を使って、文
216 書を整形しますので、文字列や行を自動的に詰めたり、改行したりします。
217 よって、整形ルールはそれぞれのフォーマッタに依存します。</P>
218 <P>また、通常 SGML のソース文書での改行は無視されます。強制的に改行を行なう
219 場合は&lt;newline&gt; を行末に挿入してください。また、空行か &lt;p&gt;
220 を挿入するとその前の文に改行が入り行間が空きます。</P>
221 <P>また、空白文字の扱いはフォーマッタによって異なります。プレーンテキスト
222 の場合は空白文字をそのまま空白として出力しますが、DVI や PS, HTML では
223 つめて出力(表示)されます。</P>
224 <P>
225 <DL>
226 <DT><B>変換前:</B><DD><P>
227 <BLOCKQUOTE><CODE>
228 <PRE>
229 雨が降る降る
230 雨が降る
231 &lt;p&gt;
232 遊びに行きたし&lt;newline&gt;
233 傘はなし
234
235 草履の    鼻緒も
236 擦り切れた
237 </PRE>
238 </CODE></BLOCKQUOTE>
239 </P>
240
241 <DT><B>変換後:</B><DD><P>
242 <BLOCKQUOTE><CODE>
243 雨が降る降る
244 雨が降る
245 <P>遊びに行きたし<BR>
246 傘はなし</P>
247 <P>草履の    鼻緒も
248 擦り切れた</P>
249 </CODE></BLOCKQUOTE>
250 </P>
251 </DL>
252 </P>
253 <P>タイトルページでは、改行は可能ですが空行を作ることはできません。従って
254 &lt;abstract&gt; タグの中で空行を設けたり &lt;p&gt; を挿入してもエラー
255 になるか無視されます。</P>
256 <P>なお、roff の整形はあまり精錬されていないため、他の環境でも空行が無視され
257 たり、逆に空行が多すぎたりすることがあります。そのため、sgml2txt では
258 3 行以上の空行を 2 行の空行に縮めています。</P>
259
260
261 <H2><A NAME="ss3.7">3.7 コメント</A></H2>
262
263 <P>SGML 文書のなかに、フォーマット出力には含めないコメントを書くには、
264 <BLOCKQUOTE><CODE>
265 <PRE>
266 &lt;!--
267 コメント
268 --&gt;
269 </PRE>
270 </CODE></BLOCKQUOTE>
271
272 とします。</P>
273
274
275 <H2><A NAME="ss3.8">3.8 打ち込んだ通りに出力する</A></H2>
276
277 <P>LaTeX の verbatim 環境と同じように、打ち込んだ通りに出力させるには、
278 &lt;verb&gt;...&lt;/verb&gt; で囲みます。</P>
279 <P>例えば、
280 <PRE>
281 ここは、&lt;verb&gt; と &lt;/verb&gt; でかこまれています。
282 </PRE>
283
284 とするには、
285 <BLOCKQUOTE><CODE>
286 <PRE>
287 &lt;verb&gt;
288 ここは、&lt;verb&gt; と &amp;etago;verb&gt; でかこまれています。
289 &lt;/verb&gt;
290 </PRE>
291 </CODE></BLOCKQUOTE>
292
293 と記述します。もちろん、空白もそのまま出力されます。</P>
294 <P>ただし、&lt;verb&gt;...&lt;/verb&gt; の中でも、&amp;,&lt;/ の 2 文字は
295 使えませんので、それぞれ、</P>
296 <P>
297 <UL>
298 <LI>アンパサンド (<CODE>&amp;</CODE>) を使うには <CODE>&amp;ero;</CODE></LI>
299 <LI>左ブラケット+スラッシュ (<CODE>&lt;/</CODE>) を使うには 
300 <CODE>&amp;etago;</CODE></LI>
301 </UL>
302 </P>
303 <P>と入力します。</P>
304 <P>また、LaTeX の verbatim 環境を使う関係で、\end{verbatim} は記述し
305 ないで下さい。</P>
306
307
308
309 <H2><A NAME="ss3.9">3.9 プログラムやアルゴリズム</A></H2>
310
311 <P>プログラムやアルゴリズムをフォーマットするには、基本的には verb 環境を
312 用いますが、ちょっとアクセントをつける方法を説明します。</P>
313 <P>プログラムやアルゴリズムの出力には、
314 <DL>
315 <DT><B>&lt;code&gt;...&lt;/code&gt;</B><DD><P>コード環境</P>
316 <DT><B>&lt;tscreen&gt;...&lt;/tscreen&gt;</B><DD><P>スクリーン環境</P>
317 <DT><B>&lt;quote&gt;...&lt;/quote&gt;</B><DD><P>クオート環境</P>
318 </DL>
319
320 が使えます。</P>
321
322 <H3>コード環境</H3>
323
324 <P>&lt;code&gt;...&lt;/code&gt; ではさまれた部分をコード環境といいます。
325 コード環境は、ほとんど verb 環境と同じですが、上下に線が引かれます。</P>
326 <P>例えば、
327 <HR>
328 <PRE>
329 これは &lt;code&gt;...&lt;/code&gt; の例です。
330 </PRE>
331 <HR>
332
333 とするには、
334 <BLOCKQUOTE><CODE>
335 <PRE>
336 &lt;code&gt;
337 これは &lt;code&gt;...&amp;etago;code&gt; の例です。
338 &lt;/code&gt;
339 </PRE>
340 </CODE></BLOCKQUOTE>
341
342 とします。</P>
343
344 <H3>スクリーン環境</H3>
345
346 <P>&lt;tscreen&gt;...&lt;tscreen&gt; ではさまれた部分をスクリーン環境とい
347 います。スクリーン環境では、自動的にインデント、タイプライタ書体の指定
348 が行われます。主に verb 環境といっしょに使われます。</P>
349 <P>例えば、
350 <BLOCKQUOTE><CODE>
351 <PRE>
352 これは &lt;tscreen&gt;&lt;verb&gt;...&lt;/verb&gt;&lt;/tscreen&gt; の例です。
353 </PRE>
354 </CODE></BLOCKQUOTE>
355
356 とするには、
357 <BLOCKQUOTE><CODE>
358 <PRE>
359 &lt;tscreen&gt;&lt;verb&gt;
360 これは &lt;tscreen&gt;&lt;verb&gt;...&amp;etago;verb&gt;&amp;etago;tscreen&gt; の例です。
361 &lt;/verb&gt;&lt;/tscreen&gt;
362 </PRE>
363 </CODE></BLOCKQUOTE>
364
365 とします。</P>
366
367 <H3>クオート環境</H3>
368
369 <P>&lt;quote&gt;...&lt;quote&gt; ではさまれた部分をクオート環境といいます。
370 クオート環境では、自動的にインデントが行われます。</P>
371 <P>例えば、
372 <BLOCKQUOTE>
373 これは &lt;quote&gt;...&lt;/quote&gt; の例です。
374 </BLOCKQUOTE>
375
376 とするには、
377 <BLOCKQUOTE><CODE>
378 <PRE>
379 &lt;quote&gt;
380 これは &lt;quote&gt;...&amp;etago;quote&gt; の例です。
381 &lt;/quote&gt;
382 </PRE>
383 </CODE></BLOCKQUOTE>
384
385 とします。</P>
386
387
388 <H2><A NAME="ss3.10">3.10 フォント</A></H2>
389
390 <P><CODE>jlinuxdoc-sgml</CODE> では LaTeX と同じようなフォントの指定をサポートし
391 ています。ただし、プレーンテキストにする場合にはフォントの指定は無視さ
392 れます。</P>
393 <P>
394 <DL>
395 <DT><B>em</B><DD><P>強調 (例:<EM>em</EM>)</P>
396 <DT><B>it</B><DD><P>イタリック (例:<I>it</I>)</P>
397 <DT><B>bf</B><DD><P>ボールドフェース (例:<B>bf</B>)</P>
398 <DT><B>sf</B><DD><P>サン・セリフ (例:<SF>sf</SF>)</P>
399 <DT><B>sl</B><DD><P>スランテッド (例:<I>sl</I>)</P>
400 <DT><B>tt</B><DD><P>タイプライタ (例:<CODE>tt</CODE>)</P>
401 <DT><B>cparam</B><DD><P>cparam (例:cparam) #LaTeX の \cparam{} 
402 に相当します。</P>
403 </DL>
404 </P>
405 <P>フォントを指定する場合には、指定する内容をタグではさみます。
406 例えば、タイプライタ書体にするには、以下のようにします。
407 <BLOCKQUOTE><CODE>
408 <PRE>
409 Here is some &lt;tt&gt;typewriter text&lt;/tt&gt; to be included in the document.
410 </PRE>
411 </CODE></BLOCKQUOTE>
412 </P>
413 <P>また、内容に``/''が含まれない場合には、以下の短縮形式を使う事もできま
414 す。
415 <BLOCKQUOTE><CODE>
416 <PRE>
417 Here is some &lt;tt/typewriter text/ to be included in the document.
418 </PRE>
419 </CODE></BLOCKQUOTE>
420 </P>
421 <P>ただし、全ての出力形式 (HTML 等) でサポートされているわけではないので、
422 bf、it、tt 以外のフォントはあまり使うべきでは無いでしょう。bf、it、tt 
423 だけでも、文書を書くには十分でしょう。</P>
424
425
426 <H2><A NAME="ss3.11">3.11 箇条書き</A></H2>
427
428 <P><CODE>jlinuxdoc-sgml</CODE> ではいくつかの箇条書き (リスト) をサポートしていま
429 す。サポートしているのは、以下の 3 種類の箇条書きです。
430 <DL>
431 <DT><B>&lt;itemize&gt;...&lt;/itemize&gt;</B><DD><P>頭に記号を付けた箇条書き
432 です。</P>
433 <DT><B>&lt;enum&gt;...&lt;/enum&gt;</B><DD><P>項目に番号を付けた箇条書きです。</P>
434 <DT><B>&lt;descrip&gt;...&lt;/descrip&gt;</B><DD><P>見出しを付けた箇条書きで
435 す。</P>
436 </DL>
437 </P>
438
439 <H3>itemize リスト</H3>
440
441 <P>itemize リストでは、それぞれの項目の頭に記号が付けられます。
442 例えば、
443 <BLOCKQUOTE><CODE>
444 <CODE>jlinuxdoc-sgml</CODE> には
445 <UL>
446 <LI>itemize リスト</LI>
447 <LI>enum リスト</LI>
448 <LI>descrip リスト</LI>
449 </UL>
450
451 があります。
452 </CODE></BLOCKQUOTE>
453
454 と出力するには、
455 <BLOCKQUOTE><CODE>
456 <PRE>
457 &lt;tt/jlinuxdoc-sgml/ には
458 &lt;itemize&gt;
459 &lt;item&gt;itemize リスト
460 &lt;item&gt;enum リスト
461 &lt;item&gt;descrip リスト
462 &lt;/itemize&gt;
463 があります。
464 </PRE>
465 </CODE></BLOCKQUOTE>
466
467 のように、リストの先頭で &lt;itemize&gt; を記述し、それぞれの項目の先
468 頭には &lt;item&gt; を付けて、最後に &lt;/itemize&gt; を記述します。</P>
469 <P>当然、ネスト (入れ子) も可能です。</P>
470
471 <H3>enum リスト</H3>
472
473 <P>enum リストでは、それぞれの項目に番号が付けられます。
474 例えば、
475 <BLOCKQUOTE><CODE>
476 <CODE>jlinuxdoc-sgml</CODE> には
477 <OL>
478 <LI>itemize リスト</LI>
479 <LI>enum リスト</LI>
480 <LI>descrip リスト</LI>
481 </OL>
482
483 があります。
484 </CODE></BLOCKQUOTE>
485
486 と出力するには、
487 <BLOCKQUOTE><CODE>
488 <PRE>
489 &lt;tt/jlinuxdoc-sgml/ には
490 &lt;enum&gt;
491 &lt;item&gt;itemize リスト
492 &lt;item&gt;enum リスト
493 &lt;item&gt;descrip リスト
494 &lt;/enum&gt;
495 があります。
496 </PRE>
497 </CODE></BLOCKQUOTE>
498
499 のように、リストの先頭で &lt;enum&gt; を記述し、それぞれの項目の先頭に
500 は &lt;item&gt; を付けて、最後に &lt;/enum&gt; を記述します。</P>
501 <P>当然、ネスト (入れ子) も可能です。</P>
502
503 <H3>descrip リスト</H3>
504
505 <P>descrip リストでは、それぞれの項目に見出しが付けられます。
506 例えば、
507 <BLOCKQUOTE><CODE>
508 <CODE>jlinuxdoc-sgml</CODE> でサポートされている箇条書きの種類は
509 <DL>
510 <DT><B>itemize</B><DD><P>頭に・などの記号を付けた箇条書きです。</P>
511 <DT><B>enum</B><DD><P>項目に番号を付けた箇条書きです。</P>
512 <DT><B>descrip</B><DD><P>見出しを付けた箇条書きです。</P>
513 </DL>
514
515 の3種類です。
516 </CODE></BLOCKQUOTE>
517
518 と出力するには、
519 <BLOCKQUOTE><CODE>
520 <PRE>
521 &lt;tt/jlinuxdoc-sgml/ でサポートされている箇条書きの種類は
522 &lt;descrip&gt;
523 &lt;tag/itemize/頭に・などの記号を付けた箇条書きです。
524 &lt;tag/enum/項目に番号を付けた箇条書きです。
525 &lt;tag/descrip/見出しを付けた箇条書きです。
526 &lt;/descrip&gt;
527 の3種類です。
528 </PRE>
529 </CODE></BLOCKQUOTE>
530
531 のように、リストの先頭で &lt;descrip&gt; を記述し、最後に 
532 &lt;/descrip&gt; を記述します。また、それぞれの項目は &lt;tag/見出し/
533 内容 と記述します。なお、見出しの部分に``/''を含めたい場合には、
534 &lt;tag&gt;見出し&lt;/tag&gt;内容 と記述して下さい。</P>
535 <P>ただし、<CODE>LaTeX</CODE> を使う場合、<EM>見出し</EM>の部分には、
536 &amp;bsol; が入力できませんので、注意して下さい。</P>
537 <P>当然、ネスト (入れ子) も可能です。</P>
538
539
540 <H2><A NAME="CrossRef"></A> <A NAME="ss3.12">3.12 相互参照</A></H2>
541
542 <P>&lt;sect?&gt; には自動的に通し番号が付けられますが、これを別の部分から
543 参照する方法を説明します。</P>
544 <P>まず、参照される部分へのラベル付けを行います。</P>
545 <P>
546 <BLOCKQUOTE><CODE>
547 <PRE>
548 &lt;sect1&gt;概要&lt;label id=&quot;sec-intro&quot;&gt;
549 </PRE>
550 </CODE></BLOCKQUOTE>
551 </P>
552 <P>これで、ラベルが付けられましたので、他の場所で以下のように参照すること
553 ができるようになります。</P>
554 <P>
555 <BLOCKQUOTE><CODE>
556 <PRE>
557 概要については、&lt;ref id=&quot;sec-intro&quot; name=&quot;概要&quot;&gt;を参照して下さい。
558 </PRE>
559 </CODE></BLOCKQUOTE>
560 </P>
561 <P>この場合、<CODE>ref</CODE> タグによって、<CODE>sec-intro</CODE> のセクション番
562 号に置き換えられます。</P>
563 <P>また、<CODE>name</CODE> は <CODE>HTML</CODE> や <CODE>nroff</CODE> に変換する場合
564 に必要です。</P>
565 <P>なお、<CODE>HTML</CODE> に変換した場合には、名前の部分をクリックすることに
566 よって、その場所に移動できます。</P>
567 <P>例えば、この章は
568 <A HREF="#CrossRef">相互参照</A>です。</P>
569 <P>
570 <DL>
571 <DT><B>【裏技】</B><DD><P>せっかくの相互参照も、節や章しか参照できないのではちょっと
572 機能不足ですね。実は、label は任意の場所に設定することができるのです
573 が、LaTeX での参照の際に節番号を参照するので、節や章しか参照できない
574 ようになっているのです。
575 だからといってあきらめる必要はありません。&lt;htmlurl&gt; というタグ
576 を使って解決することができます。</P>
577 <P>次の節の 
578 <A HREF="#htmlurl">htmlurlのタグ</A> を参照のこと。</P>
579 </DL>
580 </P>
581
582
583
584 <H2><A NAME="ss3.13">3.13 HTML での URL を記述するには</A></H2>
585
586 <P><CODE>W3 (World Wide Web)</CODE> で使われる <CODE>URL (Universal Resource
587 Locators)</CODE> も記述することができます。</P>
588 <P>Mosaic 等で``Linux Documentation Projectのホームページ''と書かれている
589 部分をクリックすることで、<CODE>sunsite.unc.edu</CODE> の 
590 <CODE>/mdw/linux.html</CODE> ファイルを参照するようにするには以下のように
591 します。</P>
592 <P>
593 <BLOCKQUOTE><CODE>
594 <PRE>
595 &lt;url url=&quot;http://sunsite.unc.edu/mdw/linux.html&quot; 
596      name=&quot;Linux Documentation Projectのホームページ&quot;&gt;
597 </PRE>
598 </CODE></BLOCKQUOTE>
599 </P>
600 <P><CODE>url</CODE> の引数には、実際の URL を記述します。また <CODE>name</CODE> 
601 の引数には URL の名前や内容を記述しますが、これはオプションですので記
602 述しなくても結構です。</P>
603 <P>また、<CODE>jf.gee.kyoto-u.ac.jp</CODE> の
604 <CODE>/pub/JF/misc/linuxdoc-sgml-1.5.tar.gz</CODE> を ftp して来る
605 ようにするには、
606 <BLOCKQUOTE><CODE>
607 <PRE>
608 &lt;url url=
609 &quot;ftp://jf.gee.kyoto-u.ac.jp/pub/JF/misc/linuxdoc-sgml-1.5.tar.gz&quot;&gt;
610 </PRE>
611 </CODE></BLOCKQUOTE>
612
613 とします。</P>
614 <P>例えば、
615 <A HREF="ftp://jf.gee.kyoto-u.ac.jp/pub/JF/misc/linuxdoc-sgml-1.5.tar.gz">【オリジナルのLinuxdoc-SGML v1.5を入手するにはここをクリッ クして下さい。】</A>
616 となります。</P>
617 <P>
618 <A NAME="htmlurl"></A> 
619
620 さらに、より機能の高い HTML の URL を表記するためには
621 &lt;htmlurl url=.... &gt; というタグを使います。例えば、メールを送る
622 ためのアドレスを書くときには、
623 <BLOCKQUOTE><CODE>
624 <PRE>
625 &lt;htmlurl url=&quot;mailto:ono@jf.gee.kyoto-u.ac.jp&quot;
626            name=&quot;ono@jf.gee.kyoto-u.ac.jp&quot;&gt;
627 </PRE>
628 </CODE></BLOCKQUOTE>
629
630 のように書くことにより、Netscape などの WWW ブラウザ上でメールを送る
631 ためのフォームを出すことができるようになります。
632 <DL>
633 <DT><B>例:</B><DD><P>ご用命の際は 
634 <A HREF="mailto:ono@jf.gee.kyoto-u.ac.jp">ono@jf.gee.kyoto-u.ac.jp</A> まで。</P>
635 </DL>
636 </P>
637 <P>&lt;htmlurl&gt; タグを使えば以下のようにして、同一文書中のラベルを直接
638 指定することもできます。
639 <BLOCKQUOTE><CODE>
640 <PRE>
641 &lt;htmlurl url=&quot;#CrossRef&quot; name=&quot;相互参照の節&quot;&gt; を参照のこと。
642 </PRE>
643 </CODE></BLOCKQUOTE>
644 </P>
645 <P>
646 <A HREF="#CrossRef">相互参照の節</A> を参照のこと。</P>
647
648
649 <H2><A NAME="ss3.14">3.14 目次</A></H2>
650
651 <P>目次を作るのは簡単です。目次をいれたい部分に
652 <BLOCKQUOTE><CODE>
653 <PRE>
654 &lt;toc&gt;
655 </PRE>
656 </CODE></BLOCKQUOTE>
657
658 を記述するだけです。大抵は、&lt;/abstract&gt; の後に記述されるのがよい
659 でしょう。</P>
660 <P>ただし、実際に目次が挿入されるのは、<CODE>LaTeX</CODE> を通して作られる 
661 <CODE>dvi</CODE> と <CODE>PS</CODE> ファイルのみです。
662 <CODE>text</CODE>ファイルでは単に無視されるだけですし、<CODE>html</CODE>ファイ
663 ルでは指定しなくても、作成されます。</P>
664
665
666
667 <H2><A NAME="ss3.15">3.15 横線を引くには</A></H2>
668
669 <P>文書中で
670 <HR>
671 このように横線を引くには、
672 <BLOCKQUOTE><CODE>
673 <PRE>
674 &lt;hrule&gt;
675 </PRE>
676 </CODE></BLOCKQUOTE>
677
678 と記述するだけです。</P>
679
680
681 <H2><A NAME="ss3.16">3.16 FAQ を記述するには</A></H2>
682
683 <P>ここでは、<CODE>Linux コミュニティ</CODE>で利用されている <CODE>FAQ</CODE>フォー
684 マットを記述する方法を説明します。</P>
685 <P>たとえば、
686 <DL><DT><B>[Item] </B> ソフト名やハードウェアや規格・言語などのキーワード<P>
687 <DT><B>[投稿者] </B> 発言者の名前とメールアドレス<BR>
688 <DT><B>[日付] </B> 発言した日付<BR>
689 <DT><B>[質問]</B>
690 <DD>質問の詳細<P>
691 <DT><B>[回答]</B>
692 <DD>質問に対する回答<P>
693 <DT><B>[投稿者] </B> 発言者の名前とメールアドレス<BR>
694 <DT><B>[コメント]</B>
695 <DD>質問あるいは回答に対するコメント(回答に自身がない場合など)<P>
696 </DL>
697 と出力したい場合は、
698 <BLOCKQUOTE><CODE>
699 <PRE>
700 &lt;faq&gt;
701 &lt;keyword&gt;ソフト名やハードウェアや規格・言語などのキーワード
702 &lt;poster&gt;発言者の名前とメールアドレス
703 &lt;pdate&gt;発言した日付
704 &lt;question&gt;
705 質問の詳細
706 &lt;/question&gt;
707 &lt;answer&gt;
708 質問に対する回答
709 &lt;/answer&gt;
710 &lt;poster&gt;発言者の名前とメールアドレス
711 &lt;coment&gt;
712 質問あるいは回答に対するコメント(回答に自身がない場合など)
713 &lt;/coment&gt;
714 &lt;/faq&gt;
715 </PRE>
716 </CODE></BLOCKQUOTE>
717
718 と記述します。</P>
719 <P><EM>【注意】本来の FAQ フォーマットとの違いは、以下の通りです。</EM></P>
720 <P>
721 <BLOCKQUOTE><CODE>
722 <PRE>
723 &lt;FAQ&gt; → &lt;faq&gt;
724 &lt;Item&gt; → &lt;keyword&gt;
725 &lt;Subject&gt; → &lt;faq&gt; の前に &lt;sect?&gt; として記述
726 &lt;Poster&gt; → &lt;poster&gt;
727 &lt;Date&gt; → &lt;pdate&gt;
728 &lt;Q&gt; → &lt;question&gt;
729 &lt;/Q&gt; → &lt;/question&gt;
730 &lt;A&gt; → &lt;answer&gt;
731 &lt;/A&gt; → &lt;/answer&gt;
732 &lt;C&gt; → &lt;coment&gt;
733 &lt;/C&gt; → &lt;/coment&gt;
734 &lt;/FAQ&gt; → &lt;/faq&gt;
735 </PRE>
736 </CODE></BLOCKQUOTE>
737 </P>
738 <P>FAQ をまとめた、 <CODE>faqdb</CODE> 形式のファイルを、jlinuxdoc-sgml で処
739 理できるファイルに変換するためのフィルタとして、<CODE>bin/faqdb2doc</CODE> 
740 がありますので、御利用下さい。このフィルタを使えば、上記の違いも変更さ
741 れます。</P>
742
743
744 <HR>
745 <A HREF="jguide-2.html">前のページ</A>
746 <A HREF="jguide-4.html">次のページ</A>
747 <A HREF="jguide.html#toc3">目次</A>
748 </BODY>
749 </HTML>