4장. 더욱 다채로운 기능들 [1]

차례
4.1. 흔히 쓰이는 기초요소들
4.1.1. 지은이에 대한 정보
4.1.2. 글의 세부적인 속성
4.1.3. 나열하기
4.1.4. 컴퓨터에 관련된 속성
4.1.5. 수식의 표현
4.1.6. 기타
4.2. 색인 넣기
4.3. 그림 넣기
4.4. 표
4.5. 프로그램 코드 보여주기와 해설 목록 넣기

4.1. 흔히 쓰이는 기초요소들

앞에서는 문서의 전체 구조와 이런 구조를 위한 기초요소들을 주로 살펴보았습니다. 이제는 DocBook의 세부적인 기초요소들 중 일반적으로 흔히 쓰이는 것 몇가지에 대해서 알아보겠습니다. 이런 기초요소들은 종류에 따라 특정 문맥 사이에서만 사용이 가능한 경우도 있다는 점을 주의하기 바랍니다.

작은 정보: 작성된 sgml 문서를 어떤 종류의 문서로 변환하느냐에 따라, 각 마크업이 적용된 모습은 조금씩 다르게 나타날 수 있습니다. 그러므로 원하는 종류의 문서로 변환된 후의 모습이 어떠한지를 꼭 확인해 볼 필요가 있습니다.

참고: 문서를 변환하는 과정은 어떤 스타일시트를 적용하느냐에 많이 의존합니다. 따라서 스타일시트가 어느 정도까지 문서의 내용을 충실히 표현해줄 수 있는지도 확인해 보아야 합니다. 비록 표준적인 스타일시트에서는 별 문제가 없다고 하더라도, 정보를 다른 형태로 가공하기 위해서 특별한 스타일시트를 사용해야하는 경우가 있다는 점에 주의를 기울여야 합니다.

4.1.1. 지은이에 대한 정보

author

지은이에 대한 정보를 넣기 위해 사용됩니다. 이 태그 사이에는 다음과 같이 여러 정보가 올 수 있습니다.

       <!DOCTYPE author PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

       <author>
         <firstname>Norman</firstname>
         <surname>Walsh</surname>

         <affiliation>
           <jobtitle>Senior Application Analyst</jobtitle>
           <orgname>ArborText, Inc.</orgname>
           <orgdiv>Application Developement</orgdiv>

           <address>
             <email>godoy@conectiva.com</email>
           </address>

         </affiliation>

       </author>

firstname surname othername

이름을 넣기 위해 사용됩니다. firstname에 이름 surname에 성이 들어가야 합니다. othername에는 별명이나 세례명 등을 넣을 수 있습니다. [2]

address

주소를 넣기 위해 사용됩니다. 보통 email을 사용하여 전자우편 주소를 넣습니다.

email

전자우편 주소를 넣기 위해 사용됩니다. 이는 다음과 같이 나타납니다.

affiliation

소속을 나타냅니다.

jobtitle orgname orgdiv

각각 직책의 이름, 부서의 이름, 조직의 이름을 나타냅니다.

4.1.2. 글의 세부적인 속성

citation

참고문헌을 위한 것입니다. 다음과 같이 나타납니다.

[reference]

blockquote

인용문을 위한 것입니다.
       <blockquote>
         <attribution>Text Author</attribution>
         <para>Quote Text.</para>
       </blockquote>

다음과 같이 나타납니다.

 

Quote Text.

 
--Text Author 

emphasis

강조를 위한 것입니다. 다음과 같이 나타납니다.

text

보통 강조는 기울인 글씨체(italic)나 굵은 글씨체(bold)로써 하는 것이 일반적입니다. 그러나 DocBook에서는 기울인 글씨체를 사용한 강조가 기본으로 되어 있습니다. 굵은 글씨체를 사용해서 강조를 하려면 스타일시트에 추가 설정을 하여야만 합니다.

footnote

각주(페이지의 아래에 달리는 주석)를 달기 위한 것입니다.
       <para>
         각주의 예를 보고 싶으세요? 

           <footnote>
             <para>
               이것은 각주의 예로서 달아본 주석입니다.
             </para>
           </footnote>

       </para>

이것은 다음과 같이 나타납니다.

- 각주의 예를 보고 싶으세요? [3]

ulink

이것은 URL 주소를 써넣기 위한 것입니다.
       <ulink url="http://kldp.org">리눅스 한글문서 프로젝트</ulink>

다음과 같이 나타납니다.

- 리눅스 한글문서 프로젝트

xref

참조를 위한 것입니다. 해당 id 속성이 지정된 기초요소를 참조하게 됩니다.
        <section id="inserting-pictures">
         ...
        </section>

        <section id="example">
         ...
          <para>
            그림 삽입에 대한 더욱 자세한 내용은 
            <xref linkend="inserting-pictures">을 참고하기 바랍니다.
          </para>
        </section>

다음과 같이 나타납니다.

- 그림 삽입에 대한 더욱 자세한 내용은 4.3절을 참고하기 바랍니다.

4.1.3. 나열하기

itemizedlist

항목들이 번호가 붙지 않은 상태로 나열됩니다.
       <itemizedlist>

         <listitem>
           <para>item</para>
         </listitem>

         <listitem>
           <para>item</para>
         </listitem>

       </itemizedlist>

다음과 같이 나타납니다.

  • item

  • item

orderedlist

번호가 매겨져 나열됩니다.
       <orderedlist>

         <listitem>
           <para>item</para>
         </listitem>

         <listitem>
           <para>item</para>
         </listitem>

       </orderedlist>

다음과 같이 나타납니다.

  1. item

  2. item

segmentedlist

항목 첫머리에 제목이 순차적으로 나타납니다.
       <segmentedlist>
         <title>Binary to decimal conversion</title>
           <segtitle>Binary</segtitle>
           <segtitle>Decimal</segtitle>

           <seglistitem>
             <seg>00</seg>
             <seg>0</seg>
           </seglistitem>

           <seglistitem>
             <seg>01</seg>
             <seg>1</seg>
           </seglistitem>

           <seglistitem>
             <seg>10</seg>
             <seg>2</seg>
           </seglistitem>

         </segmentedlist>

이것은 다음과 같이 나타납니다.

Binary to Decimal Conversion

Binary: 00

Decimal: 0

Binary: 01

Decimal: 1

Binary: 10

Decimal: 2

variablelist

각 항목의 제목이 따로 분리되어 나타납니다.
       <variablelist>

         <varlistentry>
           <term>Entry 1</term>

           <listitem>
             <para>Description</para>
           </listitem>

         </varlistentry>

         <varlistentry>
           <term>Entry 2</term>

           <listitem>
             <para>Description</para>
           </listitem>

         </varlistentry>

       </variablelist>

이것은 다음과 같이 나타납니다.

Entry 1

Description

Entry 2

Descripton

simplelist

단순히 열을 맞추어 나열됩니다. 속성에 type과 columns가 지정된 것을 눈여겨 보기 바랍니다.
       <simplelist type="horiz" columns="3">
         <member>1</member>
         <member>2</member>
         <member>3</member>
         <member>4</member>
         <member>5</member>
         <member>6</member>
       </simplelist>

       <simplelist type="inline">
         <member>A</member>
         <member>B</member>
         <member>C</member>
         <member>D</member>
         <member>E</member>
         <member>F</member>
       </simplelist>

이것은 다음과 같이 나타납니다.

123
456

A, B, C, D, E, F

4.1.4. 컴퓨터에 관련된 속성

keycap

키의 이름을 나타낼 때 사용합니다. 이는 다음과 같이 나타납니다.

F1

keycode

키의 코드를 나타낼때 사용합니다.

keycombo

키를 누르는 조함을 나타낼 때 사용합니다.
       <keycombo>
         <keycap>Ctrl</keycap>
         <keycap>S</keycap>
       </keycombo>

이는 다음과 같이 나타납니다.

Ctrl-S

guimenu

GUI 프로그램의 메뉴를 나타낼 때 사용합니다.

guimenuitem

GUI 프로그램 메뉴의 세부항목을 나타낼 때 사용합니다.

menuchoice

메뉴를 어떤 순서로 선택해야 하는지를 나타낼 때 사용합니다.
       <menuchoice>

         <shortcut>
           <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo>
         </shortcut>

         <guimenu>파일</guimenu><guimenuitem>저장</guimenuitem>

       </menuchoice>

다음과 같이 나타납니다

파일->저장 (Ctrl-S)

mousebutton

마우스 버튼의 이름을 나타냅니다.

<mousebutton>left</mousebutton>

command

명령어를 나타냅니다. 다음과 같이 나타납니다.

command

application

응용프로그램의 이름을 나타냅니다. 이는 다음과 같이 나타납니다.

application

filename

파일의 이름을 나타냅니다.
         <filename>filename</filename>
특별히 디렉토리의 이름을 나타낼 경우에는 다음과 같이 합니다.
         <filename id="directory">directory</filename>

4.1.5. 수식의 표현

equation

DocBook은 수식의 표현이 취약합니다. 복잡한 수식을 깔끔히 나타내려면 그림 파일을 사용하는 수 밖에 없습니다. equation은 수식을 그림으로 대체하고 그 그림을 간단히 설명할 수 있도록 해줍니다.

참고: 그림 파일을 위해 사용된 mediaobject와 imageobject에 대해서는 4.3절에서 설명합니다.

주의

DocBook v3.1 버전까지 그림 삽입을 위해 사용되었던 graphic 기초요소는 V4.0 버전부터는 무시되어버리므로 사용해선 안됩니다. V5.0에서는 graphic 기초요소 자체가 사라지게 될 것입니다.

다음과 같이 사용합니다.
       <!DOCTYPE equation PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

       <equation>
         <title>페르마의 마지막 정리</title>
         <alt>x^n + y^n &ne; z^n &forall; n &ne; 2</alt>

         <mediaobject>
           <imageobject>
             <imagedata fileref="fermat.eps" format="eps">
           </imageobject>
           <imageobject>
             <imagedata fileref="fermat.gif" format="gif">
           </imageobject>
           <imageobject>
             <imagedata fileref="fermat.bmp" format="bmp">
           </imageobject>
           <textobject>
             <phrase>x^n + y^n ≠ z^n ∀ n ≠ 2</phrase>
           </textobject>
         </mediaobject>         

       </equation>

다음과 같이 나타납니다.

수식 4-1. 페르마의 마지막 정리

x^n + y^n ≠ z^n ∀ n ≠ 2

informalequation

equation과 같지만 title을 쓰지 않고 수식만을 표현합니다.

inlineequation

equation과 같지만 수식을 문장에 포함시켜 보여줍니다. 제목은 사용하지 않습니다.

참고: 그림 파일을 위해 사용된 inlinemediaobject와 imageobject에 대해서는 4.3절에서 설명합니다.

주의

DocBook v3.1 버전까지 문장 중간에 그림을 넣기 위해 사용되었던 inlinegraphic 기초요소는 V4.0 버전부터는 무시되어버리므로 사용해선 안됩니다. V5.0에서는 inlinegraphic 기초요소 자체가 사라지게 될 것입니다.

       <!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

       <para>
          아인슈타인의 상대성 이론에서 다음 식이 가장 유명합니다:

         <inlineequation>
           <alt>e=mc^2</alt>

          <inlinemediaobject>
            <imageobject>
              <imagedata fileref="emc2.eps" format="eps">
            </imageobject>
            <imageobject>
              <imagedata fileref="emc2.gif" format="gif">
            </imageobject>
            <imageobject>
              <imagedata fileref="emc2.bmp" format="bmp">
            </imageobject>
            <textobject>
              <phrase>e=mc^2</phrase>
            </textobject>
          </inlinemediaobject>  

         </inlineequation>

       </para>

다음과 같이 나타납니다.

아인슈타인의 상대성 이론에서 다음 식이 가장 유명합니다: e=mc^2

superscript subscript

어깨 글자와 아래 글자를 넣을 때 사용합니다.
       H<subscript>3</subscript>O<superscript>+</superscript>

다음과 같이 나타납니다.

H3O+

4.1.6. 기타

Glossary

용어 해설을 하기 위한 것입니다.
       <glossentry>
         <glossterm>Term</glossterm>

         <glossdef>
           <to>Definition</to>
         </glossdef>

       </glossentry>

이의 실례는 이 글의 용어 해설 [1] 부분을 보기 바랍니다.

주석

[1]

이 내용은 DocBook HOWTO의 Writing with DocBook elements를 기반으로 하여 DocBook: The Definitive Guide의 Reference를 참고해 쓰여졌습니다.

[2]

Normal Walsh의 Modular DocBook Stylesheet의 예전 버전을 사용하면 성과 이름의 순서가 서양식으로 뒤바뀌어 표현되는 문제가 있었습니다. 그러나 스타일시트 버전 1.59부터 한국어 지역화가 포함되면서 이 문제는 해결되었습니다.

[3]

이것은 각주의 예로서 달아본 주석입니다.