posted by 내.맘.대.로 2016. 2. 26. 16:00

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

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

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

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

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




전자책에 주석을 삽입하는 방법입니다.


전자책이 종이책보다 편리해야 하는 기능 중 하나가 주석입니다. 그런데 지금까지는 전자책으로 주석 보는게 더 불편했었습니다. 주석을 장, 혹은 책의 제일 마지막 부분에 몰아 넣어 책을 보면서 주석을 보기 힘들게 만들거나, 본문 중간에 쌩뚱맞게 주석이 들어가기도 하고, 조금 편하게 신경을 쓰면 링크를 걸었습니다.


최근에는 유통사들이 이런 불편을 줄이고자 '팝업 주석' 기능을 도입했습니다. 교보eBook, 리디북스, 알라딘 eBook에서 팝업주석이 지원됩니다.


교보문고교보문고 주석리디북스리디북스 주석알라딘 주석알라딘 주석


* 왼쪽부터 교보eBook, 리디북스, 알라딘 eBook의 팝업 주석


그런데 각 업체의 제작가이드를 보면 서로 제각각이라 유통사별로 전자책을 다시만들어야하나 하고 생각하시는 분들이 많더라구요. 그리고 팝업주석을 지원하지 않는 뷰어용도 별도로 제작해야 한다고 생각하는 분들이 계시네요.


주석을 처리하는 방식이 유통사별로 조금씩 달라 100% 호환되게 만들 수는 없지만 많은 뷰어에서 주석이 제대로 보이도록 만들 수는 있습니다. 아래에 설명하는 방식은 교보eBook, 리디북스, 알라딘 eBook에서 팝업 주석이 표시되고 예스24 뷰어에서는 링크로 주석을 확인할 수 있습니다. 칼리브레에서도 잘 적용됩니다.


□ 전자책 주석 표현 방법


1. 주석을 표현할 때 주의해야 하는 사항.


주석은 본문 내용의 일부를 터치했을 때 표시됩니다. 그런데 터치 영역이 너무 작다면 주석을 터치하려다 페이지가 넘어가는 불편이 생길 수 있습니다. 뷰어별로 설정이 다르기 때문에 터치 영역을 넓게 잡아주는게 좋습니다. 

1) 처럼 주석 번호에 링크를 걸지 말고, 단어에 링크를 걸어주세요.


일부 뷰어는 서로 다른 파일에 있는 주석도 표현되지만 일부 뷰어는 같은 파일 안에 있는 주석만 표현이 됩니다. 유통하려는 뷰어를 확인하고 작업하세요. 같은 파일 안에 주석 설명을 넣으면 모든 뷰어에서 문제가 없고, 다른 파일에 주석 설명을 담으면 일부 뷰어에서 문제가 됩니다.


2. 주석 추가 코드


  <p><a epub:type="noteref" href="#note01" id="anno01">불필 때<sup>1)</sup></a> <a epub:type="noteref" href="#note02" id="anno02">끈적나긋한<sup>2)</sup></a> <a epub:type="noteref" href="#note03" id="anno03">토브<sup>3)</sup></a>들이</p>

.

.

.

<blockquote>

<aside epub:type="footnote" id="note01">

<p><a href="#anno01">1 불필 때: 저녁을 위해 불을 지필 때.</a></p>

</aside>


<aside epub:type="footnote" id="note02">

<p><a href="#anno02">2 끈적나긋한: ‘끈적끈적한’과 ‘나긋나긋한’이 합쳐진 합성어.</a></p>

</aside>

.

.

.

</blockquote>



2.1 빨간 글자는 팝업 주석을 위한 코드입니다.

팝업주석이 지원되는 뷰어에서는 빨간 글자 부분만 있으면 됩니다. 


팝업 주석의 원리는 간단합니다. a 태그로 링크를 걸고, 링크가 걸린 부분을 팝업으로 보여주는 형식입니다. 그래서 주석 설명이 필요한 단어에 주석 설명을 링크로 걸어줍니다.


그런데 어디에 링크를 걸어줘야 할까요?

'이 단어의 주석 설명은 이거다' 라고 알려주는게 ID입니다. 어떤 태그든 ID를 넣을 수 있습니다. p 태그에도 ID를 넣을 수 있고 주석 설명을 p 태그로 묶고 ID를 추가하면 팝업 주석을 불러올 수 있습니다.


하지만 p 태그로 주석을 넣으면 여러 문단을 쓸 수 없습니다. 주석 설명이 길어 여러 문단을 써야 한다면 다른 태그로 묶어줘야 합니다. <aside>태그가 이 역할을 합니다.


<aside> 태그는 HTML5 에서 추가된 태그이기 때문에 EPUB 2 형식에서는 오류가 날 수 있습니다. 하지만 교보, 리디, 알라딘에서는 이 태그를 지원합니다.


2.2 파란 글자는 팝업 주석을 지원하지 않는 뷰어를 위한 코드입니다.

팝업 주석이 지원되지 않는 뷰어에서는 링크를 누르면 해당 위치로 이동합니다. 빨간 글자만 넣어도 주석 설명 위치로 이동을 합니다. 그런데 주석 설명에서 다시 본문으로 돌아올 수는 없습니다.


그래서 파란 글자가 필요합니다. 파란 글자는 주석에서 본문으로 돌아올때 필요한 링크와 ID입니다. 원리는 주석 설명으로 넘어가는 링크와 동일합니다.


팝업 주석을 지원하는 뷰어에서는 파란 글자 부분이 필요 없습니다.


팝업 주석을 지원하지 않는 뷰어는 주석 단어를 누르면 주석 설명으로 이동을 하는데, 여기서 주석 설명을 누르면 다시 본문의 주석 단어가 있는 위치로 돌아갑니다.


2.3 <blockquote>는 주석과는 상관 없습니다.

다만, 주석과 본문을 구분해 주기 위해 주석 스타일을 처리하기 위한 코드입니다. 

<blockquote>를 쓰지 않아도 됩니다. css로 footnote라는 클래스를 만들고 <div class="footnote">로 묶어줘도 됩니다. 주석을 본문과 구분할 필요가 없다면 이렇게 묶어줄 필요도 없고, 모든 주석이 <aside> 태그로 묶여있으니 aside 태그에 직접 스타일을 적용해도 됩니다. 


이렇게 편집한 샘플 파일을 첨부했으니 다운받아 참고하시기 바랍니다.

반응형
posted by 내.맘.대.로 2016. 2. 3. 09:30

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

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

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

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

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

Sigil에 Add Cover라는 기능이 있습니다.

어떤 분이 왜 이런 기능이 들어있냐고 물어보시네요.

전자책 만들 때 꼭 한번씩 쓰는 기능입니다. 

그런데 왜 필요하냐고 물어보니 왜 그런 생각을 하게 됐는지 궁금해졌습니다.

 

"Add Cover 기능을 써서 표지를 넣으면 유통사 뷰어에서 문제가 생겨요."

 

이 말을 들으니 이해가 가더군요.

 

Add Cover를 사용하면 상하좌우 가운데에 표지가 들어갑니다. 화면 크기에 따라 표지 이미지 크기도 자동으로 조절이 되서 좋습니다. 하지만 문제가 하나 있습니다. SVG 태그를 사용하거든요. SVG를 지원하는 뷰어에서는 최적의 코드지만 SVG를 지원하지 않으면 문제가 생깁니다.

 

<body>

<div style="text-align: center; padding: 0pt; margin: 0pt;">

<svg xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 1024 1440" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">

<image width="1024" height="1440" xlink:href="../Images/cover.jpg"/>

</svg>

</div>

 

</body>

 

Add Cover로 표지를 넣은 책들을 수정해 달라는 요청을 받다보니 쓸 수도 없는 기능은 넣어서 뭐하냐고 불만이 생기겠지요.

 

EPUB2 뷰어에서는 SVG를 지원하지 않아도 되기 때문에 유통사 뷰어 문제는 아닙니다. SVG를 지원할 의무는 없지만 사용할 수 없는 것도 아니기 때문에 Sigil 문제도 아닙니다. 

 

불만이 이해는 갔지만 Sigil은 아무 잘못이 없습니다. Sigil은 '완벽한' 표지 추가 기능을 제공하고 있거든요. 그런데 사용법을 모르니 이런 불만이 생기는 것입니다.

 

Sigil 사용 설명서 [표지 이미지 삽입] 편에서 설명을 한적이 있는데 다시 한번 자세히 설명을 하겠습니다.

 

표지는 편집자라면 항상 같은 코드를 사용할거예요. 특별한 경우가 아니라면 표지를 삽입하는 코드가 변경될 일은 없습니다. 

 

Sigil의 Add Cover를 사용하면 위에 보이는 코드가 삽입됩니다. 항상 똑같은 코드를 사용합니다.

그런데 표지마다 표지 파일명이 다르고 표지의 가로*세로 크기가 다릅니다. Add Cover 할 때마다 이미지 크기를 확인해서 추가해 줘야 하지만 Sigil은 이를 자동으로 계산해 넣어줍니다.

 

  <div style="text-align: center; padding: 0pt; margin: 0pt;">

    <svg xmlns="http://www.w3.org/2000/svg" height="100%"

    preserveAspectRatio="xMidYMid meet" version="1.1" 

    viewBox="0 0 SGC_IMAGE_WIDTH SGC_IMAGE_HEIGHT" width="100%" 

    xmlns:xlink="http://www.w3.org/1999/xlink">

      <image width="SGC_IMAGE_WIDTH" height="SGC_IMAGE_HEIGHT

      xlink:href="SGC_IMAGE_FILENAME"/>

    </svg>

  </div>

 

이 코드가 Sigil의 Add Cover 기본 코드라고 보시면 됩니다. 

빨간 글자 부분이 이미지에 따라 바뀌어야 하는 곳입니다. 이미지의 가로, 세로 크기와 이미지 파일 명이 들어가야 하는 자리입니다. 이 부분을 빨간 글자로 표시한 그대로 사용하면 Sigil이 알아서 이미지에 맞게 추가를 해 줍니다.

 

이 빨간 글자 외에는 모두 수정할 수 있습니다. 어떤 식으로 수정을 하든 편집자 마음입니다. 

Sigil에서 편집가가 원하는 모양으로 표지 이미지를 삽입되도록 Add Cover 코드를 수정해 보겠습니다.

 

1. cover.xhtml 파일을 만들어 주세요.

 

2. cover.xhtml 파일에 아래 코드 혹은 본인이 사용하는 표지 이미지 코드를 추가합니다.

  이 코드를 사용하면 이미지가 상하좌우 가운데에 정렬됩니다. 

  표지 스타일을 CSS파일에 정리하고 싶다면 <style>영역 대신 CSS 파일을 연결해 주면 됩니다.

  어떤 코드라도 상관 없습니다. 편집자가 표지를 삽입할 때 사용하는 코드면 됩니다.

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<!DOCTYPE html>

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:xml="http://www.w3.org/XML/1998/namespace">

<head>

  <title></title>

    

<style type="text/css">

html, body { height:100%; margin: 0; padding: 0; }

.cover {

width: 100%;

 height : 100%;

text-indent : 0;

text-align : center;

 

display: box;

box-orient: horizontal;

box-pack: center;

box-align: center;

 

display: -webkit-box;

-webkit-box-orient: horizontal;

-webkit-box-pack: center;

-webkit-box-align: center;

 

display: -moz-box;

-moz-box-orient: horizontal;

-moz-box-pack: center;

-moz-box-align: center;

}

 

img.cover {

width : 100%;

height : auto;

}

</style>

</head>

 

<body>

  <div class="cover"><img alt="표지 중앙정렬" class="cover" src=".../Images/cover.jpg" /></div>

</body>

</html>

 

3. 이미지 파일명, 이미지 크기를 수정합니다. 

   위 예제 코드는 이미지 크기를 수정할 필요가 없습니다.

   이미지 크기를 실제 이미지 크기로 고정시키려면 width와 height를 수정하면 됩니다.

 

<div class="cover"><img alt="표지 중앙정렬" class="cover" src="SGC_IMAGE_FILENAME" /></div>

 

width, height를 이미지 크기에 맞추고 싶다면 아래처럼 수정

width: SGC_IMAGE_WIDTH;

height : SGC_IMAGE_HEIGHT;

 

4. cover.xhtml 파일을 Sigil의 설정 폴더로 복사합니다. 

   Sigil 설정 폴더 찾는 방법은 간단합니다.

    - [편집 > 설정] 혹은 F5를 눌러 [기본설정] 창을 열어주세요.

    - [기본 설정] 제일 아래에 있는 [Open Preferences Location] 버튼을 눌러주세요.

 

 

    - 폴더가 열리면 아래처럼 3번에서 만든 cover.xhtml 파일을 복사해 줍니다.

 

 

 

5. 이제 Sigil에서 Add Cover를 합니다. 

   svg 태그를 사용한 Sigil 기본 코드가 아닌 편집자가 수정한 코드로 이미지가 들어갑니다 ^^

 

 

 

반응형
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 내.맘.대.로 2015. 12. 22. 09:52

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

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

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

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

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

Calibre는 EPUB, PDF, LIT, AZW, FB2 등 다양한 전자책 포멧을 지원하는 전자책 뷰어이며, 전자책 포멧을 다른 형식으로 손쉽게 바꿔주는 편집기/변환기입니다. 

그동안 기능 개선 중심의 업데이트만 하다가 이번 업데이트에서는 [Export/Import all calibre data]라는 새로운 기능이 추가되어 소개합니다. 

[Export/Import all calibre data]는 Calibre에 있는 모든 정보를 하나의 파일로 백업하고, 백업한 데이터를 불러오는 기능입니다. 하나의 파일이지만 용량이 크면 분할이 되는 것 같네요.


이런 기능이 왜 필요하냐고요?


1. 컴퓨터를 포멧하고 싶은다.

2. 컴퓨터를 새로 샀다.

3. 칼리브레에 문제가 생겨 삭제하고 다시 설치해야 한다.

4. 만일을 위해 백업을 하고싶다.


등등 찾으려고만 하면 아주 많은 필요가 있습니다. 


칼리브레의 모든 데이터를 내보내는(백업하는) 방법입니다.

불러오기는 내보내기한 폴더를 선택해 주면 되기 때문에 따로 설명을 하지 않습니다. 


1. [Calibre > Export/Import all calibre data]를 선택합니다. 


2. Export all your calibre data를 선택합니다. 


3. 내보내기 할 calibre 데이터를 선택합니다. 이 데이터는 대부분 1개만 존재합니다. 서재를 여러개 만들었다면 내보내기 할 서재를 선택합니다. 

4. 내보내기 할 폴더를 선택합니다. 

중요! 폴더는 반드시 비어있어야 합니다. 파일이 하나라도 있으면 오류가 발생합니다. 새 폴더를 만들어 내보내기를 하세요.



반응형