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

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

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

4.1.1. 지은이에 대한 정보

author

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


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

  <author lang="ko">
    <surname>홍</surname>
    <firstname>길동</firstname>
    
    <contrib>도적질을 총지휘하였습니다.</contrib>

    <affiliation>
      <jobtitle>의적 두목</jobtitle>
      <orgname>의적단</orgname>
      <orgdiv>수뇌부</orgdiv>

      <address>
        <email>gildong@honggildongzzang.com</email>
      </address>

    </affiliation>

  </author>

editor

편집자를 위한 기초요소로서 author와 같은 위치(articleinfo나 bookinfo 안)에서 같은 구조(surname, firstname, affiliation)를 가집니다.

othercredit

이것은 지은이나 편집자는 아니지만 글의 완성에 크게 기여한 사람들을 위한 기초요소입니다. othercredit도 author와 같은 위치(articleinfo나 bookinfo 안)에서 같은 구조(surname, firstname, affiliation)를 가집니다.

특별히 번역자임을 알려주기 위해선 othercredit의 role 속성을 translator로 주도록 합니다. 문서를 변환하는데 기여한 경우에는 role 속성을 converter로 주면 되겠습니다.


  <othercredit role="translator">

firstname surname othername

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

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

최상위 기초요소의 lang 속성을 'ko'로 주었을 때, 성과 이름의 순서가 우리와 다른 서양식 이름을 사용하는 경우에는 상위 기초요소(author, editor, othercredit)의 lang 속성을 'en'으로 주어야 이름이 서양식으로 표현됩니다.

address

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

email

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

affiliation

소속을 나타냅니다.

jobtitle orgname orgdiv

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

contrib

author, editor, othercredit 각각의 사람들이 구체적으로 어떤 기여를 하였는지 적어줍니다.

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에서는 기울인 글씨체를 사용한 강조가 기본으로 되어 있습니다. 굵은 글씨체를 사용해서 강조를 하려면 스타일시트에 추가 설정을 하여야만 합니다. KLDP 스타일시트에서는 굵은 글씨체가 기본값으로 되어 있습니다.

footnote

각주(페이지의 아래에 달리는 주석)를 달기 위한 것입니다.

  <para>
    각주의 예를 보고 싶으세요? 

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

  </para>

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

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

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.2절을 참고하기 바랍니다.

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 자체만으로는 수식의 표현이 취약합니다. 새로운 버전의 DocBook에서는 MathML과 결합하여 수식을 표현할 수 있다고 합니다. 일단은 복잡한 수식을 깔끔히 나타내기 위해 그림 파일을 사용할 수 있습니다. equation은 수식을 그림으로 대체하고 그 그림을 간단히 설명할 수 있도록 해줍니다.

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

주의

DocBook v3.1 버전까지 그림 삽입을 위해 사용되었던 graphic 기초요소는 V4.0 버전부터는 사용하지 않는 것이 좋습니다. V5.0에서는 graphic 기초요소 자체가 사라지게 될 것입니다.

다음과 같이 사용합니다.

  <!DOCTYPE equation PUBLIC "-//OASIS//DTD DocBook V4.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과 같지만 수식을 문장에 포함시켜 보여줍니다. 제목은 사용하지 않습니다.

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

주의

DocBook v3.1 버전까지 문장 중간에 그림을 넣기 위해 사용되었던 inlinegraphic 기초요소는 V4.0 버전부터는 사용하지 않는 것이 좋습니다. V5.0에서는 inlinegraphic 기초요소 자체가 사라지게 될 것입니다.


  <!DOCTYPE para PUBLIC "-//OASIS//DTD DocBook V4.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

용어 해설을 하기 위한 것입니다.

<glossary>
  <glossentry>
    <glossterm>어떤 용어</glossterm>

    <glossdef>
      <para>여기에 용어 해설을 씁니다.</para>
    </glossdef>

  </glossentry>
</glossary>

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

주석

[1]

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