posted by 내.맘.대.로 2016. 10. 17. 19:00

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

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

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

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

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

오늘은 같은 패턴을 가진 시리즈물 편집입니다.

심야책방 세계문학 시리즈로 책의 내용에 따라 달라지는 점은 있지만 기본 형식은 동일합니다.

이런 시리즈물은 양식 하나만 잘 만들어 놓으면 1~2시간에 전자책 한권씩 만들 수 있습니다.


심야책방 세계문학은 편집이 간결합니다. 소설 중심이어서 복잡한 스타일은 많지 않습니다. 대신 시리즈의 정체성을 살려주는 포인트를 강조했습니다. 


1. 책은 표지, 속표지, 목차, 본문 순으로 편집해 3페이지만 넘기면 본문을 볼 수 있게 한다.

2. 속표지, 목차 스타일은 종이책 편집을 살리고 모두 통일시킨다.


크게 보면 이 두개를 기준으로 작업을 했습니다.



    

(기본적인 틀은 동일하고 책에 따라 조금씩 달라지는 시리즈물 스타일)



1. 주요 편집 스타일

이번 글은 금방 끝나겠네요 ^^;

시리즈물은 기본 양식 하나로 편집하기 때문에 작업 효율이 좋습니다. 전자책 만들 때 스타일 잡는 시간이 전체 편집 시간의 1/3 이상인데 스타일이 정해져 있기 때문에 제작 시간을 확 줄일 수 있습니다.

심야책방 세계문학 시리즈는 3가지 스타일이 반복적으로 사용됩니다. 


1.1. 속표지


저는 전자책을 만들 때 속표지는 넣지 않습니다. 속표지는 겉표지와 똑같이 만드는데 종이책에서는 형식상 필요하지만 전자책에서는 본문까지 가는데 한 페이지 더 넘겨야 하는 불편 외에는 다른 기능이 없거든요.


하지만 심야책방 세계문학 시리즈는 속표지를 넣었습니다. 표지 -> 목차 -> 본문 순으로 가면 조금 허전한 느낌이 들더라구요. 그리고 겉표지에서는 강조할 수없는 작품의 제목을 도드라져 보이도록 하는 역할도 합니다.



1.2. 목차


목차 스타일은 간단합니다. 다만 종이책과는 조금 다르게 가져갔습니다. 종이책처럼 뷰어 50% 지점에서 목차를 정렬할 수 있지만 전자책은 페이지도 없고, 다수의 책이 1장, 2장 처럼 간결하더라구요. 그래서 전자책에 맞게 오늘쪽 정렬을 시켰습니다. 




1.3. 본문


본문도 특별한 스타일은 없네요. 제목을 가운데정렬 한 것 외에는 신경쓸만한 스타일이 없습니다. 책에 따라 조금씩 다른 부분이 있긴 한데 그건 그때 그때 스타일을 만들어 적용했습니다.




2. 전자책 편집 스타일


2.1 속표지


[CSS]

h1

{

text-indent:0 !important;

text-align:center;

font-size:3em;

font-family: "Times New Roman", Times, serif;

display : table;

border-bottom : solid 1px #000000;

margin : 20% auto 10px auto;

padding-bottom : 10px;

}


h2

{

text-indent : 0 !important;

text-align:center;

font-size:1.6em;

font-family:"강조글꼴";

margin : 0 0 15% 0;

}


[HTML]

<h1 class="sigil_not_in_toc">Pride and Prejudice</h1>

<h2 class="sigil_not_in_toc">오만과 편견</h2>


심야책방 세계문학이 통일된 느낌을 갖게 만들기 위해 속표지에 신경을 썼습니다. 종이책은 표지에서 통일감을 부여할 수 있지만, 전자책은 표지를 볼 일이 썸네일 외에는 없습니다. 속표지 역시 마찬가지겠지만, 표지를 넘기자 마자 나오는 책 제목 영역을 강조하고 싶었습니다.


종이책 느낌은 살리면서 전자책에 맞게 편집을 하기 위해 몇가지 고민을 해야했습니다. 


첫째. 영문 제목 아랫쪽에 그어진 밑줄은 어디에 속하는가?

이 밑줄이 영문제목에 그어진 것이라면 영문제목의 줄이 바뀌더라도 단어별로 줄이 그어져야 합니다. 그렇지 않고 한글 제목과 영문제목을 구분해 주는 선이라면 줄바꿈과 상관 없이 한글제목과 구분되는 선 하나만 그어져야 합니다.


저는 이 선을 한글 제목과 구분하는 선이라고 봤습니다. 그래서 영문제목이 줄바꿈을 해도 한글제목 사이에 하나만 나타나도록 했습니다.


둘째. 제목 글자 크기

제목의 길이는 작품마다 모두 다릅니다. L'Etranger 처럼 짧은 제목도 있고 Throught the Looking-Glass 처럼 긴 제목도 있습니다. 제목 글자 크기를 화면 폭에 맞출 것인지, 아니면 일정 크기로 고정시킬 것인지를 고민했습니다. 책을 펼쳤을 때 제목이 눈에 확 들어오려면 화면 폭에 맞추는 것 보다는 줄바꿈이 된다 하더라도 일정 정도의 크기를 유지하는게 좋다고 생각했습니다.


뷰어는 기본적으로 영어 단어 단위로 줄바꿈을 합니다. 영어 단어를 폭에 맞춰 잘라내는 방법도 있지만 영문은 단어 단위로 움직이는게 좋기 때문에 뷰어 설정을 그대로 따랐습니다.


여기서 한가지 알아두면 유용한 속성이 있습니다.


border-bottom으로 선을 그리고, 텍스트를 가운데 정렬 하면 화면 왼쪽 끝에서 오른쪽 끝으로 선이 그어집니다. 아래 왼쪽 이미지가 boder-bottom으로 선을 그었을 때 결과입니다. 이럴 때 display:table 속성과 margin-left, margin-right에 auto 값을 넣어 주면 오른쪽처럼 단어나 문장에 딱 맞는 크기로 선이 그려집니다. 


display : table;

border-bottom : solid 1px #000000;

margin : 20% auto 10px auto;



(display : table; 속성을 추가하면 글자 크기에 맞게 선을 그을 수 있습니다)




스타일을 적용한 결과입니다. 화면 크기에 따라 제목 줄바꿈이 되고, 밑줄은 영문과 한글 제목을 구분해 주는 역할을 합니다. 뷰어에서 보면 영문 제목이 도드라져 보입니다. 심야책방 세계문학을 전자책으로 펼치면 제일 먼저 만나는 속표지입니다.






2.2 목차


[CSS]

.nav_title {

text-align : center;

text-indent:0 !important;

font-family:"강조글꼴";


display : table;

border-bottom : solid 1px #000000;

border-top : solid 1px #000000;

margin : 10% 5px 10% auto;

padding : 10px 0 10px 0;


}


.nav_list {

text-align : right;

line-height : 1.8em;

font-family:"기본글꼴";

list-style-type : none;

margin : 10% 5px 10px auto;

}


[HTML]

<p class="nav_title">차례</p>

<ol class="nav_list">

<li><a href="../Text/Section_0001.xhtml">제1부</a></li>...</ol>


종이책 목차는 페이지의 1/2 지점에 책 제목이 있고, 오른쪽으로 페이지 번호가 나옵니다. 

하지만 전자책은 페이지 번호가 없습니다. 그래서 1/2 지점에 목차를 정렬시킬 수는 있지만 그렇게 하면 목차가 아주 이상해집니다. 그래서 허전해 보여도 목차를 오른쪽 정렬 시켰습니다.


여기서도 2.1에서 설명했던 display:table 속성을 사용했습니다.

[차례] 위, 아래에 border-top과 boder-bottom으로 줄을 긋고 dispaly : table, margin-left : auto 속성으로 글자 크기에 맞췄습니다. 





목차 스타일은 이렇게 적용이 됩니다.

목차가 짧아 허전한 감이 있지만, 통일감을 주기 위해 없애지 않고 남겨뒀습니다.



2.3. 본문


본문 제목 스타일

h3

{

text-indent : 0 !important;

font-size:1.2em;

text-align : center;

font-family:"기본글꼴";

margin : 10% 0 15% 0;

}


.no {

font-size:0.8em;

margin : 0 0 1em 0;

display : block;

}


<h3><span class="no">1장</span>&nbsp;토끼 굴속으로</h3>


기타 본문 편집 스타일

sub /* 아랫첨자 */

{

font-size:0.8em;

vertical-align : baseline;

}


blockquote /* 문단 단위 인용문에 사용 */

{

text-indent : 1em;

padding : 1em 0 1em 1.5em;

}


blockquote > p {

font-size : 0.9em;

text-indent : 0;

}


strong /* 특정 단어나 문장 강조가 필요한 경우 사용.*/

{

font-family:"강조글꼴";

}


본문 역시 특별히 강조할 만한 내용은 없습니다. 

목차가 장 번호로만 이루어진 책이 있고, 장 번호와 제목이 함께 있는 책이 있는데 이럴 때 장 번호를 display:block을 써서 제목과 줄바꿈을 해줬습니다. 


본문에는 반복적으로 들어가는 스타일이 있습니다. 본문 내 인용구는 blockquote 태그를, 강조해야 하는 단어는 strong 태그를, 괄호 설명 항목은 sub 태그를 사용해 편집을 합니다. 종이책에서는 조금씩 다르게 표현되었더라도 전자책은 통일감을 주기 위해 스타일을 일치시켰습니다. 희곡처럼 다른 책들과 확연히 구분될 때만 몇가지 스타일을 추가해 줬습니다.



이번에는 복잡한 스타일이 들어가지는 않았습니다.

하지만 스타일이 비슷할 때는 기본 탬플릿을 만들고 이를 바탕으로 여러 책을 편집하는 방식을 설명드렸습니다. 같은 출판사의 책이라면 본문 글꼴, 줄간격, 인용구, 괄호나 영문/한자 등 외국어 표기를 통일시키는 것도 좋습니다. 편집 시간을 절약할 수 있고 출판사 스타일에 통일감을 줍니다.



2.4 편집시 자주 사용하는 기본 스타일


아래 스타일은 어떤 책을 편집하든 사용할 수 있는 스타일입니다. 

상황에 따라 조금씩 수정해 사용하시면 됩니다.



* {

margin : 0;

padding : 0;

}


p /* 본문 기본 스타일 */

{

font-family:"기본글꼴";

text-indent:1em;

text-align:justify;

line-height:1.8em;

font-size:1em;

}


.txt_center /* 가운데 정렬 */

{

text-align : center;

}


.txt_right /* 오른쪽 정렬 */

{

text-align : right;

}


sub /*괄호나 영문 한자 등 외국어 표기*/

{

font-size:0.8em;

vertical-align : baseline;

}


이미지를 왼쪽, 혹은 오른쪽에 어울림 배치하는 스타일

img {

max-width : 100%;

}


.img_right_box {

text-align : right;

text-indent : 0;

width : 50%;

float : right;

}


.img_left_box {

text-align : left;

text-indent : 0;

width : 50%;

float : right;

}


<p class="img_left_box"><img src="../Images/img004.jpg" alt=""/></p>


반응형
posted by 내.맘.대.로 2016. 10. 14. 19:00

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

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

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

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

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

[실전! 전자책 제작]에서는 전자책 제작의 실제 사례를 보여드립니다. 책 한권에 담겨있는 다양한 스타일을 소개하고, 이 스타일을 어떻게 만들었는지 알려드립니다. 스타일을 적용했을 때 각 유통사 뷰어에서 어떻게 보이는지 확인하실 수도 있습니다.

* 본 글에 사용된 책 및 스타일에 대한 내용은 출판사의 사용 허락을 받았습니다. 


책제목 : 내 인생 10년 후

출판사 : 토네이도

제작 시간 : 5시간


이 책은 편집이 간단했습니다. 복잡한 스타일이 없고 본문 내 이미지도 없는 책입니다. 하지만 장, 절, 소단락이 여러개로 나뉘어 있어 반복적으로 제목 스타일을 지정해 줘야하는 책입니다. 또한 괄호 설명과 인명 등에 영문표기가 포함되어 있어 편집 시간이 오래 걸렸습니다. 

편집은 간단하지만 다양한 기술이 적용된 책이기도 합니다. 배경이미지를 설정 div 태그 글상자, :before / :after 선택자, border로 선처리 등 편집이 복잡한 책에서 사용하는 스타일이 모두 담겨 있습니다.


Point

1. 100개 이상의 소단락이 있어 제목 스타일 지정이 번거로움

2. 괄호설명, 영문 표기 등은 일괄변경이 어려워 시간이 오래 걸림

3. 다양한 스타일 적용


1. 주요 편집 스타일


이 책에는 6개의 스타일이 필요합니다. 본문, 주석, 목차 등 다른 책에 공통으로 사용되는 기본 스타일은 제외한 것입니다. 

추가로 수백개가 넘는 괄호 설명과 영문표기에 스타일을 적용하려면 시간이 많이 필요합니다. 



1.1 프롤로그


'프롤로그'라는 굴림/고딕 글자 오른쪽에 세로 긴 줄이 있고, 본문보다 큰 글씨체로 프롤로그의 제목이 들어갑니다. 



1.2 장 제목


장 제목은 2페이지로 구성돼 있습니다. 세로보기 이용자가 많은 전자책에 이 편집을 그대로 넣으면 보기 좋지 않을거예요. 그래서 전자책에 맞춘 스타일이 필요했습니다. 




1.3 장 요약 글상자


회색 바탕에 흰색 본문 영역으로 된 글상자입니다. 글상자 안에 문단별로 스타일을 적용하면 되지만, 이런 글상자가 5번 반복되고, 글상자 안에 굵은 글씨와 설명으로 된 문단이 계속 반복됩니다. 글상자 안쪽 편집을 최소화 하는 스타일이 필요합니다.




1.4 중간 페이지??


장이 시작되면 명언이 들어가는 페이지가 있습니다. 따옴표 크기를 고정하면 간단합니다. 하지만 해상도가 높아지면 따옴표가 글자 크기보다 작아질 수 있습니다. 화면 크기에 맞게 따옴표 크기가 바뀌도록 스타일을 적용했습니다.




1.5 절 제목


위 아래로 선이 있습니다. 간단한 방법은, 제목 위, 아래로 이미지를 넣는 것입니다. 그런데 이런 절이 30번 이상 반복됩니다. 제목 편집 시간을 최소로 줄일 수 있는 스타일이 필요합니다.



1.6 소단락 제목


소단락은 100번 이상 반복됩니다. 이 경우 사람이 직접 위치를 확인하고 수정을 해야합니다. 제목 앞에 길게 그어진 줄이 본문 앞까지 이어지는 것도 처리해야합니다. 편집이 복잡하면 시간이 오래 걸리기 때문에 간단히 작업할 수 있는 스타일이 필요합니다.

아울러, 종이책 목차에는 소단락이 정리되어 있지 않습니다. 필요 없어서일 수도 있지만 종이책 목차 페이지의 한계 때문인 경우가 많습니다. 전자책에서는 소단락까지 목차를 표시하려고 합니다. 100개를 전부 수작업으로 추가하기는 힘들기 때문에 목차 작업을 한번에 할 수 있어야 합니다.



1.7 괄호 설명, 영문 표기


아래처럼 괄호로 단어의 뜻이나 설명을 추가한 책이 많습니다. 책 한권에 이런 설명이 수십에서 수백개가 나올 수 있어 본문을 보며 찾으려면 시간이 아주 오래 걸립니다.그리고 보지 못해 빼먹는 경우도 생깁니다.



괄호로 묶여있으면 찾기 쉽습니다. [찾기]기능으로 괄호[( ]만 찾아 확인하면 되니까요. 찾아바꾸기로 일괄 변경도 가능합니다. 그런데 이런 영문인 경우는?




영문이 모두 해당하는 것도 아닙니다. 이렇게 부가 설명이나 표기가 아닌, 본문에도 영문이 사용될 수 있습니다. 이를 구분해야 하기 때문에 편집 시간이 오래 걸리지요. 방법은 없습니다. 직접 눈으로 확인을 해야합니다. 하지만 조금 편한 방법은 있습니다.





2. 스타일 편집


[1. 주요 편집 스타일]에 설명한 스타일을 적용해 보도록 하겠습니다. 여기 소개한 스타일이 정석은 아닙니다. 전자책 편집에 정석이란 없습니다. 편집자별로 고유의 방식이 있고, 그 방법이 가장 좋다고 생각합니다.

이 글은 전자책 제작 공부를 하는 분들, 편집을 하는데 막힌 부분이 있어 해결책을 찾는 분들, 그리고 자신이 쓰는 방법이 최선이 아니라는 생각이 들어 보다 편한 방법을 찾는 분들이 참고하실 수 있도록 제가 사용하는 방법을 정리한 것입니다.

여기 적힌 스타일을 보다가 '내가 쓰는 방식이 더 편하고 효율적이네' 라는 생각이 드시면 언제든 댓글을 남겨주세요. 저도 다른 분들이 사용하는 방식을 보면 큰 공부가 됩니다^^


2.1 프롤로그


[CSS]

.prologue {

height: 4em;

text-indent: 0;

text-align : left;

display: -webkit-flex;

display: flex;

}


.prologue_small {

font-family: "고딕";

font-size: 0.7em;

padding : 0 0.5em 4em 0;

margin-right : 0.5em;

border-right : 1px solid #000000;

flex : 1;

}


[HTML]

  <h3 class="prologue"><span class="prologue_small">프롤로그</span> 빛나는<br/>10년 후를 소망하며</h3>


<p>선택의 기로에서는 누구나 설렘과 두려움을 동시에 마주한다. 처음 이 책의 출간 제안을 받을 때 나 역시 그랬다....</p>


프롤로그의 포인트는 단어와 단어 사이에 있는 세로줄입니다. 줄에 맞춰 시작되는 본문(첫 단락에만 들여쓰기 3em 적용)도 있지만, 이건 소단락에서 설명드리겠습니다.


단어와 단어 사이에 긴 세로줄을 긋는 가장 쉬운 방법은 폭 1px 짜리 이미지입니다. 단어와 단어 사이에 이미지를 넣고 vertical-align : text-top 스타일을 지정하면 됩니다. 


img.top { vertical-align : text-top; }


<h3>프롤로그 <img class="top" alt="h_line_50" src="../Images/h_line_50.png"/>빛나는 10년 후를 소망하며</h3>


프롤로그 스타일은 본문 전체에 2번 적용되고 본문에 세로줄 이미지를 사용하고 있으니 이렇게 해도 괜찮습니다. 그런데 문제가 하나 있어요. 아래처럼 제목 줄바꿈을 하면? 이건 직접 해보세요^^


저는 프롤로그 제목 영역을 세로 4줄 크기 글상자로 생각했습니다. 아래 빨간색 테두리처럼 상자를 만든거지요.


.prologue 클래스에 height : 4em; 스타일이 이를 위한 것입니다. 세로줄을 더 길게 혹은 짧게 하고 싶다면 이 부분을 수정하면 됩니다.


그리고 display : flex; 라는 스타일을 적용했습니다. 여기는 CSS를 설명하는 곳이 아니니 flex 속성에 대한 설명은 하지 않습니다. 이곳을 참고하세요 : http://www.w3schools.com/cssref/css3_pr_flex.asp

flex를 넣은 이유는 <br /> 태그로 제목을 2줄로 만들기 위해서입니다. flex를 빼보면 이해하실거예요^^


[프롤로그]라는 글자는 본문보다 작습니다. 그래서 클래스명도 단순하게 prologue_small이라고 붙이고, 여기에 세로줄을 추가했습니다.


border-right : 1px solid #000000;




여기서 잠깐! 그냥 prologue_small에 height : 4em;을 추가하면 되는거 아냐? 라는 생각이 들었다면 박수를 쳐드리고 싶네요. 이렇게 하면 prologue라는 스타일을 만들지 않아도 되니 훨씬 간단해 질 수 있거든요. CSS 속성만 보고도 머릿속에 스타일이 그려질 정도의 고수가 아니라면 이런 생각을 해야합니다. 저도 예전에 이렇게 접근을 한 적이 있어요.

그런데 span 태그의 특성이 있습니다. span 태그는 부모 속성의 영향을 받습니다. 그래서 자신이 속해있는 부모 속성을 벗어난 경우 속성이 적용되지 않아요.


.t_height { height : 4em; border : solid 1px red; margin : 4em; }


<p><span class="t_height">프롤로그</span> 빛나는 10년 후를 소망하며</p>


이 코드로 확인을 해보세요. height는 적용되지 않고, margin도 좌우 4em은 적용되지만 위아래는 적용되지 않습니다. margin 대신 padding을 쓰면 위아래 여백을 넣을 수 있어요. 하지만 이것도 문제가 있습니다. 어떤 문제인지는 직접 실습을... ^^;

.prologue_small에 있는 다른 속성은 세로줄과 글자 사이에 간격을 주고 글자 크기, 글꼴 등을 지정하는 속성입니다. flex : 1;은 prologue  선택자에 있던 display : flex; 속성과 한 세트입니다. 여기서는 없어도 되지만, 세트로 움직이기 때문에 넣어줬습니다. 


스타일의 결과물입니다. 종이책과 비교해 보세요.(클릭하면 큰 이미지로 볼 수 있습니다)


  


왼쪽이 전자책, 오른쪽이 종이책


Tip : 전자책을 보지 않는 분들이 하는 실수!

PC에서 전자책 이미지를 보면 '좀 이상한데'라고 느껴질 수 있습니다. 당연합니다. 해상도도 다르고, 화면 크기도 다르니 이상할 수 밖에요. 전자책 이미지 결과물은 스마트폰에서 캡쳐했습니다. 그러니 스마트폰으로 봐야 전자책으로 어떻게 보이는지 알 수 있습니다.



2.2 장 제목


.ch_bg {

background-image : url("../Images/Chapter_bg.png");

background-repeat : no-repeat;

background-size: 100%;

}


h2 {

font-family: "기본글꼴";

text-align : right;

font-size : 1.6em;

}


.ch_no {

font-family: "고딕";

font-size : 0.6em;

border-bottom : 1px solid #000000;

}


[HTML]

<body class="ch_bg">

<p><br/></p>

<p><br/></p>

<h2><span class="ch_no">Chapter 5</span><br/><br/>당당히 내딛는<br/>10년 후</h2>

</body>



전자책 이용자는 세로로 책을 보는 경우가 많습니다. 그래서 종이책 2페이지에 걸쳐 담긴 이미지나 편집은 전자책으로 만들 때 편집 자체를 새로 하는게 좋아요. 책의 느낌은 살리면서 가로, 세로 모드에서 자연스럽게 보일 수 있도록 해야합니다. 

이 책의 장 제목 페이지를 보세요.



두 페이지에 걸쳐 있습니다. 이렇게 똑같이 만들 수는 있어요. 그런데 스마트폰에서 세로로 보면 어떻게 될지 생각해보세요.


이 스타일을 종이책 느낌은 살리면서 가로, 세로에서 문제없이 보이도록 하려면 어떻게 해야하나 고민을 했습니다. 사실 스타일을 만드는건 어렵지 않아요. 스타일을 어떡게 만들지 결정하는게 더 어렵습니다.


전자책 만드는 시간이 5시간이라면, 스타일 고민하는 시간이 2~3시간 정도 되요. 스타일만 잡으면 나머지는 단순작업입니다. 종이책과 똑같이 만들 수도 있어요. PDF처럼 위쪽 페이지에는 꽃 이미지가, 아랫쪽 페이지에는 챕터 제목이 들어가도록 할 수 있습니다. 이렇게 만들기는 어렵지 않으니 고민할 필요도 없지요.


제가 선택한 방법은, 꽃 이미지를 그대로 배경에 쓰는거였습니다. 하지만 가로로 보는 독자도 생각을 해야하니 이미지로 넣을 수는 없었습니다.


세로로 볼 때


가로로 볼 때



종이책과 똑같지 않습니다. 그럴 수도 없고요. 전자책은 종이책이 아니기 때문에 똑같이 만들 필요도 절대 없습니다. 다만, 종이책 편집자가 담으려는 느낌을 표현해 줄 수 있으면 됩니다. 


이미지를 그냥 넣으면 세로일 때는 화면 크기에 맞겠지만 가로로 돌아가면 이미지가 작아지거나 한쪽으로 늘어나버립니다. 뷰어에 따라서는 2페이지에 걸쳐 이미지가 나타날 수도 있습니다. 그래서 가로로 돌려도 자연스럽게 표현이 되도록 배경으로 처리를 했습니다.


.ch_bg {

background-image : url("../Images/Chapter_bg.png");

background-repeat : no-repeat;

background-size: 100%;

}


이미지 크기는 가로 화면 기준으로 100%로 보이도록 하고, 화면 크기에 상관 없이 이미지가 보이도록 no-repeat 속성을 부여했습니다.(속성 설명은 http://www.w3schools.com/css/css_background.asp 참고)


장 번호에 밑줄을 살리기 위해 border-bottom을 썼습니다. 그리고 <br/> 태그로 간격을 벌렸고요. 줄간격 속성이나 여백을 쓸 수도 있지만, 장 제목 페이지는 5개밖에 되지 않아 <br/>태그로 처리를 했습니다.


div 태그나 p 태그를 사용해 장 번호와 제목을 2단락으로 나눌 수도 있습니다. 하지만 제목은 가급적 제목태그로 묶는게 좋습니다. 나중에 목차 편집이 편해지거든요. 


어려운 스타일은 없습니다. 하지만 다른 부분은 종이책 그대로 표현을 하면 되는데 장 제목은 그대로 표현을 할 수 없어 이런 방법을 생각해 내기 까지 시간이 걸렸네요.



2.3 장 요약 글상자


body.bg_grey  {

background-color : #E7E7E8;

}


.bg_grey p {

font-family: "고딕";

font-size : 0.9em;

text-indent : 0;

margin-bottom : 1em;

text-align : justify;

}


div.bg_white {

background-color : #FFFFFF;

padding : 0.5em;

margin : 1em;

}


p.gothic_140 {

font-size : 1.2em;

margin-bottom : 0;

font-weight : bold;

}


<body class="bg_grey">

<div class="bg_white">

<p class="gothic_140">일자리가 사라지다</p>


<p>인간의 일자리가 위태롭다. 기계가 인간의 일터를 ‘점령군’처럼 접수한다. 2020년까지 5백만 개, 2030년까지 20억 개의 일자리가 사라진다. 고용 시대의 종언 징후는 곳곳에서 감지되고 금융은 ‘우버 모멘트’ 문턱을 서성댄다. ‘일자리 없는 문명의 도래’가 가시권으로 들어오고 있다. 바뀐 생태계에 당신을 어떻게 최적화할 것인가?</p>


회색 테두리에 흰색 바탕, 글자는 본문과 다른 고딕체입니다. 

그리고 각 절의 제목이 강조되어 있는 스타일.


회색 테두리를 치는 방법은 다양합니다.

제가 종종 쓰는 방식 두가지를 보여드리면...


첫째. div 태그로 회색 배경, 안쪽에 흰색 바탕을 넣는 방식입니다. 바깥쪽 div 상자에 padding을 줘서 테두리처럼 보이게 합니다.


.bg_grey {

background-color : #E7E7E8;

padding : 1em;

}


.bg_white {

background-color : #FFFFFF;

}


<div class="bg_grey">

<div class="bg_white">

<p>인간의 일자리가 위태롭다. ...</p>

</div>

</div>




두번째 방법으로 간단한 테두리 글상자를 만들 때 사용합니다. border로 선을 긋고 필요한 만큼 두께를 주는 방식이에요. 코드가 간결합니다.


.bg_border {

border : solid 15px #E7E7E8;

}


<div class="bg_border">

<p>인간의 일자리가 위태롭다. ...</p>

</div>



이것 외에도 무수히 많은 방법이 있습니다. 

그런데 이 책을 만들 때는 첫번째 방식을 조금 변형시켰습니다.

왜 그럴까요?


위 두 방식을 보시면 테두리 바깥으로 흰색 여백이 보입니다. 전자책 뷰어는 기본 여백이 있기 때문에 이보다 여백이 더 클거예요. 이 책에는 회색 테두리 바깥쪽에 여백을 두고 싶지 않았습니다.


그래서 해결 방법은?


<body class="bg_grey">


body 태그에 회색 배경색을 입혔습니다. 이 단락은 페이지 전체가 글상자로 되어 있기 때문에 본문을 고려하지 않아도 됩니다. 만약 본문 중간에 회색 테두리가 필요하다면 이런 방식은 피해야합니다.


그리고 많은 편집자들이 비슷하겠지만, 문단 기본 태그 p에는 항상 대표 스타일을 적용해 놓습니다.


p {

font-family: "기본글꼴";

text-align : justify;

text-indent : 1em;

line-height : 1.8em;

}


CSS를 구분해 만들지 않았으니 글상자의 본문도 이 스타일이 적용됩니다. 그래서 CSS의 가족관계를 이용해 bg_grey 스타일이 적용된 곳의 p 태그는 대표 스타일이 아닌 다른 스타일이 적용되도록 했습니다. 절 제목이요? 그건 그냥 클래스로 지정해 주는게 편해요 ^^

.bg_grey p {

font-family: "고딕";

font-size : 0.9em;

text-indent : 0;

margin-bottom : 1em;

text-align : justify;

}


책에는 여백이 없는데 전자책으로 보니 답답하더라구요. 그래서 전자책은 여백을 살짝 줬습니다. 

몇번을 강조하지만, 전자책과 종이책은 다릅니다. 종이책 스타일을 무조건 지키기 보다는 전자책을 볼 때 독자들이 더 편하게 느낄 수 있는 스타일을 선택하세요.


아래 이미지로 전자책 최종 스타일과 종이책 스타일을 비교해 보세요.





2.4 중간 페이지


bg_grey_01 {

background-color : #E7E7E8;

}


blockquote {

margin : 1em 0 1em 0;

}


blockquote > p {

text-align : center;

font-family: "기본글꼴";

text-indent : 0;

}


.gothic_100_b {

font-family: "고딕";

font-wieght : bold;

}


.img_quote {

width : 20%;

max-width : 10%;

}


<body class="bg_grey_01">

<p><br/></p>


<p class="txt_center quote_block"><img class="img_quote" alt="quote_up" src="../Images/quote_up.png"/></p>


<blockquote>

<p>미래는 여러 가지 이름을 가지고 있다....</p>

</blockquote>


<p class="txt_center"><img class="img_quote" alt="quote_down" src="../Images/quote_down.png"/></p>

</body>


종이책 출판에 깊은 지식이 없어서 이런 영역을 뭐라 부르는지 모르겠네요. 장이나 절이 시작되는 부분에 주로 들어가는 페이지입니다.


이 책에는 명언 위 아래로 따옴표가 들어갑니다. 배경은 회색이고, 명언을 남긴 사람들은 고딕체로 되어 있습니다.


배경 회색은 2.3에서 만든게 있는데 본문 태그에 스타일을 적용해서 사용할 수 없었습니다. 그래서 새로 회색 배경 스타일을 만들었어요. 실제 코드는 조금 다릅니다. 똑같은 스타일을 2개 이상의 클래스에 지정할 때는 따옴표를 이용할 수 있거든요.


body.bg_grey, .bg_grey_01 {

background-color : #E7E7E8;

}


이렇게 2.3과 2.4에서 쓰일 회색 배경 스타일을 한번에 지정했습니다.

이미지는 화면 비율에 따라 달라지도록 했습니다. 스마트폰의 텍스트 크기와 아이패드의 텍스트 크기가 다르잖아요. 화면이 커지면 따옴표도 커집니다. 얼마나 크게 할건지는 따옴표 이미지의 실제 크기에 따라 달라집니다.


특별한건 전혀 없는데 스타일은 많고 코드는 복잡한 페이지였네요.


* 아래 이미지의 사람 이름에 고딕체를 적용하기 전 화면입니다. 나중에 수정했는데 귀차니즘이...^^;;




2.5 절 제목


h3 {

font-family: "기본글꼴";

text-align : center;

margin-bottom : 2em;

}


h3:before {

content : url("../Images/h_line_50.png");

display : block;

}


h3:after {

content : url("../Images/h_line_100.png");

display : block;

}


h3 + p {

text-indent : 3em;

}


<h3>일자리가 사라지다</h3>


<p>인간의 일자리가 위태롭다. ...</p>


절 제목 스타일의 포인트는 위, 아래에 그어진 세로선과 첫문단 들여쓰기입니다.

위, 아래에 이미지를 직접 넣어도 되는데, 60번 넘게 <p><img src....> 태그를 반복하고 싶지 않았어요. 30개가 넘는 절로 구성되어 있고, 위, 아래에 이미지를 넣어야 하니 60번 이상 반복을 해야합니다.


대신 h3 태그에 스타일을 모두 집어 넣었습니다. 

:before 선택자는 h3 앞쪽에, :after는 뒤쪽에 특정 문장이나 이미지를 넣을 수 있게 해줍니다. 그냥 사용하면 이렇게 표현이 되요.


[앞쪽 콘텐츠] h3 텍스트 [뒷쪽 콘텐츠]


그래서 display : block; 속성을 추가했습니다. 이 속성은 '무조건 다음줄로' 쯤으로 이해하시면 되요.


그리고 가족관계를 이용해 h3 바로 다음에 나오는 p 태그(+p)는 무조건 3em 들여쓰기가 되도록 했습니다. +는 '바로 다음에 나오는' 태그만 영향을 줍니다.





2.6 소단락 제목


h4 {

font-family: "고딕";

font-weight : bold;

font-siz : 1em;

border-left : 1px solid #000000;

height : 6em;

margin : 2em 0 -1.5em 1em;

padding-left : 0.5em;

line-height : 1.8em;

}


h4 + p {

text-indent : 1.5em;

}


100번 넘게 반복이 되는 소단락. 그래서 편집이 복잡하면 편집시간이 길어질 수 밖에 없습니다. 편집을 간단하게 하려면 태그 하나에 스타일을 모두 집어넣어야겠지요? 그래서 h4 태그에 스타일을 모두 담았습니다.


소단락 제목의 핵심은 제목 옆에 있는 세로줄. 세로줄이 본문 영역까지 내려가 있는걸 표현해야 합니다. 


여기엔 중요한 Tip이 하나 사용됐습니다. 


margin : -1.5em;


유용하게 사용할 수 있는 속성인데 모르는 분들이 많더라구요.

마진에 음수 값을 쓰면 두 영역을 겹치게 할 수 있어요. 아래 이미지 보시면 제목 영역에 음수를 써서 본문과 겹칩니다. 저 점선은 제가 그려 넣은게 아니고 제목과 본문 영역에 border로 테두리를 친거예요. 제목 영역의 빨간 테두리가 본문 영역까지 내려가 있습니다.


그럼 테두리를 모두 지우고 제목 영역의 왼쪽 테두리 점선을 검정 실선으로 바꿔보세요. 표현하려는 스타일이 딱 나오지 않나요?


참고로 margin은 음수 값 사용이 가능한데, padding은 음수 값을 사용할 수 없습니다. 이건 스타일의 속성 때문인데, 다음에 기회 되면 설명할게요 ^^;;




이 Tip은 다양한 활용이 가능합니다. 

아래 예제를 보세요. 이미지 위에 텍스트가 있습니다. 이미지 하나라고 생각하시겠지만, 이미지 위에 '포스트잇'이라는 텍스트를 올려놓은 거예요.


만약 저런 형태로 포스트잇 001 ~ 포스트잇 100까지 있는 책이라 생각해보세요. 이미지로 만들려면 100개의 포스트잇 이미지가 필요합니다. 그런데 margin  음수 값을 이용하면 이미지 하나로 포스트잇 001 ~ 100까지 표현할 수 있습니다.


.img_postit {

margin-bottom : -65px;

text-align : center;

}


.txt_center {

text-align : center;

}


<body>

<p class="img_postit"><img alt="postit" src="../Images/postit.png"/><br/></p>

<p class="txt_center"> 포스트잇</p>

</body>





다른 스타일은 특별한게 없으니 설명을 생략합니다. 최종 결과물 참고하세요.





2.7 괄호 설명, 영문 표기


sub {

font-size : 0.8em;

vertical-align : baseline;

}


 <p>인간의 일자리가 위태롭다. 기계는 제조업 일자리를 하나둘 꿰차더니 이제는 호시탐탐 전문직까지 노린다. 인공지능<sub>(AI)</sub>으로 무장한 기계는 인간의 뇌를 능가한다. 빅데이터<sub>Big Data</sub>를 순식간에 분석하고, 고객에게 맞춤형 금융 포트폴리오를 짜주고, 지진과...</p>


괄호 설명과 영문 표기는 sub 혹은 sup 태그를 사용하길 권해드립니다. span 태그를 쓰는 분들이 있는데 sub/sup를 쓰면 코드가 훨씬 깔끔해요.


sub, sup는 스타일 업이 사용하면 위나 아래로 튀어나옵니다. 기본 속성이기 때문에 사용 전에 스타일을 지정해 주는게 좋아요.


위, 아래로 튀어나오지 않고 본문 텍스트에 잘 어울리게 하려면 vertical-align 속성을 사용합니다. (속성 설명은 여기를 참고하세요 http://www.w3schools.com/cssref/pr_pos_vertical-align.asp)


vertical-align : baseline;


저는 아랫첨자에 baseline 값을 주로 쓰는데 편집하는 책에 맞춰 원하는 속성을 사용하시면 되요.


이제 괄호 설명과 영문 표기 항목을 찾아야하네요.

눈으로 쫓기엔 너무 많고, 놓칠 수도 있습니다.


이 책은 본문 내에 괄호 설명 외에는 괄호가 사용된 곳이 없습니다. 그래서 찾아바꾸기로 간단히 처리했어요.


찾기 : (

바꾸기 : <sub>(


찾기 : )

바꾸기 : )</sub>


이렇게 두번으로 끝냈습니다.


문제는 영문 표기예요.

세보니 딱 138개네요. 하나씩 찾아서 세지는 않았겠지요^^?


영문 표기에는 패턴이 있습니다. 이게 본문 내에 쓰인 영어단어와 영문 표기를 구분해 주는 역할을 합니다. 


한글English


한글 옆에 붙어 영문이 시작됩니다. 본문 내 영어단어는 [한글 English] 이렇게 한칸 띄어쓰기가 되어있어 구분을 할 수 있습니다.


한글 옆에 영어 단어가 한 단어만 나오는건 아닙니다. 이 책에서는 3개까지 나옵니다. 이럴 때는 3개, 2개, 1개 순으로~


한글English English English

한글English English

한글English


위 문장을 찾는다고 생각해 보세요.


한글English로 검색을 하면 결과는 3번 찾습니다.

한글English English English로 검색을 하면 1번 찾지요. 2번, 1번 반복되는 단어는 찾지 않습니다.


이 패턴을 정규표현식에 대입해 영문표기를 바꿔보겠습니다.


찾기 : ([가-힣])([a-zA-Z]+) ([a-zA-Z]+) ([a-zA-Z]+)

바꾸기 : \1<sub>\2 \3 \4</sub>


정규표현식은 따로 설명을 했기때문에 여기서 자세히 다루지는 않겠습니다. 이렇게 찾아바꾸기를 하면 이런 결과가 나옵니다.


한글<sub>English English English</sub>

한글English English

한글English


다시한번 찾아바꾸기를 합니다.


찾기 : ([가-힣])([a-zA-Z]+) ([a-zA-Z]+)

바꾸기 : \1<sub>\2 \3</sub>


그럼 이렇게 바뀝니다.


한글<sub>English English English</sub>

한글<sub>English English</sub>

한글English


원리를 이해 하셨나요?


중요!!!

이건 완벽한 바꾸기 식이 아닙니다. 변수가 너무 많기 때문에 영문표기를 한번에 완벽하게 바꾸는 공식을 Sigil의 정규표현식으로 표현하기는 불가능해요. 영문 표기 중간에 다른 기호가 들어갈 수도 있고, 한글English인데 영문 표기가 아닐 수도 있고, 변수가 많습니다.


그래서 이 식을 쓰려면 [찾아 바꾸기]가 아니라 [찾기]로 바꿀 부분을 확인한 후 [바꾸기]로 바꿔야되요. 눈으로 찾는 것 보다 시간은 많이 절약할 수 있지만, 그래도 시간이 많이 걸리는 작업입니다.


이렇게 해서 '내 인생 10년 후' 전자책 제작이 끝났네요 ^^


설명하다 보니 엄청 길어졌어요 ㅜ.ㅜ 

다음엔 좀 더 쉬운 책을 소개해야겠네요 ^^


반응형
posted by 내.맘.대.로 2016. 10. 10. 17:14

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

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

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

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

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

이전 글 [반복작업 줄여주는 두가지 Tip(http://epubguide.net/187)]에서 가족관계와 :before, :after에 대해 설명을 드렸습니다. 이 태그를 이용하면 제목 태그(h1 ~ h6)만 써도 제목에 반복되는 다양한 패턴을 추가할 수 있다고 설명드렸습니다. 오늘은 이 두 태그가 실제로 어떻게 쓰이는지 보여드리려고 합니다.


종이책을 EPUB으로 변환하는데 이런 스타일이 나오네요.


1. 반복되는 절 제목


토네이도 출판사의 '내 인생 10년 후'라는 책으로 5개 장, 34개 절로 구성돼 있습니다. 아래 이미지가 34개 절 중 하나입니다. 

<종이책의 절 제목>



여기엔 두가지 편집이 필요합니다.

 

1. 절 제목 위, 아래에 1픽셀짜리 세로줄

2. 제목 아래 첫번째 단락에 들여쓰기(두번째 단락부터는 들여쓰기가 1자입니다)


많은 분들이 이런 코드를 사용할거예요.


[Images]

h_lime_50.png /*50픽셀짜리 세로줄*/

h_line_100.png /*100픽셀짜리 세로줄*/


[STYLE] /*글꼴 등 다른 스타일은 생략합니다*/

.h_line_center {

text-align : center;

...

}


h3 {

text-align : center;

margin-bottom : 2em;

...

}


.indent_3em {

text-indent : 3em;

}


[HTML]

<div class="h_line_center">

<img src="../Images/h_line_50.png" /> 

</div>

<h3>일자리가 사라지다</h3>

<div class="h_line_center"> 

<img src="../Images/h_line_100.png" />

</div>


<p class="indent_3em">인간의 일자리가....</p>



조금 더 센스있는 분이라면 가로*세로 1픽셀짜리 이미지를 넣고 이미지의 height를 50, 100픽셀로 조절하시겠지요. 


그런데 34개의 절을 모두 저렇게 복잡한 태그를 사용해 표현해야할까요? 조금씩 코드는 다르겠지만, 제목 윗쪽과 아랫쪽에 이미지를 2개 넣다보면 코드가 복잡해집니다. 이걸 34번 반복하는 것도 번거로운 일이에요. 찾아바꾸기를 써서 반복작업을 줄일 수도 있겠지만...


이 코드를 :before와 :after 코드를 사용해 깔끔하게 정리해 볼게요.


[Images]

h_lime_50.png /*50픽셀짜리 세로줄*/

h_line_100.png /*100픽셀짜리 세로줄*/


[STYLE]

h3 {

text-align : center;

margin-bottom : 2em;

}


h3:before {

content : url("../Images/h_line_50.png");

display : block;

}


h3:after {

content : url("../Images/h_line_100.png");

display : block;

}


h3 + p {

text-indent : 3em;

}


[HTML]

<h3>일자리가 사라지다</h3>

<p>인간의 일자리가....</p>


스타일은 복잡해졌습니다. 그런데 스타일은 딱 한번만 들어가니 아무리 복잡해도 편집 시간이 크게 늘어나지는 않습니다. 대신 HTML 태그를 비교해 보세요. 34번 반복해야 하는 HTML 태그가 깔끔하게 정리됐습니다. 


일반적인 코드 

 :before, :after를 사용한 코드

<div class="h_line_center">

<img src="../Images/h_line_50.png" /> 

</div>

<h3>일자리가 사라지다</h3>

<div class="h_line_center"> 

<img src="../Images/h_line_100.png" />

</div>


<p class="indent_3em">인간의 일자리가....</p>

 <h3>일자리가 사라지다</h3>

<p>인간의 일자리가....</p>


왼쪽 코드를 34번 넣는 것 보다 오른쪽 코드가 훨씬 편하겠지요?

두번째 코드의 미리보기 화면입니다.




2. 반복되는 소단락 제목

이 편집을 처음 보고 어떤 편집이 좋을지 고민을 했어요. 왼쪽 줄에 이미지를 넣어야 하나? 첫번째 단락에 :before를 써서 줄을 넣을까? 여러가지 방법이 있을거예요. 다른 분들은 이런 스타일을 어떻게 편집할지 궁금하네요. 제목 왼쪽에 붙은 줄은 표현이 쉽지만 본문 첫째줄까지 들어가야하니 조금 까다롭습니다.




이 책의 소단락은 각 절별로 5개 안팎으로 있습니다. 35개 절 * 5개 소단락이니 150번 이상 반복이 됩니다. HTML 코드가 복잡하면 편집 시간이 크게 늘어날 수 밖에 없어요. 그래서 편집 역시 HTML 코드를 간단히 처리할 수 있도록 CSS를 짰습니다. 


CSS는 한번, HTML 코드는 150번 이상 반복해야되니 HTML과 CSS 중 하나를 간결하게 표현하라면 HTML을 선택하는게 좋아요. 물론 무조건 HTML을 선택해야 한다는건 아닙니다. CSS가 너무 복잡해지면 뷰어에서 편집이 깨질 수 있거든요. 


[STYLE]

h4 { /*글꼴 등 기본 스타일은 생략*/

border-left : 1px solid #000000;

height : 6em;

margin : 2em 0 -1.5em 1em;

padding-left : 0.5em;

line-height : 1.8em;

...

}


h4 + p {

text-indent : 1.5em;

}


[HTML]

<h4>‘일터의 점령자’<br/>인공지능</h4>

<p>내가 신문기자로 입사한 건 1988년이다...</p>


이 코드에서 관심있게 봐야할 부분은 제목(h4) 태그의 margin입니다. 


margin : 2em 0 -1.5em 1em;


margin 태그는 [margin : 윗쪽 오른쪽 아랫쪽 왼쪽] 순서로 여백을 넣습니다. 

위 스타일을 잘 살펴보면 아랫쪽 스타일이 -1.5em 입니다. 음수가 들어갔어요. 이렇게 음수를 넣으면 윗쪽과 아랫쪽 단락이 겹치게 됩니다.



윗쪽과 아랫쪽 단락 테두리를 그리면 위 이미지처럼 서로 겹치는걸 볼 수 있어요. 그럼 여기서 테두리를 없애고, 윗쪽 단락 왼쪽에만 테두리를 그리면 어떻게 될까요? 위 이미지의 왼쪽 빨간색 점선만 남고 다른 선들은 모두 지워지겠지요? 이 방법을 이용해서 본문 첫번째 단락 앞까지 줄을 그을 수 있습니다.




34개의 절, 150개의 소단락 제목 스타일을 간단한 HTML 코드로 편집할 수 있는 실전 Tip이었습니다 ^^

반응형
posted by 내.맘.대.로 2016. 10. 5. 12:04

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

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

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

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

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

본문 내용을 정리하거나 Tip을 편집할 때 글상자를 많이 사용합니다.

아래처럼 본문의 중요한 내용을 한눈에 알아보기 쉽게 정리할 때, 아니면 본문에서 다루지는 않았지만 알아두면 좋은 Tip을 정리할 때 처럼요.


이런 편집을 할 때는 본문과 구분을 위해 노트나 메모장처럼 보이도록 편집을 합니다. 그래서 전자책으로 변환을 할 때 이 부분을 표현하기 까다로와요.


최근에 편집한 책 중에 이런 편집이 있었습니다. 3 종류의 글상자가 있는데 아래 이미지를 참고하세요.




<본문의 중요 단어를 알아보기 쉽게 편집한 글상자>



<본문 내용의 핵심을 간략히 정리한 글상자>


<본문에서 다루지 않았지만 알아두면 좋은 Tip >



이런 편집을 쉽게 표현하는 방법은 2가지입니다. 2가지 방법 뿐이라는 얘기가 아니니 오해는 하지 마세요. 많은 편집자들이 사용하고 있는 방법이 2가지라는 얘기입니다.


1. table을 이용한다.

2. div를 이용한다.


첫번째 방법은 1행 3열 테이블을 만들어 1행과 3행에 이미지를 넣고 2행에 본문을 넣는 형태예요.


 [글상자 이미지]

 본문

 [글상자 이미지]



두번째 방법은 테이블과 비슷한데 div 태그를 사용합니다.

[글상자 이미지]
본문
[글상자 이미지]



이번 책을 편집하면서 저는 table로 글상자를 만들었습니다. table로 만들면 div 보다 구조화 시킬 수 있거든요. 아래 이미지 3개가 캘리버(caliber)로 본 table로 만든 글상자입니다. 




그런데 유통사 뷰어에서 table로 만든 글상자 표현 문제를 발견했습니다.

저처럼 table로 글상자를 만드는 분들은 참고하시고, table 대신 div 태그로 만드는걸 권해드립니다.




1. 예스24 뷰어


첫번째 테이블은 문제가 없어보입니다. 배경도 흰색이고 본문쪽에도 배경 스타일이 없어 아무 문제 없습니다. 




두번째 테이블에서는 심각한 문제가 확인됐습니다. 위쪽 이미지와 본문 사이에 벌어진 간격은 별로 문제가 되지 않습니다. 컴퓨터 화면으로 보면 그 외에는 특별한 문제가 없어보일거예요. 하지만 스마트폰으로 보면 글상자는 회색 배경인데 본문(p태그)은 흰색으로 표현이 됩니다.



이 이미지로 보면 보다 확실하게 확인할 수 있습니다. 배경색을 검정으로 바꿨더니 뷰어의 배경 뿐만 아니라 <p> 태그도 검정색 배경이 적용됩니다. 기획자가 왜 이렇게 만들었는지 이해는 가지만, 전자책을 편집하는 입장에서는 원하는 편집이 어렵기 때문에 반갑지 않네요.

최소한 기본 배경화면만이라도 본문 태그에 하얀 배경색을 넣은걸 없애줬으면 좋겠습니다.




2. 교보eBook 뷰어


교보eBook 뷰어는 table 안에 있는 이미지의 width 100%가 적용되지 않는 것 같습니다. 본문 영역을 보면 table width 100%는 적용되는데 이미지는 조금 모자라보입니다. 

리디움 뷰어에서도 이와 비슷한 현상이 타나납니다. 크롬이나 다른 브라우저에서도 이상이 없고, 교보ebook과 리디움 뷰어에서만 이런 현상이 나타납니다.





3. 알라딘 eBook 뷰어


알라딘 뷰어는 이미지의 상하 크기가 늘어나 보입니다. 다른 뷰어에서는 나타나지 않는 현상이고, 알라딘 뷰어에서만 이렇게 표현이 됩니다.



4. 리디북스


리디북스 뷰어는 캡쳐가 되지 않습니다. 리디 뷰어 역시 예스24나 알라딘 뷰어에서처럼 위쪽 이미지와 본문 사이에 약간의 간격이 보입니다. 이 외에는 다른 문제가 보이지 않았습니다.



저처럼 table로 글상자를 만들려면 유통사 뷰어를 꼭 확인해 보세요. PC와 차이가 많이 나고, 뷰어별로도 차이가 심하기 때문에 원하는 모양의 편집을 얻기 어려울 것 같습니다. table 대신 div 태그로 글상자를 만드시길 권해 드립니다.

반응형
posted by 내.맘.대.로 2016. 9. 7. 17:58

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

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

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

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

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

#‎전자책‬ ‪#‎CSS‬ ‪#‎sigil‬

‪#‎전자책_편집을_위한_HTML_CSS‬ 해시태그로 간단한 HTML CSS 강의를 시작합니다. 전자책 편집을 하는 분들에게 자주 받은 질문을 정리하려고 해요. 아주 쉬운 내용인데 모르면 헤매는 내용이라 초보 편집자들에게 유용하리라 생각합니다. 

전자책 편집을 하다 막히는게 있거나 궁금한 점이 있으면 댓글을 남겨주세요. 단, 질문은 '제대로' 해주셔야해요. 본인만 이해할 수 있는 질문 말고, 답변할 사람이 이해할 수 있는 질문으로요^^

편집기는 Sigil을 사용합니다. 하지만 모든 편집기에서 동일하게 적용할 수 있습니다.


아주 어려운 문의가 들어왔습니다 ^^

본문에 노트처럼 밑줄을 긋고싶다는 내용이었는데, 처음엔 '별거 아닌데...'라고 생각을 했다가 스타일을 만들면서 CSS로는 해결 불가능하지 않을까 하는 결론을 내렸네요. 자바스크립트를 이용하면 가능할 수도 있지만, 스크립트를 지원하는 유통사 뷰어는 교보eBook 정도여서(국내 유통사 기준으로) CSS만 활용해야합니다. 


결론부터 말씀드리면 본문에 밑줄 긋기는 가능합니다. 하지만 변수가 너무 많아요. 고정 레이아웃(Fixed Layout)이 아니라면 뷰어마다 CSS를 받아들이는 방식이 차이가 있어 모든 유통사 뷰어를 전부 맞추기는 불가능한 것 같습니다. 방법을 더 연구해 봐야겠지만 쉽지 않네요 ^^;


먼저, 제가 찾은 방법을 알려드릴게요.


* 이 예제에 사용한 본문은 토네이도 출판사의 '무엇이평범한그들을최고로만들었을까'에서 일부 발췌했습니다.

** 뷰어 테스트는 교보문고, 예스24, 리디북스, 캘리버를 사용했습니다. 특별한 이슈가 없는 경우 뷰어 이름은 표시하지 않았습니다.


1. span 태그 사용


가장 쉽게 쓸 수 있는 방법입니다. 그리고 가장 확실합니다. 그런데 문의 주신 분이 span 태그를 사용하면 문장이 끝나는 부분에서 밑줄도 끝난다는 문제를 얘기해 주셨어요. 그래서 이 방법은 문의 주신 분이 원하는 방식이 아니었습니다. 


그래도 이 방법이 가장 확실합니다. 만약 본문에 밑줄을 그어야 한다면 2% 부족하더라도 이 방법을 권해드립니다.


#스타일


.line_dotted {

border-bottom : dotted 1px #ff0000;

}


#스타일 적용


<p>노트 배경</p>

<p><span class="line_dotted">30년 전 나는 첫 월급을 받았다. 동네 슈퍼마켓에서 점원으로 일하고 받은 첫 월급봉투에는 그리 많지 않은 돈이 들어 있었다. 겉보기에 대단한 일도 아니었다. 월급은 적고 일은 힘들었다. 전임자가 묻힌 얼룩이 채 지워지지 않은 제복을 입고 상품을 진열하고 바닥을 걸레질하는 일이었다. 무뚝뚝한 점장은 칸막이로 분리된 높은 자리에 앉아 점원들을 감시했다. 그런데도 나는 왠지 그 일을 할 때가 좋았다. 직원들 사이에 동지애가 생겨 가끔 함께 밤 외출을 나가기도 했다. 나는 신속한 계산으로 손님을 만족시키는 나 자신이 자랑스러웠다. 쓸모 있는 사람이 된 기분이었다.</span></p>





본문 끝에서 밑줄이 끝나기 때문에 노트 느낌을 살릴 수 없는 단점이 있음



2. 배경이미지 활용


이 방법은 이미지를 밑줄로 쓸 수 있다는 장점이 있습니다. 다양한 모양의 밑줄이 가능합니다. 제가 사용한 밑줄 배경은 아래 이미지입니다. 



노트 배경 이미지


배경 넣는 방법은 --> http://epubguide.net/182 여기를 참고하세요


이 방법에는 2가지 문제가 있습니다. 


문제1. 글자 크기, 글자의 줄 간격을 고정시켜야 한다.

배경 줄 간격이 고정되기 때문에 글자 크기를 조정해 글자가 줄 간격보다 크거나 작아지면 줄과 글자가 위치가 틀어집니다.


문제2. 뷰어에 따라 다른 결과가 나올 수 있습니다.

다른 뷰어들은 괜찮은데 예스24 뷰어에서 문제가 생기네요. 뷰어에 따라 CSS를 받아들이는 방식이 약간씩 차이가 납니다. 그래서 뷰어에 따라 원하는 결과가 나오지 않을 수 있습니다.


이 방법은 제한된 공간 안에서 적은 분량의 텍스트를 표현할 때 사용할 수 있습니다. 편지나 시를 표현하기 좋겠네요.


#스타일


.note_bg {

background-image : url("../Images/note_bg.png");

width : 100%;

}


.note > p {  /*글자크기, 줄간을 배경이미지에 맞춰 픽셀단위로 고정시켜야 함*/

font-family: "NanumBarunpenR";

font-size : 15px;

line-height : 28px;

margin-left : 1em;

margin-right : 1em;

}



#스타일 적용


<div class="note_bg note"><p><br/>노트 배경</p>

<p>30년 전 나는 첫 월급을 받았다. 동네 슈퍼마켓에서 점원으로 일하고 받은 첫 월급봉투에는 그리 많지 않은 돈이 들어 있었다. 겉보기에 대단한 일도 아니었다. 월급은 적고 일은 힘들었다. 전임자가 묻힌 얼룩이 채 지워지지 않은 제복을 입고 상품을 진열하고 바닥을 걸레질하는 일이었다. 무뚝뚝한 점장은 칸막이로 분리된 높은 자리에 앉아 점원들을 감시했다. 그런데도 나는 왠지 그 일을 할 때가 좋았다. 직원들 사이에 동지애가 생겨 가끔 함께 밤 외출을 나가기도 했다. 나는 신속한 계산으로 손님을 만족시키는 나 자신이 자랑스러웠다. 쓸모 있는 사람이 된 기분이었다.</p>...







다른 뷰어에서는 배경이 잘 표현되지만 예스24 뷰어에서는 문제가 생김

뷰어에 따라 스타일을 적용하는 방식이 다르기 때문에 다른 뷰어에서도 비슷한 문제가 생길 수 있음



3. CSS로 밑줄 그리기


글자 크기를 바꾸면서 span 태그의 문제도 해결할 수 있는 방법입니다. background-image 속성에 이미지 대신 linear-gradient로 배경 줄을 그리는 방법이에요. 이 방법을 쓰면 줄 간격을 글자 크기에 맞춰 조절할 수 있습니다. 


이 방법도 문제가 하나 있습니다. 페이지가 넘어가면서 줄과 글자 배치가 틀어집니다. 이 역시 뷰어의 특성때문이라 CSS로 맞추기에는 한계가 있습니다. 이 방법 역시 편지, 노트, 시 처럼 제한된 공간 안에서 제한된 텍스트를 보여줄 때는 사용할 수 있겠지만 본문 전체에 밑줄을 긋기에는 적절하지 않습니다.



# 스타일


.line_draw > p {

background-image : linear-gradient(#0000ff 1px, transparent 1px);

background-size: 100% 1.8em; /*이미지와 달리 배경 사이즈를 em(글자크기) 단위로 조절할 수 있어 글자크기를 조절할 수 있음*/

}


# 스타일 적용


<div class="line_draw">

<p>30년 전 나는 첫 월급을 받았다. 동네 슈퍼마켓에서 점원으로 일하고 받은 첫 월급봉투에는 그리 많지 않은 돈이 들어 있었다. 겉보기에 대단한 일도 아니었다. 월급은 적고 일은 힘들었다. 전임자가 묻힌 얼룩이 채 지워지지 않은 제복을 입고 상품을 진열하고 바닥을 걸레질하는 일이었다. 무뚝뚝한 점장은 칸막이로 분리된 높은 자리에 앉아 점원들을 감시했다. 그런데도 나는 왠지 그 일을 할 때가 좋았다. 직원들 사이에 동지애가 생겨 가끔 함께 밤 외출을 나가기도 했다. 나는 신속한 계산으로 손님을 만족시키는 나 자신이 자랑스러웠다. 쓸모 있는 사람이 된 기분이었다.</p>...








테스트한 뷰어에서는 페이지가 넘어가면 줄간격이 틀어진다. 스크롤 방식이면 문제가 없지만 페이지 넘김 방식의 뷰어에서는 어쩔 수 없는 현상이다.






결론. 

고정 레이아웃(Fixed Layout)을 사용하거나 EPUB3로 스크립트를 적용하면 본문에 밑줄을 그릴 수 있다. 하지만 모든 뷰어에서 문제 없이 표현되도록 EPUB2에서 CSS만으로는 노트 느낌이 나게 밑줄 긋는건 거의 불가능하지 않을가 싶어요. 방법을 찾으신 분 있으면 공유 부탁드려요 ^^

반응형
posted by 내.맘.대.로 2016. 8. 29. 16:17

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

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

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

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

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

#‎전자책‬ ‪#‎CSS‬ ‪#‎sigil‬

‪#‎전자책_편집을_위한_HTML_CSS‬ 해시태그로 간단한 HTML CSS 강의를 시작합니다. 전자책 편집을 하는 분들에게 자주 받은 질문을 정리하려고 해요. 아주 쉬운 내용인데 모르면 헤매는 내용이라 초보 편집자들에게 유용하리라 생각합니다. 

전자책 편집을 하다 막히는게 있거나 궁금한 점이 있으면 댓글을 남겨주세요. 단, 질문은 '제대로' 해주셔야해요. 본인만 이해할 수 있는 질문 말고, 답변할 사람이 이해할 수 있는 질문으로요^^

편집기는 Sigil을 사용합니다. 하지만 모든 편집기에서 동일하게 적용할 수 있습니다.



책을 만들다 보면 일정한 패턴이 있는 편집을 자주 접합니다. 출판사나 편집자의 취향에 따라 조금씩 다를 수 있지만 시중에 나와있는 책 3권 중 한권씩은 편집에 패턴이 들어갑니다. 그 중 가장 자주 접하게 되는 패턴이 있어요. 장이나 절의 첫 문단 강조하기.



* 각 장의 첫 문단에 회색 점이 세로로 3개 찍힌 패턴

(무엇이 평범한 그들을 최고로 만들었을까/토네이도 중에서)



--------------

* 각 절의 첫 문단은 들여쓰기를 하지 않고 둘째 문단부터 들여쓰기가 되어있는 패턴

(무엇이 평범한 그들을 최고로 만들었을까/토네이도 중에서)



패턴의 형태는 다양합니다. 첫 글자를 키울 수도 있고, 5글자 이상 들여쓰기를 할 수도 있습니다. 특별한 기호를 넣을 수도 있지요. 목차가 10개의 장으로 끝난다면 직접 스타일을 넣어 주면 됩니다. 그런데 10개 장에 각각 10개의 절이 있다면? 똑같은 스타일을 100번 넣어줘야하지요.




이런 스타일의 코드를 머릿속으로 생각해보세요. 많은 분들이 이런 코드를 상상하셨을거예요.


<h3>왜 매일 같은 것만 보이고<br/>같은 일만 반복될까</h3>

<p><br/></p>

<p><br/></p>

<p><br/></p>

<p class="img_float_left"><img src="../Images/bullet.jpg></p>


<p class="text_indent_5em">흔히 바쁜 하루를 보낼 때 사람들은 마치 기계처럼 일이 끝나자마자 곧바로 다음 일에 착수한다. ...혹은 ‘그게 인생이지, 뭐’라는 식으로 자신을 위로하기도 한다.</p>


<p>그러나 나는 운에 의지하지 않고 의지만으로 충분히 좋은 결과를 낼 수 있다고 말하고 싶다. ...마음의 준비는 곧 하루에 대한 접근 방식을 의도적으로 설정하는 과정이기 때문이다.</p>

이 책은 7개의 장으로 이루어져 있습니다. 각 장마다 3개~4개의 절이 있고요. 


7개의 장 * 4개의 절 = 28개의 절과 본문 사이에 코드를 복사/붙여넣기 해야합니다. 28개정도면 할만 하다고요? 그럼 다음은 어떨까요?



이런 코드가 떠오르겠지요?


 <h4>| 자동조종 모드가 중요하게 다루는 것</h4>


<p><br/></p>


<p class="no_indent">뇌의 자동 체계는 중요한 정보와 걸러낼 정보를 구별하기 위해 몇 가지 규칙을 따른다....그 일과 직접적으로 연관된 일은 자연히 인식하게 되지만 그렇지 않은 일은 전혀 인식하지 못한다는 사실이다.</p>


<p>최근의 연구 결과를 예로 들어보겠다. ...고릴라를 정면으로 쳐다보면서도 눈치채지 못했다는 사실이다.</p>


문단 시작 부분에 클래스 하나 넣는 것 정도야...

그런데 이 책은 7개 장으로 구성되어 있고, 각 장마다 3개~4개의 절이 있습니다. 그리고 각 절마다 예로 든 것 같은 소단락이 5개 안팎으로 있습니다. 


7개 장 * 4개 절 * 5개 소단락 = 140개의 소단락입니다. class="no_indent"를 140번 복사/붙여넣기 해야합니다. 그것도 위치를 하나씩 찾아가면서요.


이런 반복작업을 아주 간단히 처리해 줄 수 있는 CSS 속성이 있습니다.

설명을 하기 전에 제가 짠 코드를 보여드릴게요.


 구분

 실제 편집 코드

 비교를 위한 예제 코드

 절

 <h3>왜 매일 같은 것만 보이고<br/>같은 일만 반복될까</h3>


<p>흔히 바쁜 하루를 보낼 때 사람들은 마치 기계처럼 일이 끝나자마자 곧바로 다음 일에 착수한다. ...혹은 ‘그게 인생이지, 뭐’라는 식으로 자신을 위로하기도 한다.</p>


<p>그러나 나는 운에 의지하지 않고 의지만으로 충분히 좋은 결과를 낼 수 있다고 말하고 싶다. ...마음의 준비를 ‘의도 설정’이라고 부른다. 마음의 준비는 곧 하루에 대한 접근 방식을 의도적으로 설정하는 과정이기 때문이다.</p>

 <h3>왜 매일 같은 것만 보이고<br/>같은 일만 반복될까</h3>

<p><br/></p>

<p><br/></p>

<p><br/></p>

<p class="img_float_left"><img src="../Images/bullet.jpg></p>


<p class="text_indent_5em">흔히 바쁜 하루를 보낼 때 사람들은 마치 기계처럼 일이 끝나자마자 곧바로 다음 일에 착수한다. ...혹은 ‘그게 인생이지, 뭐’라는 식으로 자신을 위로하기도 한다.</p>


<p>그러나 나는 운에 의지하지 않고 의지만으로 충분히 좋은 결과를 낼 수 있다고 말하고 싶다. ...마음의 준비는 곧 하루에 대한 접근 방식을 의도적으로 설정하는 과정이기 때문이다.</p>

 소단락

  <h4>| 자동조종 모드가 중요하게 다루는 것</h4>


<p>뇌의 자동 체계는 중요한 정보와 걸러낼 정보를 구별하기 위해 몇 가지 규칙을 따른다....그 일과 직접적으로 연관된 일은 자연히 인식하게 되지만 그렇지 않은 일은 전혀 인식하지 못한다는 사실이다.</p>


<p>최근의 연구 결과를 예로 들어보겠다. ...고릴라를 정면으로 쳐다보면서도 눈치채지 못했다는 사실이다.</p>

  <h4>| 자동조종 모드가 중요하게 다루는 것</h4>


<p><br/></p>


<p class="no_indent">뇌의 자동 체계는 중요한 정보와 걸러낼 정보를 구별하기 위해 몇 가지 규칙을 따른다....그 일과 직접적으로 연관된 일은 자연히 인식하게 되지만 그렇지 않은 일은 전혀 인식하지 못한다는 사실이다.</p>


<p>최근의 연구 결과를 예로 들어보겠다. ...고릴라를 정면으로 쳐다보면서도 눈치채지 못했다는 사실이다.</p>


실제 편집 코드는 제가 전자책을 만들면서 사용한 것이고, 예제 코드는 유통사에 등록된 많은 전자책에 사용된 유형입니다. 제가 사용한 코드가 훨씬 간결해 보이지요?


그런데 자세히 살펴보면, 제 코드에는 어떤 스타일도 들어있지 않습니다. 코드만 보면 제목과 본문 줄간격도 벌어져 있지 않고, 세로 점 3개도 넣은 흔적이 없습니다. 들여쓰기도 되어있지 않고요. 소단락을 보면 첫번째 단락과 두번째 단락이 동일합니다. 첫번째 단락에 들여쓰기가 없어야 하는데 들여쓰기를 없애주는 클래스가 보이지 않습니다. 


이거 사기 아냐? 하는 분들을 외해 Sigil 화면을 코드와 함께 올려드려요 ^^

아래 코드를 보시면 위와 동일한데 미리보기 화면에는 들여쓰기, 회색점이 모두 찍혀있답니다. 


* 미리보기를 보면 들여쓰기, 회색 점이 모두 찍혀있음


* 소단락 제목 바로 아래 문단은 들여쓰기가 없지만 두번째  문단은 들여쓰기 되어 있음




1. 클래스를 추가하지 않고 스타일을 적용하는 방법


먼저 들여쓰기의 비밀부터 알려드릴게요.


h4 {

   font-family: "기본글꼴";

   font-weight: bold;

   font-size: 1.2em;

   margin-bottom: 1em;

   margin-top: 1em;

}


h4+p {

   text-indent: 0;

}


이게 실제 스타일 코드입니다.

CSS에는 가족관계가 있습니다. 가족관계에 대해 궁금하신 분은 왼족 검색창에 [CSS의 상속]으로 검색을~~


h4+p { ... }


이건 h4 태그와 p 태그의 인접형제를 의미합니다. h4의 인접형제, 다시 말해 h4 태그 바로 다음에 나오는 p 태그에 text-indent : 0; 속성을 부여하라는 의미입니다. 다른 p 태그에는 전혀 영향을 주지 않고 h4 태그 다음에 나오는 p 태그에만 영향을 줍니다. 그래서 h4 다음에 나오는 p 태그는 클래스를 추가하지 않아도 들여쓰기 0의 속성을 줄 수 있습니다.



2. 첫번째 문단에 이미지를 추가하는 방법


눈치 빠른 분이라면 '아!'하고 머리 위에 전구가 깜빡이겠네요. 절(h3)에 적용한 것 역시 소단락(h4) 처럼 인접형제를 이용해 스타일을 적용했습니다. 


h3 {

    text-align: right;

    line-height: 1.8em;

    font-size: 1.4em;

    font-family: "기본글꼴";

    margin-bottom : 3em;

    font-weight: bold;

}


h3+p {

    text-indent : 0em;

}


h3+p:before {

    content : url("../Images/bullet_dot.jpg");

    margin-right : 4em;

}


h3+p는 설명이 필요 없을 것 같고, 이미지를 어떻게 추가했는지 설명드릴게요.


CSS에는 :before와 :after라는 선택자가 있습니다. 이 두 선택자는 혼자 사용할 수 없고 다른 선택자에 붙어 보조역할을 합니다. :before는 글자나 문단 앞에, :after는 뒤에 특정 콘텐츠를 추가해 줍니다. 


여기서는 


1. h3 바로 다음에 나오는 p 태그의 앞에 (h3+p:before)

2, bullet_dot.jpg 파일을 삽입하고 (content : url("../Images/bullet_dot.jpg");

3. 4글자 만큼 간격을 띄운 후 본문을 표시 (margin-right : 4em;)


하라고 스타일을 지정했습니다. 


이렇게 지정을 하면 h3 태그 바로 다음에 오는 p 태그에는 클래스를 붙이지 않아도 bullet_dot.jpg라는 이미지가 붙고 이미지에서 4em 만큼 떨어져서 본문이 시작됩니다.


+기호와 :before 속성 2개를 이용해 160번 넘게 복사/붙여넣기 해야 하는 작업을 줄일 수 있었습니다. 가족관계( >, +, *, ~ 등)와 :before, :after는 익혀두면 아주 유용하게 활용할 수 있습니다. 저도 전자책 편집할 때 많이 사용하고요. 예전에는 지원을 안하는 뷰어가 있었지만 최근에는 대부분 지원합니다. 


반응형