You are on page 1of 7

HƯỚNG DẪN SỬ DỤNG

MẪU LÀM SÁCH BẰNG LATEX


Nguyễn Hữu Điển
Khoa Toán - Cơ - Tin học
ĐHKHTN Hà Nội, ĐHQGHN
huudien@vnu.edu.vn

1 Giới thiệu
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

2 Thiết lập định dạng cuốn sách


Tất cả định dạng cuốn sách và định nghĩa trong LaTeX nên đặt tại tệp
noidungsach.tex và bao gồm các phần.

1
http://nhdien.wordpress.com - Nguyễn Hữu Điển 2

1. Lớp văn bản và các gói lệnh cần cho văn bản được đặt ngay từ đầu

\documentclass[11pt,twoside,openany]{book}
\usepackage{amsmath,amsxtra,amssymb,latexsym, amscd,amsthm}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\pagestyle{fancy}
\usepackage{picinpar}
\usepackage{floatflt}
\usepackage{epic}
\usepackage{curves}
\usepackage{makeidx}
\usepackage{longtable}%
\usepackage{multicol}%
\usepackage[tight,vietnam]{minitoc}%
\usepackage{fancybox}
\usepackage[utf8]{vietnam}

2. Định dạng chiều dài và rộng của trang sách cùng với tiêu đề chạy trên đầu
mỗi trang

\textheight 21truecm %%16.2truecm


\textwidth 14truecm %11.3truecm
\parskip 3pt
\headsep=12pt
\renewcommand{\headwidth}{14truecm}
\renewcommand{\chaptermark}[1]%
{\markboth{\it #1}{}}
\renewcommand{\sectionmark}[1]%
{\markright{\it \thesection\ #1}}
\lhead[\fancyplain{}{\thepage}]%
{\fancyplain{}{\rightmark}}
\rhead[\fancyplain{}{\leftmark}]%
{\fancyplain{}{\thepage}}
\cfoot{}
\sloppy

3. Các lệnh tự định nghĩa và dùng danh mục từ khóa

\renewcommand{\binom}[2]{C_{#1}^{#2}}
\def\cung#1{\buildrel \frown \over{#1}}
\def\g.#1.{\widehat{#1}}
\newcommand{\chia}{\;\vdots\;}
\newcommand{\kchia}{\not\vdots\;\;}
\makeindex
http://nhdien.wordpress.com - Nguyễn Hữu Điển 3

4. Định nghĩa các môi trường định lý, mệnh đề, bổ đề hay bài tập

\theoremstyle{definition}
\newtheorem{definition}{Định nghĩa}[chapter]
\theoremstyle{plain}
\newtheorem{theorem}{Định lý}[chapter]
\newtheorem{proposition}{Mệnh đề}[chapter]
\newtheorem{lemma}{Bổ đề}[chapter]

\theoremstyle{definition}
\newtheorem{baitap}{Bài tập}[chapter]

5. Liệt kê mục lục của mỗi chương ngay sau tên chương

\usepackage[tight,vietnam]{minitoc}%
\renewcommand{\mtctitle}{\ } %không dùng tên của mục lục chương
\setcounter{minitocdepth}{1}

6. Dùng gói lệnh answers.sty để tạo ra tệp bài tập cho từng chương để đưa
vào sau này.

\usepackage{answers}
\Newassociation{loigiai1}{Answer}{loigiaichung}
\Newassociation{loigiai2}{Answer}{loigiaichung}
\Newassociation{loigiai3}{Answer}{loigiaichung}
\Newassociation{loigiai4}{Answer}{loigiaichung}
\Newassociation{loigiai5}{Answer}{loigiaichung}

3 Các phần trong tệp chính


1. Thực hiện làm mục lục của từng chương
\dominitoc
2. Bìa sách và đánh số theo La mã

\pagenumbering{arabic}
\include{biasach}

3. Lời nói đầu và ký hiệu

\newpage
\setcounter{page}{3}
\setlength{\baselineskip}{16truept}
%\adjustmtc %danh so chuong cho dung
\include{loinoidau}
\include{kyhieu}
http://nhdien.wordpress.com - Nguyễn Hữu Điển 4

4. In ra mục lục của cuốn sách


\markboth{{\it Mục lục}}{{\it Mục lục}}
\addcontentsline{toc}{section}{{\bf Mục lục\rm }}
\tableofcontents
5. Gọi nội dung các chương
\include{chuong1}
\include{chuong2}
\include{chuong3}
\include{chuong4}
\include{chuong5}
6. Tài liệu tham khảo
\newpage
\setlength{\baselineskip}{12truept}
\include{tailieu}
7. Danh mục từ khóa
\newpage
\markboth{{\it Danh mục từ khóa}}{{\it Danh mục từ khóa}}
\addcontentsline{toc}{section}{{\bf Danh mục từ khóa}}
\printindex

4 Các phần trong tệp một chương


Môi chương đều có cấu trúc như nhau; tránh định nghĩa riêng cho từng chương
mà tất cả ở tệp chính. Ở mỗi chương có phần chính sau:
1. Tiêu đề chương và các công cụ cho phần mở đầu chương
\chapter{Đề thi olympic irland}%
\minitoc % mục lục nhỏ mỗi chương
\thispagestyle{empty}
\Opensolutionfile{loigiaichung}[baitapC1]
%mở tệp baitapC1.tex ghi các lời giải và đáp án các bài tập
\vspace*{1cm} %khoảng cách tiêu đề và văn bản chính
2. Các phần nội dung của chương
\section{Giới thiệu}
<Nội dung ghi vào đây>
\section{Phần nội dung chương 1}
<Các định nghia, định lý, dóng công thức toán>
\section{Phần nội dung chương 1}
<Các định nghia, định lý, dóng công thức toán>
http://nhdien.wordpress.com - Nguyễn Hữu Điển 5

3. Các môi trường định lý, mệnh đề, bổ đề được thực hiện bình thường

\begin{theorem}
<Nội dung>
\end{theorem}
..................
\begin{lemma}
<Nội dung>
\end{lemma}
.................

4. Phần bài tập, nội dung bài tập

\section{Bài tập}
\begin{baitap}%1
<Nội dung bài tập>
\begin{loigiai1}
<Lời giải ghi vào baitapC1.tex>
\end{loigiai1}
\end{baitap}
\begin{baitap}%2
<Nội dung bài tập>
\begin{loigiai1}
<Lời giải ghi vào baitapC1.tex>
\end{loigiai1}
\end{baitap}

5. Đóng tệp ghi lời giải và đưa vào cuối chương hoặc đưa vào cuối sách.

\Closesolutionfile{loigiaichung}
\section*{Lời giải bài tập chương 1}
\addcontentsline{toc}{section}{Lời giải bài tập chương 1}
\markright{Lời giải bài tập chương 1}
{\small\input{baitapC1}}

6. Chú ý : nếu muốn in tất cả lời giải và chú thích ở một chương riêng thì ở
mỗi chương chỉ có lệnh đóng tệp. Còn lệnh đưa vào thì thôi để đến chương cuối
cùng như:

\charter*{Lời giải}
\input{baitapC1}
\input{baitapC2}
\input{baitapC3}
\input{baitapC4}
\input{baitapC5}
http://nhdien.wordpress.com - Nguyễn Hữu Điển 6

5 Các chi tiết khác của cuốn sách


Mọi chi tiết đều lấy từ VieTeX được dễ dàng.
1. Danh mục từ bằng lệnh \index{}

\index{đạo hàm cấp hai}, \index{hàm liên tục}

2. Tài liệu tham khảo

\begin{thebibliography}{99}
\addcontentsline{toc}{section}{{\bf Tài liệu tham khảo}\rm }%
\bibitem{rade}
H. Rademacher,
{\it Higher Mathematics from an Elementary point of view},
Birkhauser, 1983.
...........................
\end{thebibliography}

3. Bảng dữ liệu

\begin{table}[!ht]
\centering
\renewcommand{\arraystretch}{1.25}
\begin{tabular}{|c|c|c|c|c|}
\hline
& & & & \\
\hline
& & & &\\
\hline
\end{tabular}
\caption{*}\label{tab:*}
\end{table}

4. Hình ảnh

\begin{figure}[!ht]
\centering
\includegraphics[height=2cm,width=3cm]{*.eps}
\caption{}\label{fig:}
\end{figure}

5. Dùng các môi trường dóng công thức toán

\begin{align}
&\\
&
\end{align}
http://nhdien.wordpress.com - Nguyễn Hữu Điển 7

6 Các tệp kèm theo hướng dẫn này


bai32korea.tex
bai3korea.tex
bai5bkorea.tex
bai5korea.tex
baitapC1.tex
baitapC2.tex
baitapC3.tex
baitapC4.tex
baitapC5.tex
biasach.tex
Book.cls
chuong1.tex
chuong2.tex
chuong3.tex
chuong4.tex
chuong5.tex
ENGLISH.MLD
kyhieu.TEX
loinoidau.tex
maulamsachhelp.pdf
maulamsachhelp.tex
noidungsach.pdf
noidungsach.tex
Tailieu.tex

You might also like