posted by 내.맘.대.로 2016. 1. 29. 18:26

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

Sigil 최신버전(0.9.2 기준) 은 EPUB 3를 제한적으로 지원합니다. 하지만 EPUB 3 파일을 만들려면 수정해 줘야 하는 곳이 있습니다. 여러곳을 수정해야 하기 때문에 번거롭기는 하지만 Sigil의 강력한 편집기능을 이용할 수 있어 자주 사용하게 되네요. EPUB 3 편집기를 사용할 때보다 결과물이 깔끔하다는 장점도 있습니다.


여기서는 Sigil로 EPUB3 고정 레이아웃(Fixed-layout) 전자책을 만드는 방법을 설명하겠습니다.

여기에 설명한 부분만 고쳐준다면 EPUB 3 뷰어에서 문제 없이 열립니다 ^^




◆ Sigil로 EPUB 3고정 레이아웃(Fixed-layout) 을 만들 때 확인해야 하는 사항입니다.


* 이 내용 중 고정 레이아웃 항목을 제외하면 EPUB 3 파일 제작에 그대로 적용됩니다.


1. EPUB 3 파일로 만들어 줍니다.


<package version="3.0" unique-identifier="BookId" xmlns="http://www.idpf.org/2007/opf">



2. content.opf 파일에서 고정레이아웃을 선언해 줘야합니다. (고정 레이아웃)

   property="dcterms:modified", dc:title, dc:language 도 1개 이상 있어야 합니다. (EPUB 3)


  <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">


    <dc:identifier id="BookId">urn:uuid:21d050a8-9c85-4d61-b84a-4161b721d5f6</dc:identifier>


    <meta content="0.9.2" name="Sigil version" />


    <meta property="rendition:layout">pre-paginated</meta>


    <meta property="rendition:spread">none</meta>


    <meta property="rendition:orientation">portrait</meta>


   <meta property="dcterms:modified">2016-01-29T12:00:00Z</meta>


    <dc:title>고정 레이아웃 샘플</dc:title>


    <dc:language>ko</dc:language>


  </metadata>



3. HTML 파일에서 고정 레이아웃 판형을 설정해 줍니다.(고정 레이아웃)


<head>


  <title></title>


  <link href="../Styles/style.css" rel="stylesheet" type="text/css"/>


  <meta name="viewport" content="width=720, height=1098"/>


</head>



4. CSS 혹은 인라인 스타일로 body 크기를 정해줍니다. (고정 레이아웃)

body{


position:absolute; /*옵션*/


margin:0;


padding:0;


width:720px;


height:1098px;


}



5. 메타데이터 입력할 때 content.opf 파일에서 opf:role 등 opf: 속성을 수정해야 합니다.(EPUB 3)


EPUB 2 : <dc:creator opf:role="aut">홍길동</dc:creator>


* opf: 속성을 id로 변경해 줍니다.


EPUB 3 : <dc:creator id="creator01">홍길동</dc:creator>


메타데이터 속성은 EPUB 3.0.1 EPUB Publication 문서 참조 http://www.idpf.org/epub/301/spec/epub-publications.html#sec-metadata-elem



6. opf 파일에 반드시 하나 이상의 nav 속성이 있어야 합니다. (EPUB 3)

<item href="Text/nav.xhtml" id="nav.xhtml" media-type="application/xhtml+xml" properties="nav"/>



7. HTML 파일에 반드시 하나 이상의 Navigation 파일이 있어야합니다.

  <nav epub:type="toc" id="toc">


<ol>

   <li><a href="Section0001.xhtml">설명1</a></li>




    <li><a href="Section0002.xhtml">설명2</a></li>


    <li><a href="Section0003.xhtml">설명3</a></li>


  </ol></nav>


네비게이션은 <nav>태그로 감싸여야 하고 <ol><li>태그로 목록을 만든 후 <a> 태그로 링크를 걸어야 합니다. http://www.idpf.org/epub/301/spec/epub-contentdocs.html#sec-xhtml-nav-content-conf


8. ncx 파일의 doctype을 삭제해 주세요. 

EPUB 3에서는 ncx 파일이 필요 없습니다. 하지만 Sigil에서는 NCX 파일이 필요하기 때문에 삭제할 수 없습니다. Sigil이 자동으로 선언한 doctype만 삭제하면 EPUB 2와 호환되는 파일을 만들 수 있습니다.(고정 레이아웃을 지원한다면요^^)


<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"

 "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">


이 부분을 삭제해 주세요




9. 끝으로 &nbsp;&#160;로 바꿔줍니다. EPUB 3에서는 &nbsp;를 사용할 수 없습니다. 공백 문자는 &#160;으로 대체 가능합니다. 




반응형
posted by 내.맘.대.로 2016. 1. 27. 11:30

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

교보문고 뷰어가 EPUB 3를 지원합니다.

기능은 오래 전부터 들어 있었는데 UI가 제대로 정리되지 않아 사용을 하지 못했지요.

그런데 이번에 EPUB 3를 공식 지원하는 업데이트가 있었습니다.

그리고 베스트 1위 자리에서 내려올 생각을 하지 않는 '미움받을 용기'를 EPUB 3로 만들어 판매를 하고 있습니다. 


미움받을 용기(EPUB3)   (무료 체험판)


이 책을 보다가 본문을 스크롤로 보는 방식에 관심이 생겼습니다.

웹소설은 모두 스크롤로 보는데 장르 단행본은 페이지 넘김으로 봐야하잖아요.

웹소설에 익숙한 독자라면 단행본도 스크롤로 보고싶지 않을까 하는 생각이 들었어요.



'미움받을 용기'에서 본문을 스크롤로 읽는 방식은 마음에 들었는데

고정레이아웃이라 글자 크기를 조절할 수 없는 부분이 아쉬웠습니다.

그래서 본문을 스크롤로 읽지만, 고정레이아웃에서 글자 크기를 변경할 수 있는 샘플을 만들어 봤습니다. 


쉽게 사용할 수 있도록 최대한 간단히 만든거라 샘플 파일 보고 조금만 연습하면 이해할 수 있을거예요.

(참... sigil로 작업을 하다보니 opf:role 속성을 수정하지 않았습니다. 그래서 검증을 하면 opf 오류가 보일거예요. 기능상의 이상은 없습니다.)



◇ 샘플 파일 설명


1. EPUB 3 고정 레이아웃 제작에 대한 부분은 따로 설명하지 않습니다. 이 부분은 EPUB 3 설명할 때 자세히 다루겠습니다.


2. 고정레이아웃에서 본문을 화면 스크롤로 보기


- 화면 스크롤은 CSS에서 지원이 됩니다. 간단히 화면 스크롤을 적용할 수 있습니다.

- 이 CSS가 제대로 작동을 하려면 EPUB 3 고정 레이아웃으로 제작되야 합니다. 


- 고정 레이아웃에서 화면 스크롤 CSS

div.txt_scroll {

overflow-y:scrole;

overflow-x:hidden;


-webkit-overflow-scrolling: touch;

overflow-scrolling: touch;


width:720px;

height:1098px;

}


- 화면 스크롤 적용 방법


<div class="txt_scroll">


    <p>여자는 자신을 돌아봤다.</p>


    <p><br/></p>


    <p>'나'라는 가장 직시하고 싶지 않은 자신을 봐 버린 여자. 사랑은 안되고 섹스는 되는 쉬운 여자라는 걸 오늘 또 한 번 깨닫게 되었다.</p>


    <p>회사 안에서 몇 번 마주쳤지만 그는 자신을 알아보지 못했고 자신 또한 그와 자신이 대학 동기였다는 것을 알리고 싶지 않았다.</p>


    <p>두 달 전 대학 동기들 모임 안내를 받고 망설였다.</p>


    <p>해외 지사에 있다가 얼마 전에 돌아온 그가 동창 모임에 얼굴을 내밀 것이라고는 생각하지 못한 여자는 오늘 무슨 일이 있어도 남자와 얽히고 싶지 않아 조심했다.</p>


    <p>어떻게 된 걸까?</p>

 ...

</div>



3. 글자 크기 변경 스크립트

- 고정 레이아웃은 글자크기를 조절할 수 없습니다. PDF처럼 화면을 확대/축소해서 글자를 키웁니다.

- 그러다보니 폰에서는 글자가 너무 작은데 태블릿에서는 글자가 너무 크게 보이는 등의 문제가 생깁니다.

- 스크롤 방식의 텍스트 도서라면 고정레이아웃이어도 글자 크기를 변경할 수 있습니다. 화면이 틀어지지 않아요.


- 글자 크기 조절 스크립트

function fontResize(font_size) {

if (document.body.style.fontSize == "") {

document.body.style.fontSize = "100%";

}

document.body.style.fontSize = parseFloat(document.body.style.fontSize) + (font_size) + "%";

}

* 인터넷에 공개된 스크립트를 약간 수정했습니다.


- 스크립트 적용 방법

<body>

<div class="chap_title">

<h3>1. 어떻게 된 걸까?</h3>


<div class="button_up" onclick="fontResize(20)" role="button">

<p>A</p>

</div>


<div class="button_down" onclick="fontResize(-20)" role="button">

<p>A</p>

</div>

</div>


<div class="txt_scroll">


<p>여자는 자신을 돌아봤다.</p>


<p><br/></p>


<p>'나'라는 가장 직시하고 싶지 않은 자신을 봐 버린 여자. 사랑은 안되고 섹스는 되는 쉬운 여자라는 걸 오늘 또 한 번 깨닫게 되었다.</p>

 ...

</div>

</body>


- 스크립트를 js파일로 연결하거나 <script> 영역에 삽입합니다.

- 텍스트 크기 조절 버튼을 <div...>여기</div>에 넣습니다. 이미지여도 좋고, 텍스트여도 좋습니다. 저는 텍스트를 추가하느라 <p> 태그를 사용했는데 <img../> 태그를 사용하면 이미지를 넣을 수 있습니다. (p 태그에 있는 A를 스타일로 글자크기를 축소버튼 15px, 확대버튼 35px로 주어 확대/축서 버튼을 구분합니다.)

- onclick="fontResize(20)"은 글자 크기를 20%씩 키웁니다. 10%씩 키우고 싶다면 20 대신 10을 넣으면 됩니다. 

- onclick="fontResize(-20)"은 글자 크기를 20%씩 줄입니다. -10%씩 키우고 싶다면 20 대신 10을 넣으면 됩니다. 

반응형
posted by 내.맘.대.로 2016. 1. 21. 16:31

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

정규표현식을 아시나요?

구글에서 검색해 보세요. 그럼 아주 많은 자료가 나옵니다.

개발자들에게는 아주 익숙한 단어인데 전자책을 편집하는 분들은 화성어 같을거예요.


개발자나 쓰는걸 왜?


정규표현식은 이런거예요.


\d

[A-Za-z]

(.*)

[\x{4E00}-\x{9FFF}]


점점 더 뭔소리인지 모르겠지요?

이런게 전자책 편집하고 무슨 상관이 있나 싶어 창을 닫는다면 1시간짜리 편집 시간을 1분으로 줄일 수 있는 엄청난 기회를 버리는겁니다 ^^


Sigil은 검색 기능, 다시 말해 찾기와 찾아바꾸기에서 정규표현식을 지원합니다.

긴 설명 대신 간단한 예를 먼저 보여드릴게요.


조선 세종(朝鮮 世宗, 1397년 5월 7일[1] (음력 4월 10일) ~ 1450년 3월 30일 (음력 2월 17일), 재위 1418년 ~ 1450년)은 조선의 제4대 왕이다. 성(姓)은 이(李), 휘(諱)는 도(裪), 본관(本貫)은 전주(全州), 자(字)는 원정(元正), 아명은 막동(莫同)이다. 세종은 묘호(廟號)이며, 시호(諡號)는 영문예무인성명효대왕(英文睿武仁聖明孝大王)이고, 명에서 받은 시호는 장헌(莊憲)이다. 존시를 합치면 세종장헌영문예무인성명효대왕이 된다. 태종(太宗)과 원경왕후(元敬王后)의 셋째 아들이며, 비는 청천부원군(靑川府院君) 심온(沈溫)의 딸 소헌왕후 심씨(昭憲王后 沈氏)이다.


위 문장에서 한글 옆에 붙은 한자만 스타일을 바꿔야 할 때 지금까지 어떤 방법을 쓰셨나요?


1. 하나씩 찾아서 스타일을 적용했다면 300페이지짜리 책 한권을 전부 바꾸는데 얼마나 걸릴까요?

2. 조금 센스가 있는 분들은 괄호를 찾아바꾸기로 변경했을거예요. 그럼 이런 편집은 어떻게 바꾸세요?

조선 세종(朝鮮 世宗, 1397년 5월 7일[1] (음력 4월 10일) ~ 1450년 3월 30일 (음력 2월 17일), 재위 1418년 ~ 1450년)은 조선의 제4대 왕이다. 성姓은 이李, 휘諱는 도裪, 본관本貫은 전주全州, 자字는 원정元正, 아명은 막동莫同이다.


위 문장의 한자만 본문 글자와 구분하기 쉽게 파란색으로 바꾼다면? 괄호도 없으니 하나씩 찾아 수정을 해줬을거예요.

그러다보면 시간도 오래 걸리고 놓치는 한자도 생깁니다.


이럴 때 정규표현식을 사용합니다. 

위 내용을 Sigil에 넣은 후 아래처럼 따라해보세요.

이미지 아래쪽에 빨간색 표시되 부분이 있습니다.


 4200~ 9FA5 + FA00 ~ FAD9


1. 찾기를 불러온 후, ([一-龥]+ ) ([一-龥豈-龎]+)를 찾기 영역에 넣고 

   * ([一-龥]+ )([一-龥豈-龎]+)이건 그냥 외우세요. 어디 적어두면 편합니다. 한일(一) 부터 부를유(龥) 사이에 있는 글자를 의미하는데 유니코드의 코드표에 한자 영역에 해당합니다. 유니코드는 또 뭐지? 하시겠지만, 몰라도 사용하는데 큰 문제 없어요. 궁금하신 분들은 검색~~


   * 아라크네 전병욱님의 문의가 있어 확인해 보니 유니코드 한자 영역을 전부 포함하지 못하는 문제가 있었습니다. 그래서 한자 찾는 식을 업데이트 했습니다.


     ([一-龥豈-龎]+)

    

樂의 기본 코드는 6A02로 一[4E00] ~ 龥[9FA5] 사이에 포함이 되는데 '락'으로 발음을 할 때는 같은 한자라도 F95C 코드로 표현이 됩니다. F95C는 9FA5에 포함되지 않아 '안락사安樂死'는 ([一-龥]+ ) 이 식으로 찾을 수 없었습니다. 그래서 CJK 한자 영역까지 확장을 해서 식을 수정했습니다. 豈-龎의 네모(龎)는 깨진 글자가 아니라 유니코드 FAD9에 해당하는 코드입니다. 이 한자 범위라면 일상에서 사용하는 대부분의 한중일 한자를 찾을 수 있습니다.


유니코드를 사용하려면

([\x{4E00}-\x{9FFF}])


2. 방식 항목에서 [Regex]를 선택한 후 [찾기]를 해보세요

   * 한자만 골라서 찾습니다. 찾기를 누를 때마다 한자만 골라서 찾아요. 눈치 빠른 분들이라면 '바꾸기' 하면 끝이네. 하고 생각하셨을거예요 ^^




바꾸기 방법도 약간의 규칙이 있습니다. 먼저 아래 이미지를 보세요.

한자의 색을 빨간색으로 해서 클래스를 하나 만들고, span으로 묶어줄게요.

그러면 바꾸기 영역에 이렇게 입력을 합니다. 


<span class="hanja">\1</span>


여기서 중요한건 \1이라는 식입니다. 

\1은 ([一-龥]+)로 찾은 내용을 그대로 넣으라는 의미예요.


([一-龥]+)로 해서 찾은 부분이 <span class="hanja">\1</span> 이렇게 바뀌게 됩니다. 

300페이지짜리 책 한권 분량을 바꾸는데 10초쯤 걸립니다 ^^(컴퓨터 성능에 따라 시간 차이가 날 수 있어요 ^^)




한자만 바꿀 수 있는거야?

영문도 가능해요.


[A-Za-z] 이렇게 해주면 대문자 A부터 Z까지, 소문자 a부터 z까지 찾아줍니다.

[A-Z]만 하면 대문자 A부터 Z까지 찾아주고 소문자는 찾지 않습니다.

그런데 이렇게만 하면 알파벳 한자씩 찾게 됩니다. 그래서 단어를 찾고싶다면 


[A-Z]+ 이렇게 +를 추가해줍니다.


그리고 Sigil에서 찾아바꾸기를 하고 싶다면 하나의 찾기 묶음이라고 표시하기 위해 괄호에 넣어줍니다.


([A-Za-z]+)


한글을 찾는다면 [가-힣]이 되고, 다른 기호나 그림문자를 찾고 싶다면 유니코드 표를 보시면 되요. 유니코드 표에서 시작되는 지점의 기호와 끝나는 지점의 기호를 대괄호로 묶어주면 됩니다.


#&*@....☞ 이런걸 찾고싶다면 [#-☞] 이렇게 하면 됩니다.



글자 바꾸는게 끝?


편집하는 책이 10개 장으로 나눠져 있고, 각 장마다 10개의 절이 있다면 제목 편집을 어떻게 하세요?

하나 하나 찾아서 110개를 모두 바꿔주시나요?


이렇게 코드를 수정해야 할 때도 정규표현식을 사용합니다.

아래 예를 보세요. 

p 태그로 장 제목이 묶여 있는데 찾아바꾸기로 p 태그 대신 h2 태그로 교체하는 식입니다.

직접 해보세요 ^^


10개의 장과 각 장마다 10개의 절이 있는 책이라도 제목 수정하는데 10초면 됩니다. 패턴을 찾고 식을 세우는 시간까지 고려하면 2~3분정도 걸리고요 ^^


장과 절 제목은 일정한 패턴이 있습니다. 지금까지 편집했던 책 중에 패턴을 찾지 못한적은 한번도 없어요.

간혹 애매한 패턴이 있는데 그럴때는 장 제목과 절 제목 앞에 책에 나오지 않는 적절한 기호를 추가합니다. 예를 들면


===

1장

====

1절


이렇게요. 




이 외에도 정규표현식을 어떻게 쓰느냐에 따라 단순 반복해야 하는 작업을 찾아바꾸기 한번으로 간단히 끝낼 수 있습니다. 

끝으로 제가 전자책 편집을 할 때 자주 사용하는 정규표현식 몇가지를 정리합니다.


  1. 1. 바꾸기 정규표현식으로 찾은 내용을 그대로 넣기
    1. 정규표현식 : \1
    2. 사용
      1. 찾을 내용 : <h2>(.*)</h2>
      2. 바꿀 내용 : <h3>\1</h3>
    3. 설명 : 태그 안의 텍스트는 그대로 <h2> 태그를 찾아 모두 <h3>태그로 바꿔줌.

  2. 2. 태그 내용에 상관 없이 특정 태그 찾기
    1. 정규표현식 : (.*)
    2. 사용
      1. 찾을 내용 : <h2>(.*)</h2> : 내용에 상관 없이 <h2></h2> 모두 찾아줌
      2. 찾을 내용 : <p class="txt_center">(.*)</p> : <p class="txt_center"> 시작하는 문단을 모두 찾아줌
    3. 설명 : 태그 사이에 어떤 내용이 있든 상관 없이 (.*) 앞뒤에 내용이 일치하면 찾아줌
       
  3. 3. 최소로 일치하는 내용
    1. 정규표현식 : (?sU)
    2. 사용
      1. 검색 대상 문단 :
        <p>
        <span class="txt_aut">작가명</span> : <span class="<txt_name">홍길동</span></p>
      2. 찾을 내용 : (?sU)<span class="txt_aut">(.*)</span>
    3. 설명 : 2 식으로 검색 대상 문단을 검색하면 노란색 형광펜 처리한 영역을 찾게 된다. 이럴 최소 일치 영역 (?sU) 설정하면 <span class="txt_aut"> 뒤에 첫번째로 나오는 </span> 찾아준다.

  4. 4. 숫자 찾기
    1. 정규 표현식 : \d, \d\d, \d+
    2. 사용
      1. 검색 대상 문단

<h2>1 정규표현식 숫자 찾기</h2>

<h2>10 정규표현식 숫자 찾기</h2>

  1. 찾을 내용 : \d : 노란색 형광펜 표시 영역을 찾아줌
  2. 찾을 내용 : \d\d : 빨간색 형광펜 표시 영역을 찾아줌
  3. 찾을 내용 : \d+ : 노란색과 빨간색을 모두 찾아줌

 

  1. 설명 : \d 숫자 하나를 의미함. \d\d 두자리, \d\d\d는 세자리… 찾아준다. \d+ 자릿수에 관계 없이 모든 숫자를 찾아준다.

  1. 5. 한글/한자 찾기
    1. [-] [一-龥]



반응형
posted by 내.맘.대.로 2016. 1. 20. 14:05

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

Sigil 공식 홈페이지 http://sigil-ebook.com/


전자책 편집을 하는 분들은 대부분 Sigil을 사용하실거예요.

무료로 사용할 수 있고 다른 전자책 저작도구보다 기능이 막강합니다.

어... 막강하다니? 별 기능 없던데. 라고 생각하신 분들은 Sigil에 대해 잘 모르는 분들이겠지요.


최근에 Sigil로 전자책을 편집하다 당혹스러웠던 경험이 있습니다. 

0.8.x 버전까지 잘 사용하던 기능들이 사라졌더라고요.

가장 많이 의존했던 기능 중 하나는 코드 자동 정리 기능.

그런데 이 기능은 EPUB 3을 편집할때는 아주 불편했습니다.

EPUB 3용으로 코드를 바꿔도 계속 EPUB 2용으로 변경됐으니까요.


그리고 EPUB Checker가 이상하게 변했습니다. 

전에는 F7 버튼을 누르면 EPUB Validator로 검증을 해줬는데 이젠 Well-Formed Check EPUB으로 바뀌었습니다. 

무슨 차이가 있는지는 아직 확인을 하지 못했지만, EPUB Validator 대신 플러그인으로 FlightCrew를 제공하고 있네요.


Sigil 0.9.2 버전에서는 이 부분이 해결됐습니다.

그리고 이전에는 많이 사용하지 않았던 몇가지 기능들이 플러그인 성능이 개선되면서 쓸모있게 바뀌었습니다. 


Sigil 0.9.2에서 이전 버전과 크게 바뀐점 3가지를 정리해 봅니다.


1. Reformat HTML


이전 버전에서는 [편집 > 설정 > Clean Source]에서 Pretty Print Tidy와 HTML Tidy 방식 중 하나를 선택하도록 했습니다. 파일을 저장하거나 코드보기에서 책보기로 전환할 때 자동으로 체크를 해서 잘못된 HTML 코드를 수정하고, 코드를 보기 좋게 정렬해 줬습니다. 그런데 이 방식은 '강제'성이 높아 EPUB 2 표준에 위배되면 사용자가 필요해서 추가한 코드도 바꾸거나 삭제했습니다.


▷ Sigil 0.8.x 버전의 기본 설정


그런데 이 부분이 사라졌습니다. Clean Source는 그대로 남아있지만 Cleaning 방식을 선택하는 부분은 없습니다. 그리고 Mend XHTML 방식으로 변경됐습니다. 

좋은 점은, Sigil이 사용자가 추가한 코드를 마음대로 바꾸지 않는다는 것이고, 대신 예전처럼 저장/불러오기 할 때 잘못된 코드를 바로잡아 주지 않게 됐습니다.


그럼 코드 정리는 어떻게 해야할까요?

이 기능을 따로 분리해서 [도구 > Reformat HTML]이라는 메뉴로 추가를 해놨네요.

그냥 코드보기 화면에서 마우스 오른쪽 버튼을 눌러도 됩니다.

저장 한번으로 끝나던걸 메뉴 한번 더 눌러야 하는 불편은 생겼지만, 이제 Sigil로도 EPUB 3 코드를 추가할 수 있게 됐습니다.




2. 부분적인 EPUB 3 지원


EPUB 2와 EPUB 3를 구분하는 기준은 몇가지가 있습니다. 그 중 하나는 네비게이션. EPUB 2는 NCX 방식을 지원하지만 EPUB 3는 XHTML 파일로 목차를 만들어야 합니다. 메타데이터에서 opf: 속성으로 역할을 부여하는 것도 EPUB3에서는 사라졌지요. 그리고 무엇보다 패키지 버전과 DOCTYPE이 중요합니다.


▷ OPF의 패키지 버전

<package unique-identifier="BookId" version="2.0" xmlns="http://www.idpf.org/2007/opf">


▷ XHTML 파일의 DOCTYPE 선언

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


이 두가지는 0.7.x 버전에서는 변경이 불가능했습니다. 0.8.x 버전에서는 확인을 못해봤네요 ^^;

이제 OPF의 패키지 버전을 version="3.0" 으로 고칠 수 있습니다.

그리고 <html>에서 네임스페이스를 제대로 지정해 주면 (목차파일도 생성해 주고...) Sigil로도 EPUB 3과 호환이 되는 EPUB 2 파일을 만들 수 있습니다. 


DOCTYPE을 삭제하면 강제로 추가됩니다. EPUB 3에서는 html 태그에 네임스페이스를 지정하는 방식으로 바뀌어 DOCTYPE이 필요 없지만(우욱님이 알려주셨어요^^) Sigil은 EPUB 2 기반 편집기라 DOCTYPE를 삭제할 수는 없습니다. 대신 아래처럼 DOCTYPE을 선언해 주기만 하면 됩니다. 

<!DOCTYPE html>



3. 개선된 플러그인 기능


▷ 공식적으로 목록이 제공되는 Sigil 플러그인

Sigil Plugin Index : http://www.mobileread.com/forums/showthread.php?t=247431


1. AddStyleFont

Iterates through the font files and creats a StyleFont.css file in the book.


2. AddImgasSVG

Simple svg image scraper


3. AdjustSVG

Checks and corrects image dimensions of image wrapped in svg


4. Borkify ePUB

Output plugin to borkify an epub to alter all text


5. CleanOPF

Removes extraneous metadata entries in the OPF


6. Easy Endnote Insertion

This is a plugin for easy insertion of epub 2.0 style notes.

http://www.mobileread.com/forums/sho...d.php?t=265104


7. ePUB Optimizer

Subsets fonts and optimizes images


8. ePub3-itizer - epub3 output plugin

Create ePub 3 from valid ePub2


9. epubcheck plugin

Simple epubcheck wrapper


10. ePubTidyTool

Cleans up ebooks converted from pdf files


11. icarus Sigil Plugin

This is a plugin can be used to create EPUB 3 Audio-ebooks


12. Incremental IDs Plugin

This is a plugin can be used to add incremental ids to tags that match specific criteria


13. Kindle Import plugin

Open Kindle files for editing in Sigil


14. kindlegen plugin

Simple kindlegen wrapper


15. Pagelist Plugin for Print Edition Page Numbers

This is a plugin generate NCX pagelist sections from special span tags


16. PasteImage Plugin

Add a jpeg image to ebook from clipboard image or url


17. SanityChecker

Quick basic epub xhtml sanity checker


18. ShadyCharacters

Exposes many invisible unicode characters that can elude the eye


19. Smarten Punctuation plugin

Convert quotes and dashes to their typographic equivalents


20. smoothRemove plugin

A remove formatting plugin


21. URL Checker Plugin

Checks and reports on external links in your ebook



Sigil 공식 홈페이지에 들어가 보면 Sigil 업데이트 정보 아래쪽에 'Don’t Forget FlightCrew'라는 글이 보입니다. 

처음에는 무슨 소리인가 싶었는데 0.8.9 버전 이후부터는 EPUB 2 Validator를 플러그인으로 제공하더라고요.

FlightCrew 깃허브(https://github.com/Sigil-Ebook/flightcrew/releases/tag/0.9.0)에서 다운받은 후, 플러그인으로 추가하면 됩니다. 


추가하는 방법은 간단합니다. 깃허브에서 FlightCrew를 운영체제에 맞게 다운로드 한 후(윈도우라면 FlightCrew_v0.9.0win.zip)

메뉴의 [Plugins > Manage Plugins]를 누르세요. 

플러그인 관리 창이 뜨면 [Add Plugin]을 누른 후 다운로드 받은 압축파일을(압축 풀지 마세요!!!) 선택하면 됩니다.






플러그인이 등록되면 [Plugins > Validation > FlightCrew]라는 메뉴가 추가됩니다.

FlightCrew 이외에도 도움이 되는 플러그인이 많이 있으니 잘 활용하면 전자책 만들때 큰 도움이 될거예요 ^^

반응형

'Sigil 사용 설명서' 카테고리의 다른 글

Sigil 0.9.7 업데이트  (0) 2016.11.02
Sigil EpubCheck 플러그인  (0) 2016.10.20
Sigil 0.9.5 버전 업데이트  (0) 2016.03.30
Sigil 0.9.4 버전 업데이트  (2) 2016.03.14
Sigil 0.9.3 업데이트 - EPUB 3 기능 강화!  (0) 2016.02.15
posted by 내.맘.대.로 2016. 1. 19. 09:01

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

1. EPUB이란

2. EPUB 만들 때 이것만은

3. EPUB 제작을 위한 쉽고 간단한 HTML

4. CSS, 전자책 편집의 시작과 끝

5. 편집하고 바로 읽는 EPUB 3


HTML이 글자와 이미지를 뷰어에 나타나도록 해준다면 CSS는 글자와 이미지를 어떤 모습으로 보여줄지 결정한다. 이 장의 제목을 [CSS, 전자책 편집의 시작과 끝]이라고 지은 것은 CSS를 다루는 게 편집자의 편집 능력을 결정짓는 중요한 요소이기 때문이다. 마크업 언어가 웹사이트의 몸체를 담당한다면 CSS는 옷과 액세서리 같은 꾸미는 역할을 담당한다. , HTML 구조는 그대로 두고 CSS 파일만 변경해도 전혀 다른 웹사이트처럼 꾸밀 수 있다.(https://ko.wikipedia.org/wiki/종속형시트 참조)

 

초보 전자책 편집자가 실수를 가장 많이 하는 부분이 CSS이고, 전자책의 코드가 지저분해지는 이유 역시 CSS 때문인 경우가 많은데 이번 장에서는 CSS를 사용할 때 주의할 내용과 전자책 편집에 많이 쓰이는 CSS 속성과 사용법을 알아본다.

 

CSS

CSS는 웹문서를 꾸미기 위한 서식, 도구모음이다. 다만 워드프로세서의 서식은 마우스로 선택해서 지정하지만 CSS{font-size : #112233;}처럼 코드로 입력한다는 차이가 있다.

웹문서 편집기도 이런 기능을 제공한다. 그러나 종이에 인쇄를 목적으로 스타일이 고정된 일반 문서와 달리 웹문서는 화면 크기, 해상도, 다양한 액션(마우스 클릭, 슬라이드, 터치 등)에 따라 스타일이 달라지기 때문에 서식과 도구모음으로 표현하기에 한계가 있다. 전자책 역시 웹문서처럼 다양한 기기에서 다양한 스타일이 적용되기 때문에 기본 제공 서식으로는 표현할 수 없는 스타일이 많이 있다. 그래서 Sigil같은 전자책 편집 프로그램은 최소한의 기본 서식만 제공하고 코드창에서 편집자가 CSS를 직접 편집하는 기능을 제공한다.

 

CSS 사용시 주의사항

기본 편집 기능에 의존하지 말자 컴퓨터 프로그래밍을 해보지 않은 전자책 편집자들은 CSS의 개념을 이해하기 어려워한다. 그 때문에 기존 문서 프로그램과 비슷한 위지윅 기반의 전자책 편집 프로그램을 사용하는 편집자가 있는데 HTMLCSS를 모르고 편집 기능에만 의존하면 아래 그림처럼 코드가 엉망이 된다. 이런 코드는 뷰어에서 오류를 일으키며 뷰어의 사용자 지정 스타일과 충돌한다.


스타일 지정이 잘못된 코드의 예


코드는 간결하게! CSS는 최대한 간결하게 정리하는 것이 좋다. 거듭해 말하지만, 코드가 간단할수록 문제가 발생할 가능성이 줄어들기 때문이다. 그리고 편집시간도 준다. 코드가 복잡하다고 해서 편집이 정교해지는 것이 아니며, 간결할수록 편집 결과물이 정교하다.

 

 

여러 태그에 3개 스타일 사용, 2개 태그에 2개 스타일 사용

 

다양한 기기를 고려하자 전자책 편집이 어려운 이유 중 하나는 다양한 환경을 고려해야 한다는 점이다. 4인치 스마트폰에서 40인치 TV까지 어떤 기기에서도 전자책을 볼 수 있다. 20대 학생은 10포인트로 읽을 테고 60대 독자는 20포인트로 글자를 본다.

책 편집자라면 텍스트에 담긴 의미 뿐 아니라 텍스트가 어떻게 보이는지도 책 내용을 전달하는데 중요하다는 걸 알 것이다. 스타일을 잘못 지정하면 편집자가 전달하고자 하는 책의 모양을 제대로 담을 수 없다. 여기서 또 한번 스타일이 간결해야 하는 이유가 나온다. 위에서 예로 든 복잡한 스타일과 간결한 스타일의 결과를 보면 아래와 같다.

 

스타일이 잘못 지정하면 같은 책이라도 다르게 보인다.(같은 스타일, 뷰어 글자 크기 변경)



 

화면이나 글자 크기가 바뀌더라도 일정한 패턴을 보여준다.

 

기본 태그를 최대한 활용하자 HTML은 다양한 기능의 태그를 제공한다. 제목(h1~h6), 본문(p), 첨자/주석(sup, sub), 인용(cite, blocquote), 강조(strong, em) 등 책 편집에 필요한 태그가 있다. 이 태그는 기본 스타일이 지정돼 있지만 CSS로 스타일을 바꿀 수 있다. 기본 태그를 사용하면 편집 시간을 줄이고 코드를 간결하게 할 수 있다.

 

외부 스타일을 사용하자 스타일을 인라인, 내부, 외부 스타일 이렇게 세가지 방법으로 지정할 수 있다. 인라인 스타일은 태그 안에 직접 스타일을 지정한다. 태그별로 스타일을 지정해야 하기 때문에 편집 시간이 오래 걸린다. 내부 스타일HTML 파일의 헤더<head> 영역에 스타일을 지정해 사용한다. 각각의 HTML 파일에 스타일을 지정해서 인라인 스타일보다 편집하기 쉽다. 외부 스타일은 별도의 CSS 파일을 만들어 쓰는데 이 CSS파일 하나만 수정하면 문서 전체의 스타일이 바뀐다.

스타일은 책이 열리는 속도에도 큰 영향을 준다. 외부스타일은 뷰어가 한번만 분석하면 되기 때문에 인라인이나 내부 스타일보다 빠르고 안정적으로 책이 열릴 수 있다. 그렇기 때문에 특별한 경우가 아니라면 외부스타일을 사용하기를 권한다.

 

인라인 스타일

<p style="font-size : 1em;">글자 크기 1em</p>

 

내부 스타일

<head>

<style>

p {font-size : 1em;}

</style>

</head>

<body>

<p>글자 크기 1em</p>

</body>

 

외부 스타일

style.css

p {font-size : 1em;}

 

sample.html

<p>글자 크기 1em</p>

 

CSS 기본 문법

CSS는 구조가 간단하다. 선택자, 속성, 값 세 개의 구성 요소로 되어 있고, 하나의 선택자에 여러개의 값과 속성이 올 수 있다.

 

CSS 구조(016)

 

선택자는 여러개의 속성과 값을 문서에 반영하는 역할을 한다. HTML 태그나 사용자가 임의로 만든 클래스를 사용하는데 클래스를 만들 때는 점(.)으로 시작하고 영문, 숫자, 하이픈(-), 언더바(_) 등을 사용할 수 있다. 속성은 글자 모양, 줄간격, , 배경 등 180여개가 있다. 값 역시 속성별로 정해져 있는데 값에도 규칙이 있어 속성별로 어떤 값이 들어가야 하는지는 CSS를 몇 번 이용해 보면 쉽게 알 수 있다. 크기, 간격에 해당하는 속성이라면 1em, 1px, 1cm, 1%등 길이나 크기에 대한 값이 오고, 색이 필요한 속성이라면 blue, #0000FF처럼 색에 대한 값이 온다.

 

@font-face 전자책에서 쓸 글꼴을 정하는 속성으로 font-family 글꼴의 이름을 지정하고 영문, 한글, 숫자에 모두 사용 가능하고 공백을 포함할 수 있다. 공백을 포함할 때는 반드시 따옴표(“”)로 묶어줘야 한다. src: url(...)은 글꼴 파일의 위치를 알려주는데 경로와 파일명은 영문, 숫자를 사용하고 반드시 대소문자를 구분해서 쓴다.

@font-face {

font-family: “기본 글꼴”;

src: url(../Fonts/NanumPen.ttf);

}

 

font-size : 글자 크기를 조절 크기를 조절하는 값은 %, em, px, cm 등을 사용할 수 있다. 기기의 기본 글꼴에 따라 크기가 조절되는 %em을 사용을 권한다.

 

사용 방법

p { font-size : 1.5em; }

 

본문에 사용

<p>기본 글자보다 1.5배 커집니다.</p>

 


 

text-align : 글자를 왼쪽, 가운데, 오른쪽, 양쪽 정렬

 

사용 방법

p { text-align : justify; }

.txt_left { text-align : left; }

.txt_center { text-align : center; }

.txt_right { text-align : right; }

 

본문에 사용

<p>문단의 오른쪽 끝이 균일하게 정리됩니다. 문단의 기본 스타일로 지정하는 것을 권합니다. </p>

<p class="txt_left">단어나 문장이 왼쪽으로 정렬됩니다. </p>

<p class="txt_center">단어나 문장이 가운데로 정렬됩니다.</p>

<p class="txt_right">단어나 문장이 가운데로 정렬됩니다.</p>

 


 

text-indent : 들여쓰기 들여쓰기는 내어쓰기로 활용할 수 있다. CSS에서는 들여쓰기(text-indent) 속성만 있고 내어쓰기 속성은 없는 대신 들여쓰기에 마이너스(-1em) 값을 줄 수 있다. , 내어쓰기를 할때는 왼쪽에 padding으로 여백을 둬야한다. 여백을 두지 않거나 margin으로 여백을 둘 경우 독자들 눈에는 보이지 않지만 뷰어는 아래와 같은 편집 오류가 발생한다.

 

사용 방법

p { text-indent : 1em; }

.txt_outdent { text-indent : -1em; padding-left : 1em; }

 

본문에 사용

<p>들여쓰기를 하면 문단이 처음 시작되는 부분에 편집자가 지정한 간격만큼 들여쓰기 됩니다. </p>

<p class="txt_outdent">들여쓰기 속성으로 내어쓰기를 할 수도 있습니다. 내어쓰기를 할 때는 마이너스 값(-1em;)을 줍니다.</p>

 


 

margin을 적용하거나 여백을 두지 않으면 테두리를 그렸을 때 편집 오류를 확인할 수 있다.

 

line-height : 줄 간격을 조절함

 

사용 방법

p { line-height : 1.8em; }

 

본문에 사용

<p>HTML의 기본 줄간격은 가독성이 좋지 않습니다. 뷰어에 따라 차이가 나지만 1.5em ~ 1.8em으로 줄간격을 설정하면 가독성이 높아집니다.</p>

 


 

4.4.2 글상자에 사용하는 속성

 

margin, padding 글상자 바깥쪽, 안쪽 여백을 규정하는 marginpadding은 쓰임이 완전히 다르다. 이 차이를 잘 구분해야 하는데 HTML 태그로 글자를 표현하면 가상의 글상자 안에 글자가 들어간다. 이 글상자는 border 속성을 사용해 테두리를 그리면 눈에 보이는데 margin은 글상자 바깥쪽, padding은 글상자 안쪽 여백을 지정한다. 위에서 설명한 text-indent에서 padding을 사용해 여백을 줘야 하는 이유도 이 때문이다.

 

margin은 상하좌우 4가지 속성으로 구분해서 쓴다. margin-top, margin-bottom, margin-left, margin-right으로 원하는 방향만 여백을 줄 수 있다. 또한 margin 하나에 2, 3, 4개 값을 사용할 수도 있다.

 

사용 방법

.box_margin_2 { margin : 2em; }

.box_padding_2 { padding : 2em; }

 

본문에 사용

<p class="box_margin_2">margin은 글상자 바깥쪽의 여백을 지정하는 속성입니다.</p>

<p class="box_padding_2">padding은 글상자 안쪽의 여백을 지정하는 속성입니다.</p>


 

테두리를 그려 보면 marginpadding의 차이를 알 수 있다.

 

border : 글상자 바깥쪽, 안쪽 여백 border는 여러 값이 모두 포함되야 하는 속성이다. 이중 선의 종류는 반드시 넣어야 한다. 두께, 색은 기본값이 정해져 있지만 선은 정해져 있지 않기 때문에 선 종류를 지정하지 않으면 테두리가 표현되지 않는다.

 

사용 방법

.txt_box { border : solid 2px red; }

 

본문에 사용

<div class="txt_box">

<p>글상자는 선 종류, 두께, 색깔 이렇게 3가지 값을 갖습니다.</p>

</div>


 

 

구분

기본값

선 종류

(style)

필수항목

solid(실선)

dotted(점선)

dashed(

double(이중 실선)

groove, ridge, inset, outset

두께

(width)

medium

medium

thin

thick

px(숫자로 입력)

(color)

#000000(검정)

혹은 상속 값

#000000

rgb(0,0,0)

black

 

border는 각각의 값을 나눠서 표현할 수 있다. border-color, boder-style, boder-width로 구분해 표현이 가능하다. 이렇게 구분을 하면 margin에서처럼 상하좌우 값을 다르게 적용하는 것도 가능하다. 또한 이 속성들은 border-left-color처럼 상하좌우를 개별적으로 지정할 수 있다.

 

예제

.txt_box { border-style : solid dotted dashed double; }

<div class="txt_box">

<p>border-style을 사용하면 상하좌우 스타일을 다르게 지정할 수 있다.</p>

</div>

(024-1)

 

border-radious : 둥근 모서리 border-radius는 글상자 테두리를 둥글게 처리해 주는 속성이다. border-radius의 값을 조절하면 모서리의 둥근 정도를 조절할 수 있다.

 

사용 방법

.txt_box_round { border : solid 2px red; border-radius : 25px }

 

본문에 사용

<div class="txt_box_round">

<p>글상자의 모서리를 둥글게 처리하고 싶다면 border-radius를 사용한다.</p>

</div>



 

CSS 활용법. 나만의 템플릿 만들기

style.css 파일 만들기 메모장이나 sigil 등 텍스트 파일일 편집할 수 있는 프로그램으로 style.css 파일을 만든다. 메모장을 열고 [파일 > 새이름으로 저장]을 하거나 sigil에서 [빈 스타일 시트 추가]를 한다. 파일이름은 원하는대로 지정하되 영문과 숫자만 사용한다. 새로 만든 스타일 시트(여기서는 style.css)에 다음에 설명하는 속성들을 모두 추가한다.

 

공통 속성 공통 속성으로 marginpadding0으로 설정한다. HTML의 기본 문단 간격은 줄간격보다 넓다. 공통속성으로 marginpadding0으로 설정하면 이 문제를 해결할 수 있다. 선택자 *를 사용하면 모든 태그에 속성이 상속된다.

 

* { margin : 0; padding : 0;}

 

 

HTML의 기본 문단 간격은 줄간격보다 넓다. 공통 속성으로 margin과 padding 간격을 조절해 해결할 수 있다.

 

기본 글꼴 설정 많은 편집자들이 글꼴을 지정할 때 [font-family : “나눔명조”]처럼 글꼴 이름으로 설정한다. 이렇게 하면 코펍바탕으로 글꼴을 바꿀 때 CSS의 다른 항목들도 모두 바꿔야 한다. 글꼴 이름을 기본 글꼴”, “본문 글꼴‘, ”강조 글꼴처럼 쓰임에 따라 지정을 하면 글꼴을 변경하고 CSS를 수정하는 불편을 해결할 수 있다.

@font-face {

font-family: “기본 글꼴”;

src: url(../Fonts/NanumMyeongjo.ttf);

}

 

제목 스타일 제목은 h1 ~ h6 태그 중 하나를 선택한다. 책 제목은 h1, 장 제목은 h2h3를 절이나 소단락 제목은 h4~h6를 쓰면 좋다. 제목과 본문 간격을 두기 위해 빈 문단(<p><br></p>)4~5칸 삽입하는 편집자가 많은데 제목 태그에 margin-bottom을 주면 간단히 해결할 수 있다. 글꼴이나 글자 크기 등은 제목 모양에 따라 변경하자.

h2 {

font-family : “기본 글꼴”;

font-size : 1.5em;

text-align : center;

margin-bottom : 5em;

margin-top : 2em;

}

 

본문 기본 스타일 시중에 유통되는 전자책들이 들여쓰기, 양쪽 정렬을 하지 않아 뷰어에서 강제로 스타일을 적용한다. 뷰어가 처리해 주니 편해 보이지만, 들여쓰기, 양쪽정렬을 하면 안되는 편집까지 강제로 적용되는 문제가 생긴다. 책을 만들 때 본문 들여쓰기, 양쪽 정렬이 필요한 책이라면 반드시 본문 기본 스타일을 추가해 주도록 하자. 줄간격 1.8em은 국내 유통사 뷰어에서 가독성이 가장 좋다고 생각하는 수치다. 책의 성격이나 편집자 취향에 따라 수정하면 된다.

p {

font-family : “기본 글꼴”;

text-indent : 1em;

line-height : 1.8em;

text-align : justify;

}

 

텍스트 정렬 편집을 하다 보면 텍스트 정렬은 수시로 사용하게 된다. 이런 스타일은 기본으로 CSS에 추가해 두면 편집이 편해진다. 왼쪽 정렬과 오른쪽 정렬은 [text-indent : 0;] 속성을 추가했다. 본문 기본 스타일에 들여쓰기를 설정했기 때문에 정렬 스타일에 들여쓰기를 0으로 하지 않으면 왼쪽으로 약간 치우친다. 가운데 정렬을 했는데 중앙에서 약간 벗어나 보이면 들여쓰기를 했는지 확인해 보자.

.txt_left { text-indent : 0; text-align : left; }

.txt_center { text-indent : 0; text-align : center; }

.txt_right { text-align : right; }

 

 


들여쓰기를 0으로 주지 않으면 왼쪽으로 치우친다.

 

글상자 이 스타일을 이용하면 테두리와 배경색이 있는 글상자를 쉽게 만들 수 있다. 스타일을 CSS 파일에 복사해 넣고 원하는 속성 값만 수정하면 된다. 속성이 필요 없다면 값을 0으로 주거나 삭제를 하면 된다.

.txt_box {

border : solid 1px #999999; /* 선 종류, 두께, */

background-color: #dddddd; /* 배경색 */

border-radius : 20px; /* 모서리 둥글게 처리 */

padding : 1em; /* 안쪽 여백 */

}

 

나만의 style.css 템플릿 이제 위에서 설명한 내용들을 하나의 style.css 파일에 정리를 해 보겠다. 이 스타일만 있어도 소설처럼 편집이 간단한 전자책을 만들 수 있다. 아래 스타일시트 파일은 위에서 설명한 내용에 파란색 테두리 글상자 하나를 추가한 파일이다. 이처럼 기본 스타일에 약간씩 변형을 가하면 누구나 새로운 스타일 시트 탬플릿을 만들 수 있다.

 

style.css 탬플릿 파일

* { margin : 0; padding : 0;}

 

/* 폰트를 추가하고 싶다면 이 항목을 복사한 후 url을 변경한다 */

@font-face {

font-family: “기본 글꼴”;

src: url(../Fonts/NanumMyeongjo.ttf); }

 

h2 {

font-family : “기본 글꼴”;

font-size : 1.5em;

text-align : center;

margin-bottom : 5em;

margin-top : 2em; }

 

p {

font-family : “기본 글꼴”;

text-indent : 1em;

line-height : 1.8em;

text-align : justify; }

 

.txt_left { text-indent : 0; text-align : left; }

.txt_center { text-indent : 0; text-align : center; }

.txt_right { text-align : right; }

 

.txt_box {

border : solid 1px #999999; /* 선 종류, 두께, */

background-color: #dddddd; /* 배경색 */

border-radius : 20px; /* 모서리 둥글게 처리 */

padding : 1em; /* 안쪽 여백 */ }

 

/* 파란색 테두리에 흰색 배경의 글상자 추가 */

.txt_box_blue {

border : solid 1px #000099;

background-color: #ffffff;

border-radius : 5px;

padding : 1em; }

 

style.css 탬플릿을 적용한 HTML 코드

<h2>4.5.7 나만의 style.css 템플릿</h2>

 

<p>이제 위에서 설명한 내용들을 하나의 style.css 파일에 정리를 해 보겠다. 이 스타일만 있어도 소설처럼 편집이 간단한 전자책을 만들 수 있다. </p>

 

<p>아래 스타일시트 파일은 위에서 설명한 내용에 파란색 테두리 글상자 하나를 추가한 파일이다. 이처럼 기본 스타일에 약간씩 변형을 가하면 누구나 새로운 스타일 시트 탬플릿을 만들 수 있다. </p>

 

<div class="txt_box">

<p class="txt_left">왼쪽 정렬</p>

 

<p class="txt_center">가운데 정렬</p>

 

<p class="txt_right">오른쪽 정렬</p>

</div>

 

<p><br/></p>

 

<div class="txt_box_blue">

<p>간단한 수정으로 새로운 글상자를 만들 수 있다.</p>

</div>

style.css 탬플릿을 적용한 결과

 

180개 정도의 CSS 중에 style.css 템플릿에 있는 속성만 잘 활용해도 소설, 인문 같은 텍스트 중심의 책은 대부분 편집이 가능하다. 그림을 글자와 자연스럽게 배치해 주는 float, 글자의 수직 정렬을 해주는 vertical-align, 글상자에 입체감을 주는 box-shadow처럼 몇 가지 고급 속성을 익힌다면 종이로 인쇄된 책은 대부분 전자책으로 편집할 수 있다. 전자책 전문 편집자가 되고 싶다면 3회와 이번 회에 소개한 HTMLCSS를 익히고 지면 관계상 소개하지 못했지만 책 편집에 사용할 수 있는 몇가지 태그와 스타일 속성을 공부하기 바란다

반응형
posted by 내.맘.대.로 2016. 1. 14. 12:32

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

1. EPUB이란

2. EPUB 만들 때 이것만은

3. EPUB 제작을 위한 쉽고 간단한 HTML

4. CSS, 전자책 편집의 시작과 끝

5. 편집하고 바로 읽는 EPUB 3


이번 회부터는 EPUB 제작에 필요한 HTML에 대해 알아본다. EPUB은 홈페이지를 만들 때 사용하는 웹 기술(HTML, CSS)을 사용한다. EPUB으로 책을 만든는 과정은 홈페이지에 책을 올리는 과정과 비슷하다.

다양한 편집 프로그램이 있고 편집프로그램이 제공해 주는 기본 편집 기능만 사용해 책을 만들 수 있다. 하지만 편집 디자이너가 인디자인으로 다양한 편집을 하듯이 전자책을 편집하기에는 기본 편집 프로그램이 부족하게 느껴질 것이다. 이때 간단한 HTML과 CSS를 알고 있어도 편집 프로그램의 부족한 부분을 채울 수 있다.



3. EPUB 제작을 위한 쉽고 간단한 HTML


3.1 HTML이란?


HTML은 Hyper Text Markup Language의 약어로 웹페이지를 만들 때 사용하는 언어다. 컴퓨터 언어지만 다른 언어들 보다 구조가 간단해서 쉽게 익힐 수 있다. 웹페이지에 보이는 내용들은 모두 HTML로 편집을 한다.

HTML은 100개가 넘는 태그로 이루어져 있다. 각각의 태그들은 제목, 본문, 강조, 기울임 등 문서 편집에 필요한 속성이 담겨있고, 이 속성을 이용해 편집자가 원하는 형태로 문서를 만들 수 있다.


HTML 태그의 구조


HTML 태그는 [여는 태그]와 [닫는 태그]가 한 쌍으로 구성된다. 여는 태그와 닫는 태그 사이에 있는 [본문 내용]이 뷰어에 표시되는 부분이다. [속성]은 본문 내용을 꾸밀 때 사용하는데 필요에 따라 넣거나 뺄 수 있다.


태그는 항상 여는 태그와 닫는 태그가 함께 와야 하지만 혼자 사용하는 태그도 있다. 이미지 태그<img />나 줄바꿈 태그<br />는 혼자 사용한다. 닫는 태그가 없는 대신 태그 끝에 슬래시(/)를 넣는다.*


여는 태그와 닫는 태그 사이에는 콘텐츠의 내용이나 다른 태그를 넣을 수 있다. 태그 사이에 다른 태그를 넣을 때는 열고 닫는 순서가 매우 중요하다. 반드시 여는 태그와 닫는 태그 사이에 다른 태그가 포함 되야 하며 태그가 서로 교차되서는 안된다.


다른 태그를 넣을 때는 열고 닫는 순서가 매우 중요하다


잘못된 태그 사용



* HTML에서는 <br>처럼 태그 끝에 슬래시(/)를 넣지 않지만 EPUB은 XHTML을 사용하기 때문에 혼자 사용하는 태그 끝에 항상 슬래시(/)를 넣어 줘야 한다.



3.2 EPUB 편집을 위한 태그


EPUB 편집에 사용하는 HTML 태그는 그리 많지 않다. 아무리 편집이 복잡한 책이라도 10개 안팎의 태그만 알면 만들 수 있다. 소설처럼 편집이 단순한 책이라면 본문 태그인 <p>와 표지를 넣을 때 필요한 이미지 태그 <img>만 있어도 충분하다.

여기에서는 EPUB 편집에 주로 사용되는 태그와 특징을 알아보고 각 실제 편집에서 어떻게 활용할 수 있는지를 알아보려고 한다.


EPUB 제작에 많이 사용하는 태그 목록

구분

태그

설명

제목

<h1>제목</h1>

* h1 ~ h6 사용 가능

부, 장, 절 등의 제목에 사용한다.

본문

<p>문단</p>

본문의 문단을 감싸는 태그다. 문단은 반드시 <p> 태그로 감싸야 한다.

<br />

문단 내에서 강제로 줄바꿈이 필요할 때 사용한다.

강조/꾸밈

<sup>위첨자</sup>

각주나 미주 같은 주석표시에 많이 사용한다.

<sub>아래첨자</sub>

H2O처럼 아래첨자를 표현할 때 사용한다.

<strong>진하게</strong>

<em>기울임</em>

<u>밑줄</u>

<mark>형광펜</mark>

본문 내 단어나 문장을 강조할 때 사용한다.

스타일

<span></span>

기능이 없는 태그지만 활용도가 높다. 스타일을 적용하거나 ID를 부여하는 등 다양한 용도로 사용된다.

그룹/글상자

<div></div>

여러 문단이나 태그를 그룹으로 묶어 스타일을 적용하거나 글상자를 만들 때 사용한다.

이미지

<img src="img.jpg" alt="설명“ />

이미지를 넣을 때 사용한다.

링크

<a href="링크 주소“>링크</a>

이미지나 글자에 링크를 연결할 때 사용한다. EPUB에서는 팝업 주석을 추가할 때 사용한다.

* 일부 태그의 EPUB 제작을 기준으로 설명을 했기 때문에 웹페이지를 제작할 때와 쓰임이 다를 수 있다.



3.2.1 제목 태그 <h1> ~ <h6>

HTML은 제목을 표현하기 위해 6단계의 제목 태그(Heading)를 제공한다. 큰 제목 <h1>부터 작은 제목 <h6>까지 사용할 수 있고, 단계별로 글자 크기가 달라진다.

제목 태그는 기본 스타일이 지정돼있어서 다양한 스타일로 제목을 꾸미지 못한다고 생각하는 편집자들이 의외로 많다. HTML의 태그는 대부분 역할에 따른 스타일이 지정되어 있지만, CSS를 통해 스타일을 쉽게 변경할 수 있다.


▷ 태그 사용법

<h1>h1은 가장 큰 제목에 사용합니다.</h1>

<h2>h2는 두번째 큰 제목에 사용합니다.</h2>

<h3>h3은 세번째 큰 제목에 사용합니다.</h3>

<h4>h4는 소 제목에 사용합니다.</h4>

<p>본문 글자 크기입니다.</p>

<h5>h5는 본문보다 글자 크기가 작습니다.</h5>

<h6>h6이 가장 작은 제목 태그입니다.</h6>


▷ 결과



제목 태그를 사용하면 문서 구조가 명확해져 편집 시간을 줄일 수 있다. <h1>을 책 제목, <h2>를 장 제목, <h3>를 절 제목으로 정해 놓으면 제목을 편집할 때 아무 고민 없이 장에는 <h2>, 절에는 <h3>를 사용하면 된다. 그리고 전자책 편집 프로그램들은 대부분 제목 태그로 목차를 자동으로 만들어 주기 때문에 <p> 태그에 제목 스타일을 지정할 때보다 목차 정리를 쉽게 할 수 있다.


시중에 유통되고 있는 전자책을 열어보면 <p>태그에 스타일을 지정해 제목으로 사용한 것을 많이 볼 수 있다. <p> 태그를 제목으로 사용하려면 제목 스타일의 CSS 클래스를 만들어야 하고, 이를 다시 태그에 추가해야 한다.

뷰어 화면에 보이는 결과만 확인하면 원하는 대로 잘 편집된 것처럼 보여도 아래 그림처럼 코드가 복잡해 진다. 코드가 복잡하다는 것은 편집 시간이 오래 걸리고, 뷰어에서 열리는데 시간이 오래 걸리며, 오류가 발생할 가능성이 높다는 의미이다.



시중에 유통중인 <p> 태그로 제목을 편집한 전자책



같은 책을 제목 태그를 이용해 한줄로 수정한 코드




<p>태그와 <h3>태그에 같은 CSS 스타일을 지정하면 뷰어에서 보이는 결과는 동일하다.




3.2.2 문단 태그 <p></p>


문단 태그는 주로 책의 한 문단을 표현할 때 사용한다. HWP나 MS 워드에서 엔터로 줄을 바꿔 문단을 새로 시작하는 것과 같다. 전자책 편집에서 가장 기본이 되는 태그로 가장 많이 사용하는 태그이기도 하다.

일부 ePUB 편집자는 문단을 <div></div>태그로 구분을 하는데 <div></div>태그는 여러 문단을 묶어 스타일을 적용하거나 레이어를 만들때 사용하는 태그이기 때문에 뷰어에서 심각한 오류가 발생할 수 있다. 문단을 구분하는 태그는 반드시 <p></p>를 사용하고 <div></div>는 사용을 하면 안된다.


시중에 유통중인 <div>태그로 문단을 편집한 전자책


<p></p>태그에 스타일을 붙여 제목, 주석 등을 표현하는 것도 가급적 피하는게 좋다. <p></p>태그를 꾸미는 CSS가 무한정으로 늘어나고, 다른 사람이 수정을 할 때 CSS만 보고 용도를 알 수 없는 경우가 많기 때문에 제목이나 주석 등 제공되는 기본 태그가 있다면 <p></p>태그보다는 해당 목적의 태그를 사용하는 것이 좋다.


▷ 태그 사용법

<p>문단을 표현하는 태그입니다.</p>

<p>문단과 문단 사이는 뷰어(브라우저)의 설정에 따라 지정된 문단 간격이 있으며 CSS로 간격을 조절할 수 있습니다.</p>


▷ 결과




3.2.3 줄바꿈 태그 <br />


<br />은 문단 내에서 줄을 바꿀 필요가 있을 때 사용한다. HWP나 MS 워드에서 시프트(Shift)+엔터로 강제 줄바꿈을 하는 것과 같다. <p>태그와 <br/>태그는 모두 줄을 바꿔주기 때문에 간혹 <br/>태그로 문단을 구분하는 경우가 있는데 절대로 사용하면 안되는 잘못된 편집이다.

<br /> 태그는 닫는 태그 없이 단독으로 사용한다. HTML에서는 <br> 슬래시(/) 없이 사용할 수 있고 XHTML에서는 <br />처럼 여는 태그이면서 동시에 닫는 태그임을 표시해주는 슬래시(/)를 넣어야 한다. EPUB은 XHTML을 기반으로 하기 때문에 슬래시를 넣어 닫는 태그 표시를 해줘야 한다.


▷ 태그 사용법

<p>&lt;br /&gt;은 문단 내에서 줄을 바꿀 필요가 있을 때 사용한다. <br />HWP나 MS 워드에서 시프트(Shift)+엔터로 강제 줄바꿈을 하는 것과 같다. </p>



▷ 결과



3.2.4 강조/꾸밈을 위한 태그


메모장 같은 기본적인 편집기에도 굵게, 기울임, 밑줄 같은 편집 기능이 포함돼 있다. HTML에서도 이런 기본 태그를 제공한다. 이 태그들은 고유의 속성이 포함되어 있어 쓰임이 제한되 보일 수 있지만 CSS를 활용해 잘 활용하면 전자책 편집 시간을 크게 절약할 수 있다.


- 윗첨자, 아랫첨자 태그 <sup>윗첨자</sup> <sub>아랫첨자</sub>

쓰임이 명확한 태그다. 윗첨자는 주석 표시를 할 때 많이 사용하고, 아랫첨자는 H2O처럼 특수한 기호를 표현할 때 많이 사용한다. 하지만 이 용도로 사용할 필요는 없다. ‘아래첨자용 태그(<sub> 태그)’처럼 간단한 설명을 붙일 때 사용하면 편리하다.


▷ 태그 사용법

<p>sup는 윗첨자로 E=MC<sup>2</sup> 처럼 본문 글자의 위쪽에 붙고, sub는 아랫첨자로 H<sub>2</sub>O 처럼 본문 글자의 아랫쪽에 붙는다.</p>

<p>태그를 반드시 제시된 용도로 사용할 필요는 없다. HTML<sup>(Hyper Text Markup Language)</sup> 처럼 필요에 따라 다양하게 활용이 가능하다. </p>

▷ 결과



<참고>

기본 태그 사용을 권하는 이유

기본 태그를 사용하면 불필요한 스타일이나 코딩을 줄여 편집 시간을 절약할 수 있다. 아래 예는 같은 편집을 기본 태그와 CSS 선택자로 코딩한 것이다.


<p>HTML<sup>Hyper Text Markup Language</sup></p>

<p>HTML<span class="superscript">Hyper Text Markup Language</span></p>


기본 태그를 사용했을 때 코드도 간결해지고, 입력해야 하는 내용도 짧아진다. <spu>와 superscript의 CSS 속성이 같다면 결과는 완전히 동일하다.



- 강조용 태그 <strong></strong>, <em></em>, <u></u>, <mark></mark>

본문 내에서 단어나 문장을 강조할 때 사용하는 태그들이다. 이 태그 역시 기본 속성은 있지만 CSS로 속성을 변경할 수 있다.


▷ 태그 사용법

<p>본문에서 <strong>굵은 글씨</strong><em>기울임 글씨</em>로 강조를 할 때는 강조용 태그를 사용한다.</p>

<p>단어나 문장에 <u>밑줄</u>을 긋거나 <mark>형광펜</mark> 스타일로 강조를 할 수도 있다.</p>

▷ 결과


<참고>

다양한 강조/꾸밈을 위한 태그

HTML에서는 이 외에도 다양한 편집용 태그를 제공한다. <pre>, <code>, <samp>, <kbd>, <ins>, <del> 등이 있는데 스타일이 유사하거나(<del>과 <u>는 밑줄을 긋는다) 일부 뷰어에서 편집이 깨지는 태그(<pre>태그는 잘못 사용하면 편집이 틀어진다)가 있어 사용할 때 주의해야 한다. 보다 상세한 태그 목록은 IDPF 표준 문서를 참고하기 바란다.



3.2.5 CSS 스타일을 지정해 주는 태그 <span></span>


<span>태그는 전자책을 편집할 때 CSS 스타일 지정에 많이 사용되지만 보다 다양한 기능을 갖고 있다. 여기서는 전자책 편집시 많이 사용하는 기능에 대해 설명하려고 한다.

<span>태그는 기본 속성이 없고, 다른 태그 안에 제한 없이 사용할 수 있다. 그래서 CSS에 사용자가 지정한 속성을 그대로 본문에 반영된다. 예를 들어 밑줄 태그인 <u>에 기울임 속성을 부여했다면 <u> 태그는 밑줄+기울임 속성을 갖게 된다. 하지만 <span>태그로 기울임 속성을 부여하면 다른 속성 없이 기울임만 적용된다.

<span>태그는 다양한 형태로 사용되기 때문에 태그 자체에 속성을 부여할 수 없다. <span> 태그로 속성을 지정하려면 style 속성을 사용하거나 CSS에서 선택자에 속성을 지정한 후 <span> 태그에 클래스를 추가해야 한다. 선택자와 클래스에 대해서는 CSS 장에서 자세히 설명할 예정이다.


▷ 태그 사용법

<p>span 태그는 <span>기본 속성이 없고, 다른 태그 안에 제한 없이 사용할 수 있다.</span></p>

<p>span 태그에 속성을 지정하려면 <span style="color:blue;">style 속성을 사용</span>하거나 <span class="txt_color_red">클래스를 추가</span>해야 한다.</p>

▷ 결과



3.2.6 그룹, 글상자용 태그 <div></div>


<div>태그는 <p>와 <span>태그 다음으로 많이 사용한다. <div>는 <span>처럼 기본 속성은 없지만 다른 태그 안쪽에 사용하지 않고, 반대로 태그들을 그룹으로 묶는 역할을 한다.

전자책을 편집할 때 <div>태그는 두가지 용도로 많이 쓰인다. 하나는 여러 태그를 그룹으로 묶어 스타일을 지정하는 것이다. 그룹으로 묶으면 여러 단락에 같은 스타일을 지정할 수 있어 편집 시간을 줄일 수 있다.


   

그룹으로 묶으면 여러 단락에 동일한 스타일을 적용할 수 있다.

그룹으로 묶지 않으면 단락마다 스타일을 적용해 편집 시간이 오래 걸린다.


다른 하나는 테두리와 배경색을 지정해서 글상자를 만드는 것이다. 글상자는 전자책을 편집할 때 빈번하게 사용되기 때문에 <div>태그의 사용법을 알아두는게 좋다.




<div>태그는 CSS와 함께 사용해야 한다. <div>태그만으로는 그룹 스타일을 지정하거나 글상자를 만들 수 없다.


▷ 태그 사용법

<div class="txt_box red">

<p>div 태그는 단락을 그룹으로 묶어준다.</p>

<p>그룹으로 묶어 글상자를 만들 수 있다.</p>

</div>


<div>

<p>div 태그는 기본 속성이 없어 CSS와 함께 사용한다.</p>

</div>

▷ 결과




3.2.6 이미지 태그 <img src="URL" alt="설명“ />


<img /> 태그는 문서에 이미지를 삽입할 때 사용하고 <br />처럼 닫는 태그 없이 단독으로 사용된다. <img> 태그는 반드시 src="url" 속성을 함께 사용해야 하며 이미지를 표현할 수 없을 때 나타나는 대체 설명인 alt=“설명” 속성을 함께 사용하는 것이 좋다.

전자책을 편집할 때는 <p>태그나 <div>태그로 묶어 다양한 스타일을 지정할 수 있다. 단독으로 사용이 가능하지만 가급적 <p> 태그나 <div>태그와 함께 사용하기를 권한다.


▷ 태그 사용법

<p>이미지 태그는 이미지 경로를 지정하는 src와 이미지 설명을 포함하는 alt 속성을 반드시 지정해야 한다. </p>

<p><img src="sample.png" alt=""샘플이미지. ODPF 로고"></p>


<p>alt 속성은 이미지가 없거나 이미지를 표시할 수 없을 때 표시되는 설명이다.</p>

<p><img src="noimage.png" alt="이미지를 표시할 수 없을 때“></p>


▷ 결과



3.2.7 링크 태그 <a href="URL"></a>


<a> 태그는 책 밖에 있는 다른 문서 혹은 책 안에 있는 다른 위치로 이동을 할 수 있도록 링크를 거는 태그다. <a> 태그는 파란 글자색에 밑줄이 기본 속성으로 되어 있지만 CSS에서 속성을 변경할 수 있다.

전자책에서 <a>태그는 링크 외에 내부 링크에 필요한 식별자(앵커)를 추가하거나 주석을 표현할 때 사용한다. 주석을 링크로 연결하면 팝업주석이 지원되는 뷰어는 링크를 따라 이동하지 않고, 팝업창에 링크를 표시한다.


<a> 태그는 팝업 주석에 사용할 수 있다.



<참고>

팝업 주석은 HTML5에서 새로 추가된 <aside> 태그를 이용해 EPUB3로 제작을 해야하기 때문에 여기서는 자세히 다루지 않는다. 팝업 주석에 대한 내용은 IDPF의 EPUB3 문서를 참고하기 바란다.


▷ 태그 사용법

<p>링크를 클릭하면 <a href="https://www.imaso.co.kr/">마이크로소프트웨어 홈페이</a>로 이동할 수 있다.</p>


<p>주석 처럼  <a name="special_location">특정 위치</a>에 링크를 걸기 위해 식별자(앵커)를 표시할 때도 사용할 수 있다.</p>


<p>URL 대신 #식별자를 이용하면 <a href="#special_location">특정 위치로 이동</a> 이 가능하다.</p>


▷ 결과



지금까지 전자책 편집을 위한 HTML 태그의 용도와 사용법을 알아봤다. 종이책을 전자책으로 변환하거나 로맨스 같이 단순한 구조의 전자책이라면 여기에 설명한 태그만 알아도 충분히 만들 수 있다. 다음 연재에서는 전자책 편집의 꽃인 CSS를 이용해 편집자가 원하는 형태로 본문을 편집하는 방법에 대해 알아보도록 하겠다.

반응형