4.2. 그림 넣기

출판을 하기 위한 문서라면 그림은 거의 필수적으로 들어가야만 합니다.

TeX 형식을 사용하는 경우에는 포스트스크립트 이미지가 필요하며, HTML의 경우라면 브라우저가 인식할 수 있는 JPEG, GIF, PNG 같은 이미지가 필요합니다. RTF로 변환하는 경우라면 PNG 이미지가 좋습니다.

주의

DocBook V3.1까지는 그림을 넣기 위해 <graphic>fileref 속성과 함께 사용할 수가 있었습니다. 그러나 V5.0에는 아예 이들 기초요소 자체가 사라질 것이므로, graphicinlinegraphic는 더 이상 사용하지 않는 것이 좋습니다. 다만 V3.1 이하를 사용하는 문서를 이해하기 위해 아래에 한가지 예를 보입니다.

예 4-1. 그림 넣기

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

  <figure>
    <title>그림 제목</title>
    <graphic fileref="images/file"></graphic>
  </figure>

V4.0과 4.1에서 굳이 사용한다면 다음과 같이 여는 태그만을 사용해야 합니다.

예 4-2. 그림 넣기

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

  <figure>
    <title>그림 제목</title>
    <graphic fileref="images/file">
  </figure>

다음과 같이, 여러가지 형식의 그림 파일들은 <imageobject>에 의해 포장됩니다. 이렇게 하면 문서를 변환할 때 해당 문서 형식에 맞는 그림 파일을 골라내어 쓸 수 있게 됩니다.

예 4-3. <imageobject>의 사용법

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

  <figure>
    <title>그림의 제목</title>

    <mediaobject>

      <imageobject>
        <imagedata fileref="images/file.eps" format="eps">
      </imageobject>

      <imageobject>
        <imagedata fileref="images/file.jpg" format="jpg">
      </imageobject>

      <textobject>
        <phrase>이 곳에는 예를 들기 위한 그림이 있습니다</phrase>
      </textobject>

      <caption>
        <para>그림에 대한 설명(안 넣어도 됩니다)</para>
      </caption>

    </mediaobject>

  </figure>

사용 가능한 파일 형식은 다음과 같습니다. BMP, CGM-BINARY, CGM-CHAR, CGM-CLEAR, DITROFF, DVI, EPS, EQN, FAX, GIF, GIF87A, GIF89A, IGES, JPEG, JPG, LINESPECIFIC, PCX, PIC, PS, SGML, TBL, TEX, TIFF, WMF, WPG.

이런 방식을 사용하면 프로그램을 사용해 문서를 처리하기가 훨씬 수월해 집니다. <imageobject>는 적당한 파일이 나올 때까지 계속 테스트되며, 만일 사용 가능한 파일이 하나도 없는 경우에는 <textobject>가 사용됩니다. DocBook 5.0이 나오게 되면 예 4-3과 같은 방식만이 사용되며, <graphic> 기초요소는 아예 없어질 것이라고 합니다.

<figure>는 그림의 표현 양식을 지정해줍니다. <figure> 대신에 <informalfigure>를 사용한다면 그림 제목은 안 달아도 됩니다.

<figure>에는 float라는 속성이 있습니다. 이 속성을 0으로 지정하게 되면 그림의 위치가 문서 상에서 고정되어 정확히 원래 위치에서만 나타나게 됩니다. 그러나 이 속성이 1로 지정된다면 그림이 좀더 보기 좋은 위치를 찾아 자리를 잡을 수 있게 됩니다(이 위치는 사용하는 스타일시트에 의해 결정됩니다).