VieTeX

Chương trình soạn thảo TeX

Hướng dẫn sử dụng mẫu làm sách bằng LaTeX

Posted by nhdien on 11/12/2009

Làm một cuốn sách là một quá trình lâu dài và tích lũy kiến thức để viết ra. Tôi không bàn luận về vấn đề viết sách các loại tham khảo, giáo trình,… như thế nào ở đây. Tôi chỉ hướng dẫn lên khung một cuốn sách, phần còn lại là người viết điền vào. Một cuốn sách bao gồm tiêu đề của sách, lời nói đầu, mục lục, các chương, đáp án trả lời bài tập nếu có, tài liệu trích dẫn, chỉ mục các từ, …

Để thuận tiện tôi chia các mục trên thành các tệp đập lập cho tới tận các chương của cuốn sách. Như vậy phải có một tệp gom tất cả các tệp lại thành một tài liệu thống nhất. Như ví dụ mẫu kèm theo đây tôi đã chia sách thành các tệp:

noidungsach.tex – đây là tệp chính, chứa định dạng và gọi các tệp sau đây vào;
biasach.tex – bìa cuốn sách bạn thiết kế
loinoidau.tex – Lời nói đầu của xuất bản
kyhieu.tex – Các ký hiệu hoặc viết tắt trong sách
chuong1.tex – nội dung chương 1 của cuốn sách
chuong2.tex – nội dung chương 2 của cuốn sách
chuong3.tex – nội dung chương 3 của cuốn sách
chuong4.tex – nội dung chương 4 của cuốn sách
chuong5.tex – nội dung chương 5 của cuốn sách
tailieu.tex – các tài liệu trích dẫn

Mỗi chương trong mẫu là những bài tập hay và các bạn có thể tham khảo

Tài liệu và mẫu bạn lấy tại đây maulamsach.zip
Hướng dẫn sử dụng

Bản mẫu đơn giản

27 Responses to “Hướng dẫn sử dụng mẫu làm sách bằng LaTeX”

  1. Hưng Art said

    File maulamsach.zip tải không được thầy ơi, Thầy có thể gửi file đó cho em ko ? em sẽ up lên gg drive cho mọi người tải ạ.
    Trả lời
    Do quá bận tôi chư xem lại được. Cài VieTeX đã có tất cả các mẫu đó. Xem HD VieTeX 4.0

  2. nguyenkc69 said

    Cụ thể là e muốn đưa Mục lục, Lời mở đầu, danh mục ký hiệu viết tắt vào phần MỤC LỤC thì e phải làm thế nào?
    Em cảm ơn thầy!
    Trả lời
    Dùng \chapter*{….}

  3. nguyenkc69 said

    Kính chào Thầy!
    E dùng Vietex. E muốn hỏi một số câu hỏi”
    1. E sử dụng lệnh “\preffacename” (Theo cuốn LATEX tra cứu và soạn thảo) để làm LỜI NÓI ĐẦU nhưng bị báo lỗi: Không khai báo!!! Thầy giúp e với ạ?
    2. E muốn đưa vào mục lục tự động một số phần mà ko sử dụng \chapter, \part, \section… thì phải làm như thế nào? Những phần này tương đương với \chapter.
    E cảm ơn Thầy!
    Trả lời
    1. Lệnh đúng là \prefacename, tôi không dùng bai giờ mà lấy \chapter*{…}
    2. Dùng \addcontentsline{toc}{chapter}{…….} hoặc các lệnh khác ở trang 187 sach của tôi.

  4. Thưa Thầy!

    Trong mẫu làm sách này, em thử đánh số Định lí theo Section thì khi dịch ra PDF, kết quả là “Định lí 1.1..1. {nội dung}”, em đã vào Book để sửa vùng
    \renewcommand\thepart {\@Roman\c@part}
    \renewcommand\thechapter {\@arabic\c@chapter}
    \renewcommand\thesection {\thechapter.\@arabic\c@section.}
    \renewcommand\thesubsection {\thesection\@arabic\c@subsection.}
    \renewcommand\thesubsubsection{\thesubsection\@arabic\c@subsubsection.}
    \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
    \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}

    nhưng không được.

    EM mong Thầy bỏ chút thời gian xem giúp em vấn đề này, em cảm ơn Thầy nhiều ạ!

    Kính chúc Thầy sức khỏe và nhiều điều tốt lành!!!
    Trả lời
    Xóa tệp book.cls trong thư mục mẫu đi. Sau đó dùng gói lệnh titledot.sty (gói này lấy về trên trang web của tôi).

  5. Sơn Vũ said

    Em chào thầy!
    Thưa thầy, em đang dùng mẫu làm sách này của thầy làm một tài liệu nhỏ.Em muốn thay đổi chữ “Chương” thành chữ “Bài” ở đầu chương thì làm sao ạ?
    Em đã thay đổi trong file book.cls, rồi dùng gói titledot.sty nhưng chỉ được phần mục lục còn tiêu đề chương vẫn không được.
    Mong thầy bớt chút thời gian ạ. Kính chúc thầy và gia đình sức khỏe!
    Cảm ơn thầy.
    Trả lời
    Học TeX nữa đi, những lệnh như sau đây sách nào cũng có, gọi là định nghĩa lại các tên tiêu đề.
    \renewcommand{\chaptername}{\textbf{Bài}}
    Những lệnh khác tự tìm hiểu nhé và hiểu TeX hơn rất nhiều.

    • Sơn Vũ said

      Cảm ơn thầy nhiều, em đã làm được rồi. Chúc thầy luôn khỏe và cống hiến nhiều hơn nữa cho các bạn yêu TeX, em là em nghiện mất rồi…

  6. Thầy cho em hỏi, trong một slide làm bằng Latex, nếu em chỉ muốn căn lề của một slide thì làm thế nào ạ?
    Trả lời
    Tôi không biết, hoặc khng có.

  7. hung said

    Thưa Thầy, sao em không tải maulamsach.zip được a?
    Nếu được Thầy gửi mail cho em nhé!
    Trả lời
    Bạn chờ qua đầu tháng 3 từ mùng một mới lấy được vì hết bandwidth của kho họ cho rồi, tôi bận quá không gửi cho mọi người được.

  8. dương thái bảo said

    cho em hỏi bi sai gì? khi em download file maulamsach.zip, em giải nén ra và chạy file noidungsach.tex thì báo các lỗi tương tự như sau:
    ! Package utf8 Error: Character173appearedalone.
    See the utf8 package documentation for explanation.
    Type H for immediate help.

    l.7 \chapter{Đề thi olympic irland}
    %
    Characters128-191areonlyallowedasargumentstocharacters194-244
    xin thầy chỉ dẫn cách khắc phục, em đang soạn bằng texmaker
    Trả lời
    Nạp gói lệnh vntex chưa? mà copy từ PDF ra là không ổn, nhiều mã không phải là Unicode, nên gõ lại thôi.

  9. Đoàn Văn Hiệp said

    Em đang soạn một cuốn sách bằng tex. Khi dùng lệnh twoside để in hai mặt nhưng khi bắt đầu trang đầu tiên không phải lệch bên phải mà lại lệch bên trái. Làm thế nào để khắc phục? Xin cảm ơn Thầy!
    Trả lời
    Đưa vào thêm tùy chọn openright

  10. ngô thị tịnh said

    Thưa thầy, em dang soan luận văn tốt nghiệp.
    em dung mau luan an cua thầy nhưng sao in ra thi khoảng cách lề trên khá rộng (khoảng 4 – 4.5 cm). làm thê nào để chỉnh điều này. Mong thầy giúp đỡ.
    em cảm ơn thầy.
    Trả lời
    Lề trên điều khiển bằng lệnh
    \voffset=-5cm

  11. galoi14 said

    Em đang dùng mẫu sách của thầy để làm sách. Xin thầy cho em hỏi: Trong mẫu trên, thầy dùng những lệnh gì để:
    1, Phần Mục lục có xuất hiện Chương, trong khi mặc định chỉ là chỉ số chương?
    2, Tạo ra bảng mục lục con ngay sau mỗi chương?
    Em có dùng gói minitoc nhưng vẫn chưa rành.
    Xin cám ơn thầy!
    Trả lời
    1. Bạn có mẫu làm sách khi cài đặt xong Vietex ở thư mục làm sách
    @lamsach nếu chưa có thì lấy ra trên menu Project.
    2. Trong đó có đầy đủ, bạn tự nghiên cứu trong tệp chính noidungsach.tex
    3. Lệnh lấy mục lục ra là \tableofcontents nhưng phải dung cấu trúc \chapter, \section,…
    4. Vào mạng đến gói lệnh minitoc xem hướng dẫn, phải có lệnh \tableofcontents sau đó các mục lục của minitoc mới có tác dụng.

  12. Ngô Trần Hoàng Phương said

    Kính chào thầy Điển,
    Em rất cám ơn sự chỉ bảo của thầy.
    Vì cũng mới học và cần dùng nên em tiếp cận theo kiểu “ăn sổi” thành ra gặp khá nhiều vấn đề, đặc biệt là khi làm việc với văn bản tiếng Việt.

    1. Em đã thử theo chỉ dẫn của thầy. Em đã thử với cả 3 vị trí đặt lệnh (1. trong phần preamble; 2. Trước khi gọi \appendix; và 3. Sau appendix trước \include{phuluc}) tuy nhiên kết quả đều không thay đổi (em đã xóa các file phụ trước mỗi lần dịch).

    2. Em cũng hiểu là style của sách là 2 mặt. Tuy nhiên trong các sách tiếng Anh thì đầu các mục (Lời nói đầu, Mục lục, .., Các chương..) đều bắt đầu bằng trang phía bên phải khi lật mở trang sách. Em thấy cách này tiện. Thầy có thể gợi ý cho em cách làm như mong muốn được không ạ. Việc thêm \newpage vào sau mỗi mục không giải quyết được vấn đề.

    3. Trở lại vấn đề 1. Em tìm trên mạng có đoạn hướng dẫn thêm đoạn mã sau vào phần preamble của văn bản:

    \makeatletter
    \newcommand\appendix@chapter[1]{%
    \refstepcounter{chapter}%
    \orig@chapter*{Appendix \@Alph\c@chapter: #1}%
    \addcontentsline{toc}{chapter}{Appendix \@Alph\c@chapter: #1}%
    }
    \let\orig@chapter\chapter
    \g@addto@macro\appendix{\let\chapter\appendix@chapter}
    \makeatother
    % Thay Appendix bằng Phụ lục

    Tuy nhiên với cách này, thì mục tất cả các phần sau (chapter) sẽ trở thành một phụ lục:Tài liệu tham khảo, Từ khóa (index).

    Giải pháp không đẹp là cho phần phụ lục ở cuối cùng sách.
    Trả lời
    1. Phần chỉ dẫn trước của tôi không đủ. Bạn thực hiện như sau
    đưa vào đầu
    \renewcommand{\appendixname}{Phụ lục}
    Muốn đưa chương nào thành phụ lục thì
    \begin{appendix}
    \appendix
    \include{thuchanh0}
    \end{appendix}
    2. Nên đưa phụ lục vào cuối vì là tài liệu kèm, không quan trọng.

  13. Ngô Trần Hoàng Phương said

    Kính chào thầy Điển,
    Trước hết cho em bày tỏ lòng biết ơn đến công lao và sự công hiến của thầy cho cộng đồng dùng Latex Việt Nam, sự ngưỡng mộ về những hiểu biết kỹ thuật sâu sắc của thầy.

    Em đang học Latex, hiện em dùng mẫu sách của thầy và gặp phải một khó khăn khi xử lý phần phụ lục.

    Giả sử em có một phụ lục được đặt trong tệp phuluc1.tex
    Nội dung trong tệp phuluc1.tex có dạng:

    \chapter{Tên phụ lục }
    % Các nội dung của phụ lục ở đây

    Khi đó ở tệp chính (noidungsach.tex) em thêm như sau:

    ….
    % phần các chương
    \include{chuong1}
    %…
    % kết thúc phần các chương
    % bắt đầu phần phụ lục – thêm vào
    \appendix
    \include{phuluc1}
    % các phần còn lại như file mẫu

    Vấn đề là:
    Trong mục lục nó xuất hiện là “Chương A: Tên phụ lục”
    Trong khi đáng ra phải là “Phụ lục A: Tên phụ lục”
    Kết quả phần phụ lục (thật, ở cuối) hiển thị lại đúng, tức là hiển thị “Phụ lục A: Tên phụ lục”

    Một vấn đề khác, xét ngay trong sách mẫu (kèm theo dự án), phần lề của các trang đầu phần “Lời nói đầu”, “Những kí hiệu” bị căn chỉnh không chính xác, những trang này đáng ra phải được căn lề trái…

    Thầy có thể bớt chút thời gian hướng dẫn em giải quyết vấn đề này được không ạ?

    Em xin chân thành cảm ơn.
    Trả lời
    1. Trước khi phần phụ lục bạn đặt lại lệnh
    \renewcommand{\chaptername}{Phụ lục}
    Lệnh này thì bạn quá quen nhưng không biết áp dụng.
    2. Sách thường in ra hai mặt của 1 trang giấy nên cấu trúc của nó phải như vậy. Còn bạn muốn căn đều thì đặt
    \documentclass[oneside]{book}
    Vì tôi đã đặt twoside là mặc định.

  14. thuthuy said

    Em đang dùng mẫu làm sách của thầy để soạn một cuốn tài liệu. Thưa thầy ta hay dùng
    \begin{baitap}
    Giải các phương trình sau:
    \begin{enumerate}
    \item
    \item
    \item
    \end{enumerate}
    \begin{loigiai1}
    \end{loigiai1}
    \end{baitap}

    Có thể làm làm lời giải cho từng \item đươc không? Tức là

    \begin{baitap}
    Giải các phương trình sau:
    \begin{enumerate}
    \item
    \begin{loigiai1}
    \end{loigiai1}
    \item
    \begin{loigiai1}
    \end{loigiai1}

    \item
    \begin{loigiai1}
    \end{loigiai1}

    \end{enumerate}
    \end{baitap}

    Nếu được, thì tốt quá.
    Trả lời
    1. Để tối xem lại, cấu trúc câu hỏi và trả lời chỉ có một, một câu nhiều lời giả thì làm bình thường trong 1 lời giải, chỉ đánh số thứ tự.
    2. Đừng nghĩ quá phức tạp mà tách nó ra được thì càng tốt.

  15. ngocson said

    Khi nào gói lệnh sửa xong mong thầy sớm đưa trang web.

  16. ngocson said

    Tôi dùng \usepackage{tablists} để làm đáp số, nhưng bộ đếm của lời giải lại ở phía dưới của phần đáp số. Ví dụ. Đáp số của lời giải bài 1.1 với các câu a, b, c, d phải là

    lời giải bài 1.1
    a) b) c) d)
    Nhưng khi thực hiện thì nó lại ra

    a) b) c) d)
    lời giải bài 1.1
    Mong thầy chỉ cách khắc phục. Nếu dùng gói muticols thì làm được. Nhưng tôi muốn gói tablists.

    Trả lời
    Tôi chưa dùng gói này bao giờ, vì là bảng nên chú thích ở dưới bảng là đúng rồi. Có lẽ dùng gói lệnh shortlst.sty mà trong trang web của tôi có nói tới thì hay hơn.

  17. ngocson said

    Thưa thầy, trong môi trường \begin{baitap} \end{baitap} , những bài tập khó, tôi muốn đánh dấu * thì làm như thế nào? Cám ơn thầy.

    Trả lời
    Tôi đã thử đưa vào môi trường multicols thực hiện tốt câu hỏi trước của bạn, nhưng chưa giải quyết vấn đề chỉ 1 số bài trong chương thôi. Còn * thì chưa có chế độ tự động kèm vào số, để tôi xem lại mã nguồn.

  18. ngocson said

    Thưa thầy, tôi đang dùng file làm sách của thầy để soạn một tài liệu. Tôi muốn phần đáp số ở nhiều bài khác nhau có thể được viết liên tiếp trên cùng một hàng (như một số sách của nhà xuất bản Mir vẫn làm) với mục đích cho đỡ tốn giấy. Chằng hạn, thay vì viết trong môi trường
    1.1. Đáp số. 1. (xuống hàng)
    1.2. Đáp số 2. (xuống hàng)
    1.3. Đáp số 3. (xuống hàng)
    1.4. Đáp số 4, (xuống hàng)
    thì ta viết 1.1. Đáp số. 1; 1.2. Đáp số 2; 1.3. Đáp số 3. … trên cùng một hàng luôn.

    Trả lời
    Trong gói lệnh này tôi chưa có giải pháp này, để tôi nghiên cứu, có thể bạn cho vào trong môi trường
    \begin{multicols}{3}
    …..
    \end{multicols}
    để tiết kiệm giấy, tôi chưa thử, nhớ phải có gói lệnh này ở đầu.

  19. tu0ng_c0ng said

    Thưa thầy !

    Em có đọc trong cuốn “Một số vấn đề về thuật toán” của thầy, em thấy trong đó môi trường cho các đoạn là “thuật toán” đúng không ạ.

    Môi trường này chỉ ra các đoạn thuật toán được căn trong 2 dòng kẻ ngang. Chỉ số thuật toán được tăng dần, và được chú thích ở trên cùng.

    Nếu có thể thầy có thể bổ xung vào maulamsach trên để dành cho các sách về thuật toán có thể sử dụng !

    CôngTT

    Trả lời
    Để tôi xem lại; nhưng không thể cho mọi thứ vào một bài, mẫu phải đơn giản nhất vì người mới học không thể thực hiện được. Còn các bạn thạo rồi phải tự làm lấy, thế mới có sáng tạo và khác biệt nhau.

    • tu0ng_c0ng said

      Xin lỗi thầy em chưa đọc kỹ, em vừa kiểm tra lại ! Đã có dòng \floatname{algorithm}{\hfil Thuật toán} trong mẫu thầy gửi rồi thầy ạ !

  20. tu0ng_c0ng said

    Dạ, em đã chạy lại và đúng như lời thầy nói.
    Cám ơn thầy !

  21. tu0ng_c0ng said

    Dear thầy !

    Em em đã chạy thử trên Vietex theo trình tự:
    F5 -> F10

    Ngoài ra em cũng chạy trên cả Texmaker nhưng phần mục lục bên tay trái bị lỗi phông.

    Nhân tiện em muốn hỏi thầy về gói letterspae trong cuốn sách thứ 2 của thầy. Em đã mail cho thầy không rõ thầy có nhận được không !

    Nếu được, thầy làm ví dụ giúp em và mọi người về gói đó với ạ.

    P.S: Sau khi hoàn thành cuốn sách về mô phỏng kia, em sẽ gửi thầy. Phần làm mục lục từng chương của thầy thật là tuyệt !

    Trả lời
    Khi đưa gói \usepackage[unicode]{hyperref} có tùy chọn unicode và làm sao dịch thẳng từ TeX qua PDF, Bạn tham khảo bài Mẫu khóa luận có tùy chọn này.

  22. tu0ng_c0ng said

    Cám ơn thầy rất nhiều !

    Em đã tham khảo 2 cuốn sách của thầy và các tài liệu khác để học về TeX nói chung. Hiện em đang hoàn thành một cuốn sách cho vntelecom.org nhờ vào các mẫu trong Vietex.

    Bước đầu kết quả rất khả quan, cám ơn thầy về các bài viết !

    CôngTT

    • tu0ng_c0ng said

      Em vừa chạy tiếp mẫu của thầy gửi. Em thử chèn gói {hyperref} để link mục lục tới phần nó liệt kê thì đã ổn. Nhưng có lỗi là phần mục lục bên tay trái file PDF không không hiển thị được Tiếng Việt. Như minh họa ở hình dưới

      Trong khi em chạy thử cuốn khác thì hiển thị Tiếng Việt bình thường. Em cần làm thế nào để hiển thị tiếng việt bên tay trái. Thầy chỉ giúp em ạ

      Cám ơn thầy !

      CôngTT

      Trả lời
      Để tôi xem lại nhưng làm thế nào để dịch thẳng từ
      TeX–> sang PDF mới được
      Nghĩa là những hình *.eps không dịch thẳng được thì đổi thành *.jpg

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: