.txt 파일을 .epub(전자책)으로 변환하기

By | 2014-07-11
이 글은, 다른 곳에 퍼가는 것에 동의하지 않습니다.

필요한 무료 도구

  1. Sigil (맥용, 윈도우용; 오픈소스) : 비주얼 .epub 편집기
  2. TextWrangler (맥용; 무료) : 규칙 표현식으로 찾기/바꾸기가 되는 소스 편집기
  3. ePub Zip/Unzip 2.0.1 (맥용, 오픈소스) : .epub 파일로 묶기/압축 풀기
  4. TextWrangler를 실행한 다음, [Help – User Manual]을 클릭하여, PDF로 된 사용 설명서를 내려받습니다.

설명은 천천히 하고, 핵심 부분만 요약하면,

.epub 파일은 zip 압축 파일이며, 압축을 풀면 .xhtml이나 .html 파일들로 구성되어 있습니다.

.txt 파일은 모든 줄 끝이 잘려 있으므로, 하나의 문단이 여러 줄로 되어 있지만,
.html 파일은 하나의 문단이 하나의 줄로 되어 있어야 합니다.

이 말은,
.txt 파일을 .epub 파일로 변환하려면, 먼저 줄마다 하나씩 잘려 있는 문단을, 한 문단을 한 줄로 이어서 붙여줘야 한다는 뜻입니다.

그런데 .txt 파일에 따라서,
(1) 줄 끝을 단어(어절) 단위로 끊은 텍스트 파일이 있지만,
(2) 줄 끝을 글자(음절) 단위로 끊은 텍스트 파일이 있으므로,
문단을 하나의 줄로 이어 붙일 때 주의해야 하며, 수백 수천 개의 줄로 된 책 한 권의 줄 끝의 끊어진 부분을 이어주려면 사람이 할 짓은 못된다는 점입니다.

이런 단순 반복 작업을 좀더 수월하게 하려면, 찾기/바꾸기를 할 때에 규칙 표현(regular expression)을 사용할 수 있는 텍스트 에디터가 필요한데, 그 중에서 무료이면서도 강력한 규칙 표현을 사용할 수 있는 TextWrangler 프로그램을 사용하면 무척 편리하다는 점입니다.

web_brawser


실제 변환 순서

  1. 본문 포매팅은 TextWrangler를 이용하고,
  2. 차례 구성은 Sigil을 이용합니다.
    이렇게 하면, 200~300쪽 분량의 .txt 파일도 한두 시간이면 파일을 .epub 파일로 변환할 수 있습니다.

변환을 위해 꼭 숙지할 내용: TextWrangler의 사용 설명서 제8장 “Searching with Grep”.
제8장을 보면, 표현식(regular expression)을 써서 찾기/바꾸기를 할 수 있는 방법에 대하여 자세하게 설명하고 있는데, 본문과 줄바꾸기만 되어 있는 text 파일을 제목과 소제목, 본문, 들여쓰기, 가운데 정렬 등을 사용한 HTML 파일로 바꾸려면, TextWrangler의 표현식만큼 요긴한 기능이 또 없습니다. 게다가 무료로 이용할 수 있는 응용 프로그램입니다.

  1. 찾기/바꾸기 단축 키: command+f (이하 command는 cmd로 줄여씁니다.)
  2. 찾기/바꾸기 대화 상자에서 “Grep”을 체크하면, 표현식이 적용됩니다.
  3. 줄 시작: ^
  4. 줄 끝: $
  5. 화이트스페이스 문자: \s (space, tab, carriage return, line feed, form feed)
  6. 비화이트스페이스 문자: \S (any character not included by \s)
  7. 문자: \w (a-z, A-Z, 0-9, _, and some 8-bit characters)
    HTML로 변환할 때는 태그 부호(< >)가 없는 내용을 찾을 때 사용할 수 있다.
  8. 비문자: \W (all characters not included by \w, including carriage returns)
    HTML로 변환할 때는 태그 부호(< >)를 찾을 때 사용할 수 있다.
  9. 숫자: \d (0~9)
  10. p*: 아무 글자도 없거나 p로 시작하는 많은 글자를 찾을 때
  11. p+: p로 시작하는 하나 이상의 글자를 찾을 때
  12. p?: 아무 글자도 없거나 하나의 p를 찾을 때
  13. \: 다음에 오는 글자를 단순한 글자로 인식하게 할 때 사용
  14. ( ): 찾는 묶음의 단위.
    가령 ( ) ( )… 라는 찾기 표현식이 있으면, 첫번째 묶음, 두번째 묶음과 같이 순서대로 인식한다.
  15. \1 \2: 바꾸는 묶음의 단위.
    가령 \2 \1과 같이 바꾸는 표현식을 사용하면, 찾은 내용 중에서 첫번째 묶음과 두번째 묶음의 순서를 바꾼다.

몇 가지 표현식 보기

  1. 챕터 제목이 들어갈 줄(제1장, 제2장,…)을 찾아서 헤딩 태그로 감싸기:
    1. 찾기: ^(제\d.*)$ => “제몇장 제목”만 찾는다. 시작부터 끝까지가 한 묶음( )이다.
    2. 바꾸기: <h2>\1<h2> => \1는 첫번째 묶음이란 뜻이고 앞뒤로 h2 시작과 끝 태그를 붙인다는 뜻
    3. 모두 바꾸기를 하면, 제몇장이라는 줄은 모두 h2 제목줄이 된다.
  2. 연속된 빈 줄 두 개를 찾아서 문단 시작과 끝 태그를 넣을 때:
    1. 찾기: 줄 끝에서 세번째 줄 시작까지를 복사하여 찾기에 붙여넣는다.
    2. 바꾸기: </p> <p>를 넣는다.
    3. 모두 바꾸기 또는 하나씩 찾아서 바꾸기 반복~
  3. 헤딩 태그로 끝나고 다음 줄이 태그 없이 시작하는 줄을 찾아서 문단 시작 태그 넣기:
    1. 찾기: (</h2>)$
      ^(\w) => h2 태그로 끝나고, 다음 줄에 <와 같은 시작 태그가 없는 곳을 찾는다. 찾기/바꾸기 상자 안에서 줄바꾸기는 option+enter 키를 누른다.
    2. 바꾸기: \1
      <p>\2 => 첫번째 묶음(\1)은 그대로 넣고, 다음 줄 시작(\2)을 문단 시작 태그인 <p>를 넣고 시작하게 한다.
    3. 모두 바꾸기 또는 찾아서 바꾸기를 한다.
  4. <SPAN STYLE=로 시작해서 ‘>로 끝나는 태그를 찾아서 제거하기:
    1. 찾기: \<SPAN STYLE=.+’\>
    2. 바꾸기:
    3. 모두 바꾸기 또는 찾아서 바꾸기를 한다.
      regular
  5. <P CLASS=로 시작해서 ‘>로 끝나는 태그를 찾아서 <P>만 남기고 CLASS= 부분은 제거하기:
    1. 찾기: (\<P) CLASS=.+'(\>)
    2. 바꾸기:\1\2
    3. 모두 바꾸기 또는 찾아서 바꾸기를 한다.
      regular2

    이런 식으로 TextWrangler의 표현식을 이용하여 찾기/바꾸기를 하면, 짧은 시간 안에 많은 내용을 HTML 형식으로 바꿀 수 있습니다.

EPUB으로 만들기
본문 내용과 줄바꾸기만 있는 텍스트 파일을 HTML 태그를 사용하는 이펍 본문 포맷으로 만들었으면, 마지막으로 스타일을 지정하고, 차례를 만들어 주면, 이펍 변환 작업이 끝납니다.

  1. Sigil을 실행하면, 빈 이펍 파일이 열립니다.
  2. “Styles” 폴더에서 마우스 오른쪽 단추를 눌러, “빈 스타일 추가”(Add Blank Stylesheet)를 선택합니다.
  3. “Style0001.css”가 생겼으면, 내용에 다음 내용을 복사해 넣습니다.
    body {line-height:1.5em;font-family:serif;}
    h1,h2,h3,h4,dt {font-family:sans-serif;}
    h2 {page-break-before: always; margin-bottom: -10px; text-indent: 1em;}
    p {text-indent: 1em;}
  4. TextWrangler에서 텍스트를 HTML 포맷으로 변경한 내용을 전체 또는 제1장에 해당하는 본문 내용을 복사하여 “Section0001.xhtml”의 <body> 다음 줄에 붙여넣습니다.
  5. 본문 내용이 길면, 챕터별로 나누어 복사하여 붙여넣기를 하는 것이 좋습니다.
    이때는 Sigil의 “Text” 폴더에서 마우스 오른쪽 단추를 눌러, “빈 HTML 파일 추가”(Add Blank HTML file)를 하면 “Section0002.xhtml”, “Section0003.xhtml” 등이 순서대로 생깁니다.
  6. 제1장, 제2장, 제3장이 각각 생겼다고 가정하고, 차례 만드는 과정을 설명하겠습니다.
  7. Sigil 메뉴에서 [Tools – Table of Contents – Generate Table of Contents]를 선택합니다.
  8. 헤딩 태그들이 차례 항목으로 자동 생성됩니다.
  9. 생성된 차례에서 불필요한 항목은 체크 박스를 해제하고, 차례에 표시될 제목을 바꾸거나(rename 버튼)들여쓰기/내여쓰기 버튼으로 단계를 조절한 다음, [OK] 버튼을 클릭하면, EPUB 변환 작업이 끝납니다.
  10. 저장한 다음, [깃든 리더]와 같은 이펍 뷰어에서 열면, 멋진 전자책이 스마트폰이나 태블릿에 생겨납니다.
    [깃든 리더]로 .epub 파일을 가져오는 방법은 깃든 리더 설명서 “13. 책 가져오기”를 보고 따라하면 되겠죠.
이 글은, 다른 곳에 퍼가는 것에 동의하지 않습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다