Next Previous Contents

2. การเขียนเอกสารในรูปแบบ SGML (linuxdoc)

หลักการเขียนเอกสารแบบ SGML คล้าย HTML มาก กล่าวคือใช้ tags ในการกำหนดรูปแบบของเอกสาร.

2.1 โครงสร้างของเอกสาร SGML-tools

โครงสร้างเอกสาร SGML สำหรับ SGML-tools มีรูปแบบทั่วไปดังนี้

<!doctype linuxdoc system>          
                                    
<article>                           
                                    
<title> DOCUMENT TITLE              
<author> AUTHOR NAME                
<date> DATE                         
<abstract>                          
ABSTRACT HERE                       
</abstract>                    
                                    
<toc> <!-- table of content -->     

<sect> SECTION                      
<p>                                 
CONTENT .......                     
</article>                     
                                    
เอกสารที่ใช้ SGML-tools ต้องมีคำสั่ง <!doctype linuxdoc system> ทุกครั้ง. เพื่อเป็นการบอกให้ SGML-tools รู้ว่าคำสั่ง(TAG)ในเอกสารนี้ถูกกำหนดโดย linuxdoc. รายละเอียดทางเทคนิคของ SGML สามารถอ่านได้จาก guide.sgml ซึ่งเป็นเอกสารแนะนำการใช้ SGML-tools ที่มากับตัวโปรแกรม.

2.2 การใช้ TAG

การใช้ TAG ในไฟล์ SGML คล้ายๆกับ TAG ของ HTML คือมีตัวเปิดและปิด. ไวยกรณ์ทั่วคือ

<TAG> phrase </TAG>
คำสั่งข้างบนสามารถย่อสั้นๆได้ดังนี้
<TAG/ phrase /
ในกรณีหลังเหมาะสำหรับการเขียนคำสั้นๆ และไม่เหมาะสำหรับการเขียนชื่อไฟล์เต็มๆของ UNIX เพราะมีเครื่องหมาย / อยู่ซึ่งถือเป็นส่วนหนึ่งของคำสั่ง.

TAG บางชนิดไม่จำเป็นต้องมีตัวปิดก็ได้เช่น <P> ซึ่งหมายถึงคำสั่งกำกับย่อหน้าเป็นต้น. อีกวิธีหนึ่งที่ใช้สำหรับการย่อหน้าคือ การเว้นบรรทัดว่างหนึ่งบรรทัด.

2.3 เครื่องหมายพิเศษ

การเขียนเครื่องหมายพิเศษมีความจำเป็นเมื่อผู้ใช้ต้องการเขียนตัวอักษรที่เป็นคำสั่งเช่น "<ภาษาไทย>" เพื่อไม่ให้แปลเครื่องหมาย <> เป็น TAG ผู้ใช้สามารถเขียนตัวอย่างที่แสดงได้โดย &lt;ภาษาไทย&gt; เป็นต้น. เครื่องหมายพิเศษที่ใช้บ่อยได้แก่,

เครื่องหมายพิเศษอื่นๆที่ใช้ได้กับ SGML-tools 1.0.x สามารถดูได้จาก guide.sgml.

2.4 การเขียนข้อความแบบ verbatim

เมื่อผู้ใช้ต้องการแสดงข้อความที่ไม่ต้องการให้แปลตามภาษา SGML ให้เขียนข้อความเหล่านั้นใน environment ที่ชื่อ verbatim ดังนี้

<verb>
This is the verbatim environment.
<> & ; ~ You can write special characters here.
</verb>
ตัวอย่างข้างจะแสดงผลเป็นดังนี้
This is the verbatim environment.
<> & ; ~ You can write special characters here.

การใช้ <verb;>...<verb>/ ยังไม่เหมาะกับการใช้ภาษาไทยใน SGML มากนักเพราะขณะนี้ยังไม่สามารถแสดงผลภาษาไทยใน verbatim environment ของ LaTeX ได้. ใน verbatim environment มีข้อกำหนดการเขียนอักษรบางตัวดังนี้

นอกจาก verb environment แล้วยังมี environment อื่นที่คล้ายๆกันคือ code. ตัวอย่างเช่น

<code>
This is the code environment.
</code>
การแสดงผล :
This is the code environment.

code environment จะแตกต่างกับ verb environment ตรงที่มีเส้นกั้นข้อความ(horizontal rule)ให้.

ผู้ใช้ยังสามารถใช้ tscreen environment ประกอบกับ verb หรือ code เพื่อล่นข้อความ(indent)ไปทางขวา. ตัวอย่างเช่น,

<tscreen><verb>
Using verb environmment with tscreen environment.
</verb></tscreen>
การแสดงผล:
Using verb environmment with tscreen environment.

quote environment คล้าย tscreen environment มากแต่แตกต่างกันตรงที่ไม่ใช้ฟอนต์ tt (fixed width font) ในการแสดงผล. ตัวอย่างเช่น,

<quote>
This is the quote environment.
</quote>
การแสดงผล:
This is the quote environment.

2.5 การเขียนรายการ (list)

การเขียนรายการ(list) สามารถเขียนได้ 3 แบบคือ

ตัวอย่างการเขียนรายการแบบ itemize
<itemize>

<item>รายการที่หนึ่ง

<item>รายการต่อไป

<itemize>/

การแสดงผล: ตัวอย่างการเขียนรายการแบบ enum,
<enum>

<item>รายการที่หนึ่ง

<item>รายการต่อไป

<enum>/

การแสดงผล:
  1. รายการที่หนึ่ง
  2. รายการต่อไป

การเขียนรายการแบบ descrip จะแตกต่างจากตัวอย่างอื่นเล็กน้อยดังนี้

<descrip>

<tagหัวข้อที่หนึ่ง คำอธิบาย

<tagหัวข้อต่อไป คำอธิบาย

<descrip>/

การแสดงผล:
หัวข้อที่หนึ่ง

คำอธิบาย

หัวข้อต่อไป

คำอธิบาย

2.6 สรุปที่ใช้บ่อย TAG อื่นๆ

<article> ... </article>

เป็นคำสั่งบอกเริ่มเอกสาร ซึ่งขณะนี้เข้าใจว่าใช้ได้เฉพาะ article เท่านั้น ข้อความที่อยู่ระหว่างนี้ถือเป็นเนื้อหาของเอกสาร และคำสั่งที่อยู่ก่อนหน้านี้ถือเป็น preamble.

<author>

ใช้ระบุชื่อผู้เขียนเอกสาร

<date>

ใช้ระบุวันที่ที่เขียนเอกสาร

<abstract> ... </abstract>

เป็นส่วนสำหรับเขียนบทคัดย่อ อธิบายเนื้อหาของเอกสาร

<toc>

คำสั่งสร้างสารบัญ

<p>

ใช้ในการย่อหน้า โดยปรกติแล้ว TAG นี้ควรตามหลัง <sect> เพื่อเป็นการบอกว่าพร้อมที่จะเขียนเนื้อหาหลังจากประกาศหัวข้อ. การย่อหน้าอีกวิธีหนึ่งสามารถทำได้โดยการเว้นบรรทัดว่างหนึ่งบรรทัดซึ่งจะนิยมมากกว่าใช้ <p>. TAG นี้ไม่จำเป็นต้องมีตัวปิดท้าย.

<sect>

เป็นคำย่อของ section ใช้สำหรับกำกับหัวข้อ ในกรณีนี้จะแสดงตัวเลขหัวข้อเป็น 1, 2, 3, ... ตามลำดับ

<sect1>

คำสั่งประกาศหัวข้อย่อย ใช้ประกาศภายในหัวข้อหลัก. ในกรณีจะมีตัวเลขเป็น 1.1, 1.2, 1.3, ... เป็นต้น. หัวข้อย่อยถัดจากนี้คือ <sect2>, <sect3> และ <sect4>

<tt> ... </tt>

เป็นคำสั่งเปลี่ยนฟอนต์เป็นฟอนต์พิมพ์ดีด(Type writer). มักใช้ในการเขียนชื่อคำสั่ง เป็นต้น

<url url="URL" name="NAME">

ใช้ใส่ URL ในเนื้อหา. ถ้าแปลงเป็น HTML format, NAME จะลิงค์ไปยัง URL นั้นๆ. ถ้าเป็น text หรือ LaTeX, จะแสดงด้วยชื่อแล้วตามด้วยที่อยู่ URL.

<htmlurl url="HTML_URL" name="NAME">

ใช้เขียน URL ของ HTML เช่น <htmlurl url="mailto:poon-v@fedu.uec.ac.jp" name="พูลลาภ วีระธนาบุตร" เป็นต้น

<label id="ID">

ใช้ในการเลือกตำแหน่งอ้างอิงของเอกสาร. คำสั่งนี้มักใช้ควบคู่กับกับคำสั่ง <ref id="ID" name="NAME">

<ref id="ID" name="NAME">

เป็นคำสั่งบอกตำแหน่งอ้างอิงในเอกสาร. ถ้าเป็น HTML format, จะเป็นการลิงค์กันภายในเอกสาร. ถ้าเป็น LaTeX format จะเป็นการบอกตำแหน่งหน้าที่อ้างอิง เป็นต้น.

ผู้ใช้สามารถอ่านวิธีการใช้คำสั่งอื่นๆได้จาก guide.sgml ที่มากับ SGML-tools.

ผู้ใช้สามารถเขียนภาษาไทยในไฟล์ SGML ได้แต่ไม่ควรเขียนภาษาไทยใน verb หรือ code environment ซึ่งต้องหาทางแก้ไขกันต่อไป.


Next Previous Contents