Hướng dẫn Sử dụng Sigil để làm epub cho người mới làm quen từ A-Z

Thảo luận trong 'Hướng dẫn chung' bắt đầu bởi 4DHN, 28/7/16.

  1. 4DHN

    4DHN --------- Thành viên BQT

    Chú ý:

    - Cần đọc dần dần từng ít, từng ít một, và làm theo dần từng ít một, cần cù như con kiến tha mồi thôi và tập trung vào vấn đề từng vấn đề một, không hiểu thì cứ hỏi.:3D_79: TVE-4U ngọa hổ tàng long rất nhiều nên chắc sẽ có trợ giúp.

    - Đặc biệt, đừng bao giờ đọc kiểu đọc tổng thể ngay nhé, vì code, hình minh họa nó như rừng, dễ tẩu hỏa nhập ma lắm đó! cute_smiley8

    ***​

    Để có những hiểu biết ban đầu của việc làm epub trước hết cần đọc kỹ bài #1 của Vui lòng đăng nhập hoặc đăng ký để xem link.

    ***​

    Có 2 chế độ đọc epub:

    Bookview:

    [​IMG]

    Codeview:

    [​IMG]

    Tất cả các thao tác để làm epub sẽ làm ở chế độ codeview và codeview đó dùng html, cho nên cũng cần Vui lòng đăng nhập hoặc đăng ký để xem link để có các khái niệm cơ bản về các thẻ (tag) cơ bản của html. Topic này sẽ không trình bày lại mà sẽ đi thẳng vào việc xử lý 1 file epub thành những định dạng theo sở thích cá nhân của mỗi người. [​IMG]

    Một file epub bất kỳ được tạo ra từ file word hay prc ban đầu còn rất nhiều code rác nên việc đầu tiên là xóa hết các code rác đó để có 1 file epub hoàn toàn sạch về code. Sau đó sẽ thêm các code mới theo ý muốn để có được ebook có định dạng như ý muốn.

    Ebook còn code rác:

    [​IMG]


    Ebook đã được xử lý sạch code rác:

    [​IMG]

    Việc xóa các code rác và sau này việc thêm các code mới vào ebook cùng những việc như: làm chú thích, làm mục mục... sẽ dùng lệnh Find và lệnh Replace cho nên topic này sẽ chủ yếu nói về 2 lệnh đó và các công thức, cách thức dùng để phục vụ cho 2 lệnh đó.

    Có 2 chế độ cho 2 lệnh này là chế độ Normalchế độ Regex.

    Chuyển đổi giữa hai chế độ:

    [​IMG]

    Chế độ Normal: tìm cái gì thì ra cái đó.

    Ví dụ:

    Find: <p class="block_1"><span class="text_">L</span><span class="text_1">ỜI NGUYỀN HAI TRĂM NĂM</span></p>

    [​IMG]

    Là nó sẽ tìm và tô đậm cụm ký tự đó. Ở ô Replace nếu nhập bất kỳ (gồm cả không nhập gì) cái gì và bấm Replace (hoặc Replace All) là nó sẽ thay thế cụm ký tự đó bằng cụm ký tự bạn nhập (trường hợp không nhập gì thì nó sẽ xóa).

    Lệnh tìm kiếm và thay thế trong chế độ Normal dung để sửa lỗi đơn giản và có tính lặp đi lặp lại. Ví dụ thay “ .” bằng “.” (không tính đến dấu “ nhé, có nghĩa là: xóa 1 khoảng trống trước dấu .

    Thay ựợc bằng ược….

    Chế độ Regex:

    Chế độ này sẽ tìm kiếm cả một cụm từ có đặc tính chung nào đó ví dụ như: sau chữ Chương (Hồi) và trước </p>. Cụm ký tự đó được viết ở dạng tổng quát là (.*?)

    Ví dụ: Find: <p>Chương (.*?)</p>

    Là nó sẽ tìm đến từng cụm như:

    <p>Chương mười</p>

    <p>Chương 100</p>

    <p>Chương thứ năm</p>

    Dùng lệnh Find, Replace tìm kiếm và xóa class rác:

    Vì một khoảng trắng ở chế độ regex có thể là \s nên khi ô Find nhập: \sclass=”(.*?)” - Có nghĩa là một khoảng trống và cụm class=”(.*?)” - cũng có thể gõ phím space rồi nhập class=”(.*?)” kết quả cũng thế, thực tế thì tôi hay dùng cách sau hơn.

    Ô Replace không nhập gì (dù chỉ là 1 khoảng trống)

    Bấm Replace All là tất cả các class trong toàn bộ 1 file html bị xóa nếu bạn chọn chế độ Current file, hoặc trong toàn bộ ebook nếu bạn chọn chế độ All HTML files

    Khi dọn class như vậy thì sẽ sinh ra rất nhiều thẻ <span>…</span> thừa nên cần xóa đi cho gọn. Lệnh:

    Find: <span>(.*?)</span>

    có nghĩa là tìm kiếm tất cả các cụm ký tự nằm giữa <span> và </span> bao gồm cả <span>, </span>. Để viết lệnh này tốt nhất là copy luôn cả cụm ký tự có sẵn, như trên hình tôi copy chữ <span>Khôi Vũ</span>, rồi sửa chữ Khôi Vũ thành (.*?)

    Replace: \1

    \1 là tất cả các cụm ký tự nằm giữa thẻ span nói trên.

    [​IMG]

    Ví dụ tiếp:

    Find: <h1>Chương (.*?) – (.*?)</h1>

    [​IMG]


    Replace: <h1>Chương \1 <br/> \2<h1>

    Repace All

    Giải thích: \1 là thay thế có cụm (.*?) thứ nhất, \2 là thay thế cho cụm (.*?) thứ 2 trên lệnh Find. Có nhiều trường hợp, có thể có 3, 4, 5… cụm như như thế thì ở lệnh Replace sẽ có: ...\1…\2…\3…\4…\5 tương ứng, nếu có cụm nào không cần lấy lại (tức là cần xóa đi thì ở lệnh Replace cũng bỏ qua nó có thể ở Replace chỉ còn \1… \3….\5 (cụm thứ 2 và 4 cần xóa đi). Cần lưu ý là cần đếm rất cẩn thận và thay cho chuẩn ở lệnh Replace không là sẽ xảy ra tình trạng thay nhầm hay xóa nhầm (kiểu như đau chân phải nhưng lại phẫu thuật chân trái :p)

    Ví dụ sau lệnh kiểu như trên thì tất cả những thẻ h1 như:

    <h1>Chương 1 – Nghi trận đầu non</h1>

    <h1>Chương 25 – Tỷ võ chiêu thân</h1>

    ………

    <h1>Chương 50 - Hoa Sơn luận kiếm</h1>


    Hiển thị ở chế độ bookview sẽ là Chương 1 – Nghi trận đầu non

    Sẽ trở thành:

    <h1>Chương 1 <br/> Nghi trận đầu non</h1>

    <h1>Chương 25 <br/> Tỷ võ chiêu thân</h1>

    ………

    <h1>Chương 50 <br/> Hoa Sơn luận kiếm</h1>


    Hiển thị ở chế độ bookview sẽ là:

    Chương 1

    Nghi trận đầu non


    Một số dạng tổng quát khác:

    - Tìm kiếm 1 số bất kỳ: ví dụ như 1, 2, 50, 124…

    Code của nó là (\d+) nó tương tự như (.*?) trong lệnh Find.

    - Một ký tự bất kỳ (gồm cả khoảng trắng): là dấu . hoặc cụm (.)

    Còn rất nhiều code dành cho chữ cái, chữ thường, chữ hoa…. có thể sau này sẽ nói sau, nếu cần. [​IMG]

    Hình minh họa cho lệnh Find ở chế độ Regex:

    [​IMG]

    Một số lưu ý khi xóa code rác:

    -
    Một số ebook chữ nghiêng được định dạng kiểu như: <span class="italic">...</span> chữ đậm kiểu như <span class="bold">...</span> thì cần chuyển thành <i>...</i> và <b>...<b> trước khi xóa class rác.

    Find: <span class="italic">(.*?)</span>

    Replace: <i>\1</i>

    Làm tương tự với chữ đậm.

    - Trong quá trình xóa code rác có thể có những code kiểu: id="calibre_1", lang="Fr"... thì cũng cần xóa đi, lệnh Find cũng tương tự, Find: id=(.*?) hoặc lang="(.*?)... làm sao cho trong toàn bộ ebook không còn bất kỳ cái gì giống thế. Nếu để sót, có thể làm ảnh hưởng tới việc dùng lệnh sau này.

    - Có thể cũng có những code rác kiểu như <p></p>, <span></span>, <p>&#160;</p> - cái này là một dòng trắng không nội dung, thì cũng cần xóa đi luôn: copy vào ô Find (nên ở chế độ Normal) ô Replace không nhập gì, rồi replace All.

    - Cũng có thể xóa code rác kiểu thay <body (.*?)> bằng <body> tất nhiên là ở chế độ Regex.

    - Khi dùng lệnh, có thể ở chế độ Current File hoặc All HTML Files tùy theo nhu cầu dùng lệnh. Nếu ở Current File thì lệnh được thực hiện trong file hiện hành, nếu ở All HTML Files thì lệnh sẽ được thực hiện trong toàn ebook.

    - Trong khi dùng lệnh, nếu có nhầm lẫn thì cần đóng ebook mà không lưu để bảo toàn hiện trạng của bước trước đó, bởi vì sẽ không Undo được.

    - Có thể ở thẻ <i> và <b> (chữ nghiêng chữ đậm) có những dòng kiểu này, tôi chỉ ví dụ cho thẻ <i> thôi nhé, thẻ <b> tương tự

    <p><i>Chịu</i> <i>trách</i> <i>nhiệm</i> <i>xuất</i> <i>bản</i>: ĐINH QUANG NHÃ</p>

    Những chỗ tô tím là thừa, nên cần thay bằng 1 khoảng trống. Ô Find nhập (nên copy luôn 1 cái):

    </i> <i>

    Ô Replace nhập một khoảng trống

    Rồi cũng Replace All, lệnh này có thể chạy ở cả Regex lẫn Normal, nhưng nên chạy ở Normal vì chế độ Regex rất mạnh nên nhiều khi nó xóa mất cả những thứ mà mình không lường trước.

    Tương tự, nếu trong dòng code có cụm</i>, <i> </i>. <i> thì cũng tìm và thay bằng , và một khoảng trống . và 1 khoảng trống. Những cái này cũng không cần thiết lắm nhưng nếu cầu kỳ thì mới làm.

    Cũng có trường hợp thẻ <i> hoặc <b> nó ở dạng giữa </i> và <i> không có khoảng trống:

    <p><i>I</i><i>n 1000 cuốn khổ 13x19cm tại X</i><i>ưởng in</i> <i></i><i>nh Hòa</i><i>. GPXB số:</i> <i>3</i><i>07</i><i>/1397CXB-QLXB ký ngày 20/11/2000. In xong và nộp lưu chiểu tháng 7/2001.</i></p>

    Thì chỗ tô xanh cần xóa tức là ô Find nhập:

    </i><i>

    Ô Replace không nhập gì.

    Replace All (cũng nên làm ở chế độ Normal).
     
    Chỉnh sửa cuối: 5/8/16
  2. 4DHN

    4DHN --------- Thành viên BQT

    Làm Mục lục

    Ví dụ một ebook tiêu đề có cấu trúc:

    <p>LỜI GIỚI THIỆU</p>

    <p>CHƯƠNG I</p>

    <p>CHƯƠNG II</p>

    .....

    <p>CHƯƠNG XX</p>

    Thì đầu tiên ở chế độ Bookview để con trỏ ở chữ LỜI GIỚI THIỆU rồi bấm H1 trên thanh công cụ là chữ LỜI GIỚI THIỆU trở thành heading 1 (chế độ Codeview là từ thẻ <p> trở thành thẻ <h1>:

    [​IMG]



    Có thể làm tương tự với CHƯƠNG I, CHƯƠNG II … CHƯƠNG XX, nhưng vì các chương này có chung chữ CHƯƠNG nên có thể dùng lệnh Find, Replace để làm ở chế độ Regex.

    Find: <p>CHƯƠNG (.*?)</p>

    Replace: <h1>CHƯƠNG \1</h1>

    [​IMG]

    Bấm Replace All là tất cả 20 chương sẽ thành heading 1 trong nháy mắt.

    [​IMG]

    Nếu trong ebook còn tiêu đề nào khác mà không theo quy luật này thì làm ở chế độ Bookview như LỜI GIỚI THIỆU.

    Tất nhiên là có nhiều ebook mà tiêu đề không theo một quy luật nào thì phải làm thủ công ở chế độ Bookview hết.

    Nếu ebook còn nhiều tiêu đề cấp dưới thì cần làm heading 2, heading 3… cách làm tương tự heading 1.

    Nếu tiêu đề chương có dạng

    <p>Chương 1.1</p>
    <p>Chương 1.2<p>
    ........
    <p>Chương 2.1</p>
    ....
    <p>Chương 10.5</p>

    Và nó phải là heading 2 thì lệnh sẽ là:

    Find: <p>Chương (\d+)\.(\d+)</p>

    Replace: <h2>Chương \1.\2</h2>

    Lưu ý cái dấu \ nhé, trong lệnh Find ở chế độ Regex, một số ký tự đặc biệt như dấu . dấu [ dấu ( dấu ] ) .... là những ký tự đặc biệt nằm trong một dạng tổng quát nào đó, nên ở chế độ này Sigil sẽ hiểu sang một cái gì đó khác với ý nghĩa thực của nó, để cho Sigil hiểu đúng nghĩa thực thì người ta thêm một dấu \ vào trước ký tự đó. Lưu ý ở lệnh Replace cẩn thận ở chỗ \1 \2 nhé, rất dễ nhầm lẫn chỗ này, dấu \ ở trên lệnh Find và lệnh Replace có tác dụng khác nhau. :D
     
    Chỉnh sửa cuối: 2/8/16
    kaoaye and thanhbt like this.
  3. 4DHN

    4DHN --------- Thành viên BQT

    Phần này nói về css do bạn @inno14 viết vì vậy tôi quote nguyên văn:

    Đính kèm 1 epub mẫu của bạn đó làm luôn. Trong file css (ở thư mục Style

    File css.jpg

    có ghi chú rất rõ ràng tính năng tác dụng của từng thẻ css.
     

    Các file đính kèm:

    Chỉnh sửa cuối: 2/8/16
    kaoaye and thanhbt like this.
  4. 4DHN

    4DHN --------- Thành viên BQT

    Plugin

    Để chuẩn bị làm chú thích trước hết cần phải biết dùng plugin. Đây là Vui lòng đăng nhập hoặc đăng ký để xem link, đầu tiên cần về máy tính nhé. Để đưa plugin vào Sigil thì vào Plugins/Manage Plugins:

    [​IMG]

    Rồi bấm Add Plugin, dẫn tới nơi chứa plugin:

    [​IMG]

    Chọn AddIDs_v0.2 rồi bấm Open:

    [​IMG]

    Chỉ định Plugin: Bấm vào chỗ hỉnh tam giác nhỏ, chọn AddIDs_v0.2 và bấm OK là xong bước này, bây giờ có thể chạy nó:

    [​IMG]


    Dùng Plugin đặt lại ID của h2: Vào Plugins/Edit rồi chọn AddIDs:

    [​IMG]

    Bấm Start:

    [​IMG]

    Nhập h2 vào chỗ tô đỏ, và bấm OK, Plugin AddIDs sẽ chạy và đặt lại các ID cho thẻ h2 trên toàn bộ file Epub:

    [​IMG]

    Chạy xong sẽ có kết quả thế này:

    [​IMG]

    Xem nội dung ở codeview sẽ thấy ID của h2 đã được đặt lại hết:

    [​IMG]

    Còn rất nhiều plugin khác nữa có tác dụng khác (trong đó có 1 plugin cũng dùng để làm chú thích theo cách khác), sẽ tìm hiểu sau.
     
    Chỉnh sửa cuối: 2/8/16
    IronMan and kaoaye like this.
  5. 4DHN

    4DHN --------- Thành viên BQT

    Làm chú thích

    Để làm chuẩn bị làm chú thích thì cần tạo 1 file html từ Vui lòng đăng nhập hoặc đăng ký để xem link, rồi gom tất cả các note về một file html và rename nó thành note.html, gom tất cả nội dung về 1 file rename nó thành 1.html. Bắt buộc phải đặt như thế nhé vì trong công thức có chứa tên file note và 1:


    [​IMG]

    Nối: Chọn tất cả các html ở ô bên trái, rồi để chuột vào file đầu tiên, giữ tay vào phím shift chuyển chuột xuống chọn file cuối (vẫn đang giữ phím shift đấy nhé) là chọn xong, bấm chuột phải vào chọn Merge (hoặc Ctrl+M) rồi cứ OK, OK là nối xong.

    Sau này cần chia lại thì làm như sau: Ví dụ heading chính của bạn là heading2 (h2) nên sẽ chia thành các file html vào đầu h2 (trường hợp bạn muốn chia ở h1 thì đổi h2 thành h1 trong lệnh nhé).

    Trong ô Find nhập <h2

    Trong ô Replace nhập <hr class="sigil_split_marker" /><h2

    Replace All nhé.

    Sau đó bạn bấm F6, là nó sẽ chia thành các html nhỏ. Có thể nó sẽ sinh ra 1 file html trắng thì cần xóa đi hay liên kết nó với file hiện có.Tôi chọn file này vì nó là file word gốc của 1 ebook đã đăng lên Thư viện, tiện thể để các bạn thực hành các bước trước luôn tức là tạo ra một file epub hoàn toàn sạch code rác. Có thể làm luôn heading cũng được.

    Bắt đầu làm chú thích:

    Để bắt đầu làm được chú thích thì ở phần nội dung chú thích cần phải là dạng [1], [2]

    Ở phần file note, chú thích cần phải ở dạng:

    <p>[1] Nội dung chú thích 1.</p>

    <p>[2] Nội dung chú thích 2.</p>


    Ở phần Nội dung (file 1.html), dùng lệnh Find tìm <a để chạy đến 1 cái chú thích nào đó, chú thích cũ của word sẽ nằm trong thẻ <sup><a ...>…</a></sup>, rồi copy lấy một cái vào ô Find. Ví dụ copy được:

    <sup><a title="2" href="../Text/note.html#note_2"><sup>2</sup></a></sup>

    Sửa nó thành:

    <sup><a title="(\d+)" href="(.*?)"><sup>(\d+)</sup></a></sup>

    Ô Replace nhập: [\3]

    Bấm Replace All. Khi đó ở phần nội dung, một số chỗ có chú thích sẽ thành [1] [2].... Tiếp tục lặp lại việc đó cho đến khi nào tất cả chú thích chuyển thành dạng [chỉ số chú thích] là xong.Ở phần file note.html chú thích sẽ nằm trong những cái trong thẻ ví dụ: <dl>...</dl> (cần xem ở ebook cụ thể, có thể nó sẽ ở dạng khác). Ví dụ chú thích thứ nhất là:

    <dl><dt>[<a title="1" href="../Text/1.html#back_note_1">←1</a>]</dt><dd><p><sup></sup> Tức zuốt-ty, cách gọi tắt đồng tiền Ba Lan. (N.D.)</p></dd></dl>

    Cần copy đoạn code đó vào ô Find rồi sửa nó thành:

    <dl><dt>\[<a title="(\d+)" href="(.*?)">←(d+)</a>\]</dt><dd><p><sup></sup> (.*?)</p></dd></dl>Ô Replace nhập:<p class="note">[\3] \4</p>

    Bấm Replace All sẽ được:

    Ở đây tôi đặt luôn class=”note” cho thẻ p. Nếu không muốn thì trong công thức trên thay <p class=”note”> thành <p>. Cứ làm tương tự như vậy cho đến hết, có khi chỉ 1 lần dùng lệnh là xong. :D

    Bây giờ đến bước chèn ID cho thẻ p của file note.html để tạo liên kết, sẽ dùng pluginAddIDs_v0.2 để tạo: Plugins/Edit/AddIDs trong bảng vừa hiện ra bấm Start, rồi trong bảng tiếp theo nhập như hình (Tag: p Atribute: class Value: note ID: note Counter: 1) rồi bấm OK.

    [​IMG]

    Quay trở lại file 1.html ô Find nhập (copy luôn vào ô Find):

    \[(\d+)\]

    Ô Replace nhập (hoặc copy luôn đoạn code dưới đây):

    <a id="i\1" href="../Text/note.html#d\1"><sup>[\1]</sup></a>

    Replace All.

    Chú ý là ở lệnh này bắt buộc phải ở chế độ Current File nhé. Nếu để ở All HTML Files nó sẽ thay cả ở file note.html là hỏng luôn.Chuyển sang file note.html ô Find nhập như trên:

    \[(\d+)\]

    Ô Replace nhập:

    <a href="../Text/1.html#i\1"><sup>[\1]</sup></a>

    Bấm Replace All là xong. Cái này cũng buộc phải ở chế độ Current File nhé!

    Mở lại chế độ Bookview check link xem hoạt động có vấn đề gì không để chỉnh. [​IMG]
     
    Chỉnh sửa cuối: 4/8/16
    kaoaye thích bài này.
  6. 4DHN

    4DHN --------- Thành viên BQT

    Có một cách làm chú thích khác là ban đầu chú thích ở dạng:

    <p>Chuyến bay chín mươi phút từ Singapore tới Sài Gòn đối với cô Diane Anson dài như vô tận. Ngày hôm trước, Diane nhận được tin chồng cô, phóng viên Robert Sam Anson của tờ <em>Time</em>, đã mất tích ở đâu đó tại Campuchia. “Ngày mất tích” chính thức được xác định là 3 tháng 8 năm 1970^[Tài liệu về sau cho thấy “tọa độ mất tích” ở Campuchia là 12º04’00’’ Bắc, 105º04’00” Đông. Tôi xin cảm ơn Robert Sam Anson và Phạm Xuân Ẩn đã giúp xâu chuỗi các sự kiện]. Ngoài ra thì không có thông tin nào khác. Bob có thể đã chết mất xác như trường hợp phóng viên ảnh tự do Sean Flynn của <em>Time</em> và Dana Stone, làm việc cho hãng CBS, khi cả hai biến mất vào đầu tháng 4 ở ngoại vi Phnom Penh^[Vui lòng đăng nhập hoặc đăng ký để xem link. pownetwork. org/bios/s/s602. htm. Xem Richard Dudman, Forty Days with the Enemy: The Story of a Journalist Held Captive by Guerrillas in Cambodia (New York: NXB Liveright Press, 1971); Kurt Volkert và T. Jeff Williams, A Cambodian Odyssey and The Deaths of 25 Journalists (Lincoln, NE: NXB Writer’s Showcase Press, 2001). Vui lòng đăng nhập hoặc đăng ký để xem link. mekong. net/cambodia/missing. Htm].</p>

    Thì có thể chạy plugin ePub2-Notes (add plug in đó file Vui lòng đăng nhập hoặc đăng ký để xem link vào sigil) là xong.

    Một ví dụ nóng hổi là việc sửa cuốn Vui lòng đăng nhập hoặc đăng ký để xem link. Đầu tiên cũng liên kết toàn bộ nội dung thành 1 file html rồi dùng lệnh chuyển thành dạng nói trên. Ví dụ:

    Chú thích ban đầu là:

    <a href="note:" title="1. Tài liệu về sau cho thấy “tọa độ mất tích” ở Campuchia là 12º04’00’’ Bắc, 105º04’00” Đông. Tôi xin cảm ơn Robert Sam Anson và Phạm Xuân Ẩn đã giúp xâu chuỗi các sự kiện." class="sup"><sup>(1)</sup></a>

    Copy nó vào ô Find rồi sửa thành:

    <a href="note:" title="(\d+)\. (.*?)" class="sup"><sup>\((\d+)\)</sup></a>

    Ô Replace nhập: ^[\2]

    Replace All.

    Dùng lệnh Find tìm <a xem còn sót chú thích nào kiểu trên không rồi dùng lệnh tương tự. Trường hợp cụ thể của cuốn Điệp viên hoàn hảo có 4-5 dạng chú thích ở bản gốc, nên phải 4-5 lần dùng lệnh mới xong. :D

    Khi nào nó về hết dạng ^[Nội dung chú thích] thì chạy plugin ePub2-Notes là xong.
     
    Chỉnh sửa cuối: 2/8/16
    kaoaye and thanhbt like this.
  7. 4DHN

    4DHN --------- Thành viên BQT

    Nhúng font và làm dropcap

    Nếu bạn ưa thích ebook được trình bày cầu kỳ với những font chữ đẹp thì có thể làm thêm phần này, còn nếu bạn ưa thích ebook được trình bày đơn giản thì có thể bỏ qua. :p

    [​IMG]

    Đầu tiên là tải những font trong Vui lòng đăng nhập hoặc đăng ký để xem link lưu vào máy tính của mình. Bấm chuột phải vào Fonts rồi chọn Add Existing Files, dẫn đến nơi lưu files (nói trên). Chọn lấy những Font mình cần. (cần xem trong các dòng kiểu như thế này@font-face {font-family: h3;src: url("../Fonts/UTM-IsadoraBold.ttf");ở mục Code trong post này ở cuối post, cần chọn tất cả các font có trong mục đó nhé. Rồi bấm Open là tất cả các font đó được add vào file epub.

    [​IMG]

    Để định dạng file epub người ta sẽ dùng file css. Bấm chuột vào phần Style nó sẽ hiện ra các file css hiện có mặc định, thông thường sẽ có 2 file. Cần xóa bớt chỉ để lại 1 file thôi, cách xóa: bấm chuột phải vào các file rồi chọn Delete. Sau đó mở file css còn lại, xóa sạch nội dung rồi copy tất cả nội dung trong mục Code cuối post này dán vào đó. Sau đó bấm chọn tất cả các file htmt ở cột bên trái, bấm chuột phải vào, rồi chọn Link Stylesheets, rồi tích vào file css rồi bấm OK là xong. Sau bước này thì tất cả các h1, h2 và nội dung đã được nhúng font xong. Có thể xem ở chế độ Bookview rất đẹp. [​IMG]

    [​IMG]

    Bây giờ là đến bước làm dropcap nhé!Quét chuột vào từ </h2> đến thẻ <p> đầu tiên bên dưới copy và dán vào ô Find rồi thêm (.) vào cuối tức là:

    Find: </h2><p>(.)

    Dán tiếp xuống ô Replace rồi sửa trong ô Replace thành:

    Replace: </h2><p class="n"><span class="drop">\1</span>

    Bấm Replace All là xong.[​IMG]

    [​IMG]

    Mở chế độ Bookview sẽ thấy thế này.


    [​IMG]

    Có thể khi làm xong file epub khi đọc ở chế độ Bookview ở một vài file html bị lỗi, do một số nguyên nhân, nên cần phải sửa tiếp (hoặc lệnh ở bước trước đã khắc phục trước) cũng bằng lệnh hoặc sửa trực tiếp nếu không nhiều.

    Nội dung file css mẫu mà tôi thường dùng ở dưới đây. Về vấn đề sâu hơn của nội dung file css như ý nghĩa tác dụng của từng thứ thì xem post phía trên của bạn @inno14. Tạm thời cứ copy nguyên bản như thế là dùng tốt rồi.

    Ở ebook có nhúng font, do các font add vào có dung lượng lớn, dẫn đến dung lượng file cũng lớn theo. Cách khắc phục là dùng Calibre Editor (Chiêu này của cao thủ @NQK).

    Ở Calibre bấm chuột phải, chọn Edit Book:

    [​IMG]

    Chọn Epub, sẽ mở ra 1 bảng, vào Tools/Manage fonts rồi tìm đến Subset all fonts chạy cái đó là nó sẽ làm dung lượng file gọn bớt rất nhiều, xóa luôn cả những font add dư nữa. [​IMG]

    [​IMG]

    Ví dụ chạy xong cuốn này, thì dung lượng font chỉ còn 37% ban đầu:

    [​IMG]

    Lưu ý:

    Sau khi chạy subsetfont thì ở những font nhúng có thể khi edit sẽ bị lỗi font, do đó cần xóa font đó trong thư mục font và add lại, rồi chạy lại subsetfont, hoặc ebook đã sửa lỗi thật kỹ rồi mới chạy subsetfont.
    [​IMG]
     

    Các file đính kèm:

    Chỉnh sửa cuối: 3/12/16
    cocconden, kaoaye and thanhbt like this.
  8. nguyenthanh-cuibap

    nguyenthanh-cuibap Sinh viên năm II

    Mình đang làm thử quyển nầy (phần 1), chưa làm qua phần chú thích. Bạn xem thử có vấn đề gì không.
     

    Các file đính kèm:

  9. NQK

    NQK Lớp 8

    Một vài vấn đề nhỏ khiến cho sách không được coi là "an toàn"

    [​IMG]
     
  10. 4DHN

    4DHN --------- Thành viên BQT

    Của bác chưa có font nhúng cho h1.

    Tôi thêm font và đổi màu cho nó luôn:

    Add thêm font UTM-Azuki.ttf

    Rồi sửa 2 đoạn trong css:

    h1 {

    font-family: h1;

    color: red;

    font-size: 150%;


    text-align: center;

    margin-top: 0;

    margin-bottom: 0.5em;

    }

    @font-face {

    font-family: h1;

    src: url("../Fonts/UTM-Azuki.ttf");

    }
     

    Các file đính kèm:

    thichankem thích bài này.
  11. 4DHN

    4DHN --------- Thành viên BQT

    Topic này dành cho người mới làm quen với epub, cho nên đừng viết cái gì cao siêu khó hiểu quá nhé! Hoặc phải giải thích rất kỹ. :p
     
    thichankem thích bài này.
  12. NQK

    NQK Lớp 8

    Trong Sigil và Calibre Editor đều có chức năng soát lỗi (lỗi cú pháp v.v.), trước khi cho ra lò nên cho nó chạy bác ạ.

    Các lỗi hay mắc phải bao gồm:
    1) Tên file có chứa ký tự không an toàn. Ví dụ như các ký tự tiếng việt, có dấu, các ký tự ô trống. Nên sử dụng các chữ latin không dấu, các ký tự viết sát hoặc cách nhau bằng gạch nối.

    2) Thừa file hoặc thiếu file. Thừa file thì làm cho epub to hơn mức cần thiết, thiếu thì làm cho chức năng bị hạn chế (như bác đã thấy đó là file font chưa được nhúng dù đã khai báo, hoặc một số font không dùng đến lại chưa được xóa đi)

    v.v.

    Những cái này cứ bấm F7 là nó sẽ báo mà.
     
    4DHN thích bài này.
  13. nguyenthanh-cuibap

    nguyenthanh-cuibap Sinh viên năm II

    Những vấn đề nhỏ bạn đưa ra ở post #2 mình không không biết gì cả, nhưng ở post 6 thì mình mới hiểu. Mình đang luyện công với bạn 4DHN và inno14 về Epub, nhìn chung mấy hôm nay có tiến bộ chút chút. Nhưng dồn dập quá cũng sợ bị tẩu hoả nhập ma nên các bạn cho mình từ từ nha.cute_smiley8
    Việc nhúng font mình không hiểu, không biết các font nào tác dụng cho phần nào, bạn cho bao nhiêu font khi làm mình cứ add hết vào, rồi qua book view hiện thế nào thì biết thế ấy. Để mình cố gắng tìm hiểu thêm.
     
  14. 4DHN

    4DHN --------- Thành viên BQT

    Cái này phải tìm hiểu trong file css.

    Thôi bác cứ từ từ tìm hiểu, khi những lệnh cơ bản thuần thục rồi thì tìm hiểu tiếp cũng được. :D
     
  15. nguyenthanh-cuibap

    nguyenthanh-cuibap Sinh viên năm II

    Chiều nay làm nhanh hơn vì xài lệnh khá hơn một tí :think:
     

    Các file đính kèm:

    4DHN thích bài này.
  16. thichankem

    thichankem Lớp 7

    {:kem4:}... sifu! Giờ em quên gần hết cách làm rồi, đang mò lại!
     
  17. kukienx8

    kukienx8 Mầm non

    Muốn làm epub các bạn lên w3school học những cái căn bản về html và css là làm ngon :)
     
    hungbc1010 thích bài này.
  18. 4DHN

    4DHN --------- Thành viên BQT

    Trên đó không có lệnh mà. Cái tôi đang muốn nói tới là lệnh trong sigil. :D
     
  19. Zhiqiang

    Zhiqiang Moderator Thành viên BQT

    Cái này .. mới nghe luôn anh Tư :D.
     
  20. Derby

    Derby Lớp 8

    Anh Tư à, cái lớp của anh có thể "cải tạo" một người có khả năng học rất mau nhưng chẳng có hứng thú gì với ebook hết như em không? [​IMG]
     

Chia sẻ trang này