Nhập môn LATEX
Hà Quốc Trung Ph. D.
Ha noi University of Technology
Next First Last Back Index
trunghq@it-hut.edu.vn
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học
• Các thành phần văn bản, dấu, trọng âm, ký hiệu đặc biệt.
• Các lệnh thay đổi fonts đơn giản.
• Các loại tài liệu, các lệnh phân chương, các trang bìa.
• Canh lề.
• Định nghĩa các câu lệnh người sử dụng.
• Chuyển đổi về dạng PostScript và Portable Document Format.
• Danh sách.
• Bảng.
• Công thức toán cơ bản.
Previous Next First Last Back Index
2
• Tham chiếu chéo
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Nội dung khóa học-2
• Gói
• Trích dẫn
• Chiều dài
• Hộp và trang con
• Hình vẽ và ảnh
• Hình và các bảng.
• Slides
• Định nghĩa môi trường mới
• Các con đếm
Previous Next First Last Back Index
3
• Viết các gói và các lớp
Nội dung khóa học
Chú ý
• Cuối mỗi chủ đề có phần bài tập. Cần thực hiện bài tập để có thể
nắm vững nội dung của chủ đề.
• Cần đọc kỹ hướng dẫn trong tài liệu đi kèm, và chú ý đến các
nhắc nhở.
• Nếu cảm thấy mệt mỏi, có thể thực hiện phần bài tập đánh dấu e . Nếu cảm thấy bài tập quá dễ, hãy làm thêm các phần đánh dấu ! .
Previous Next First Last Back Index
4
• Ghi lại các câu hỏi để có thể hỏi lại về sau.
Nội dung khóa học
Chú ý
• Cuối mỗi chủ đề có phần bài tập. Cần thực hiện bài tập để có thể
nắm vững nội dung của chủ đề.
• Cần đọc kỹ hướng dẫn trong tài liệu đi kèm, và chú ý đến các
nhắc nhở.
• Nếu cảm thấy mệt mỏi, có thể thực hiện phần bài tập đánh dấu e . Nếu cảm thấy bài tập quá dễ, hãy làm thêm các phần đánh dấu ! .
Previous Next First Last Back Index
4
• Ghi lại các câu hỏi để có thể hỏi lại về sau.
Nội dung khóa học
Chú ý
• Cuối mỗi chủ đề có phần bài tập. Cần thực hiện bài tập để có thể
nắm vững nội dung của chủ đề.
• Cần đọc kỹ hướng dẫn trong tài liệu đi kèm, và chú ý đến các
nhắc nhở.
• Nếu cảm thấy mệt mỏi, có thể thực hiện phần bài tập đánh dấu e . Nếu cảm thấy bài tập quá dễ, hãy làm thêm các phần đánh dấu ! .
Previous Next First Last Back Index
4
• Ghi lại các câu hỏi để có thể hỏi lại về sau.
Nội dung khóa học
Chú ý
• Cuối mỗi chủ đề có phần bài tập. Cần thực hiện bài tập để có thể
nắm vững nội dung của chủ đề.
• Cần đọc kỹ hướng dẫn trong tài liệu đi kèm, và chú ý đến các
nhắc nhở.
• Nếu cảm thấy mệt mỏi, có thể thực hiện phần bài tập đánh dấu e . Nếu cảm thấy bài tập quá dễ, hãy làm thêm các phần đánh dấu ! .
Previous Next First Last Back Index
4
• Ghi lại các câu hỏi để có thể hỏi lại về sau.
Nội dung khóa học
Một vài chú ý thêm
• Chú ý đến các ghi chú có đánh dấu Quan trọng.
• Ký hiệu cái này là đối tượng cần chèn vào tại điểm .
• LATEX đều phân biệt chữ hoa chữ thường, nên cần đánh các lệnh
đúng như trong handout đi kèm.
• Hình tam giác (cid:73) ký hiệu các dòng lệnh cần đánh. Ví dụ:
Previous Next First Last Back Index
5
(cid:73)latex filename (Nhớ đánh ENTER để thực hiện.) Nói chung chúng ta không cần đến dòng lệnh, vì đã có các IDE làm thay. Tuy nhiên, có một số trường hợp chúng ta vẫn cần đến giao diện dòng lệnh.
Nội dung khóa học
Một vài chú ý thêm
• Chú ý đến các ghi chú có đánh dấu Quan trọng.
• Ký hiệu cái này là đối tượng cần chèn vào tại điểm .
• LATEX đều phân biệt chữ hoa chữ thường, nên cần đánh các lệnh
đúng như trong handout đi kèm.
• Hình tam giác (cid:73) ký hiệu các dòng lệnh cần đánh. Ví dụ:
Previous Next First Last Back Index
5
(cid:73)latex filename (Nhớ đánh ENTER để thực hiện.) Nói chung chúng ta không cần đến dòng lệnh, vì đã có các IDE làm thay. Tuy nhiên, có một số trường hợp chúng ta vẫn cần đến giao diện dòng lệnh.
Nội dung khóa học
Một vài chú ý thêm
• Chú ý đến các ghi chú có đánh dấu Quan trọng.
• Ký hiệu cái này là đối tượng cần chèn vào tại điểm .
• LATEX đều phân biệt chữ hoa chữ thường, nên cần đánh các lệnh
đúng như trong handout đi kèm.
• Hình tam giác (cid:73) ký hiệu các dòng lệnh cần đánh. Ví dụ:
Previous Next First Last Back Index
5
(cid:73)latex filename (Nhớ đánh ENTER để thực hiện.) Nói chung chúng ta không cần đến dòng lệnh, vì đã có các IDE làm thay. Tuy nhiên, có một số trường hợp chúng ta vẫn cần đến giao diện dòng lệnh.
Nội dung khóa học
Một vài chú ý thêm
• Chú ý đến các ghi chú có đánh dấu Quan trọng.
• Ký hiệu cái này là đối tượng cần chèn vào tại điểm .
• LATEX đều phân biệt chữ hoa chữ thường, nên cần đánh các lệnh
đúng như trong handout đi kèm.
• Hình tam giác (cid:73) ký hiệu các dòng lệnh cần đánh. Ví dụ:
Previous Next First Last Back Index
5
(cid:73)latex filename (Nhớ đánh ENTER để thực hiện.) Nói chung chúng ta không cần đến dòng lệnh, vì đã có các IDE làm thay. Tuy nhiên, có một số trường hợp chúng ta vẫn cần đến giao diện dòng lệnh.
Khái niệm LaTeX
TEX là gì?
• TEX là ngôn ngữ biểu diễn văn bản được viết bởi Donald Knuth.
• Dạng khởi thủy của TEX gọi là : plain TEX.
• Plain TEX rất dễ với các văn bản đơn giản (không có công thức,
chương mục).
Previous Next First Last Back Index
6
• Nếu không dòi hỏi nhiều kỹ thuật, tiểu xảo.
Khái niệm LaTeX
LATEX là gì?
• Leslie Lamport viết một ngôn ngữ biểu diễn văn bản từ TEX gọi là
LATEX.
• Các văn bản đơn giản được tạo ra bằng LATEX khó khăn hơn TEX.
• Các trường hợp khác, LATEXdễ dàng hơn.
• Vì LATEX là một dẫn xuất của TEX, nên có thể nhận được thông
báo lỗi của TEX và LATEX .
• Trong nội dung môn học, sử dụng phiên bản LATEX 2ε
Previous Next First Last Back Index
7
• Bản cũ LATEX 2.09 đã quá lỗi thời.
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
Ngôn ngữ lập trình
C
1. Viết/soạn thảo mã chương trình trong một file text (v.d.
HelloWorld.c)
2. Dich mã nguồn. (v.d. (cid:73)gcc HelloWorld.c)
• Nếu có lỗi trở về bước 1. • Nếu thành công, tạo ra một file chạy(v.d. HelloWorld.exe)
3. Thực hiện file chạy (v.d. (cid:73)HelloWorld).
Java
1. Viết/soạn thảo mã nguồn trong text file (e.g. HelloWorld.java) 2. Dịch mã nguồn. (v.d. (cid:73)javac HelloWorld.java)
• Nếu có lỗi, trở về bước 1. • Nếu thành công, tạo ra Java bytecode file (v.d. HelloWorld)
3. Nạp Java bytecode vào máy ảo Java
(v.d. (cid:73)java HelloWorld).
Previous Next First Last Back Index
8
Khái niệm LaTeX
LATEX
1. Soạn thảo/viết mã nguồn trong text file (v.d. HelloWorld.tex)
2. LATEX mã nguồn. (v.d. (cid:73)latex HelloWorld.tex)
• Nếu có lỗi trở về bước 1.
• Nếu thành công tạo ra một file không phụ thuộc vào các hệ
thống nền(DVI) (v.d. HelloWorld.dvi)
3. Nạp DVI file vào một trình hiển thị DVI viewer (v.d. (cid:73)yap
HelloWorld.dvi).
Previous Next First Last Back Index
9
LATEX KHÔNG là một chương trình xử lý văn bản!
Khái niệm LaTeX
LATEX
1. Soạn thảo/viết mã nguồn trong text file (v.d. HelloWorld.tex)
2. LATEX mã nguồn. (v.d. (cid:73)latex HelloWorld.tex)
• Nếu có lỗi trở về bước 1.
• Nếu thành công tạo ra một file không phụ thuộc vào các hệ
thống nền(DVI) (v.d. HelloWorld.dvi)
3. Nạp DVI file vào một trình hiển thị DVI viewer (v.d. (cid:73)yap
HelloWorld.dvi).
Previous Next First Last Back Index
9
LATEX KHÔNG là một chương trình xử lý văn bản!
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu điểm và nhược điểm của LATEX
(cid:43) Chỉ có thể hiển thị tài liệu khi đã LATEXmã nguồn. . . (cid:95) Không nhìn thấy văn bản hiển thị khi đang gõ. . . (cid:94) Có vẻ mất thời gian hơn so với các chương trình soạn thảo văn
bản thông thường.
Previous Next First Last Back Index
10
. . (cid:95) Phải nhớ các tên lệnh (hoặc phải có tài liệu bên cạnh.) . . (cid:94) Tất nhiên, trừ khi chúng ta có một front-end mạnh. . . (cid:95) Hơi khó khăn khi bắt đầu . . (cid:94) Khi bạn đã quen, các thao tác phức tạp trở nên dễ dàng. . . (cid:94) Mã nguồn của các tài liệu lớn có kích thước rất khiêm tốn.
Khái niệm LaTeX
ưu nhược điểm của LATEX .
. . (cid:94) Soạn thảo một văn bản lớn không ảnh hưởng đến tốc độ gỡ. Với Word hoặc OpenOffice, cả tài liệu sẽ bị định dạng lãi khi ta gõ.
. . (cid:94) Có thể tuân thủ các luật chính tả, nhất là khi gõ các công thức.
PPT, Impress thường có vấn đề khi gõ công thức
. . (cid:94) Tài liệu LATEX thường có vẻ chuyên nghiệp hơn các tài liệu khác tend to have a more professional look than those created using a word processor.
. . (cid:94) Miễn phí! (mặc dù một vài front-end như WinEdt, là phần mềm
Previous Next First Last Back Index
11
chia sẻ.)
Khái niệm LaTeX
ưu nhược điểm của LATEX .
. . (cid:94) Soạn thảo một văn bản lớn không ảnh hưởng đến tốc độ gỡ. Với Word hoặc OpenOffice, cả tài liệu sẽ bị định dạng lãi khi ta gõ.
. . (cid:94) Có thể tuân thủ các luật chính tả, nhất là khi gõ các công thức.
PPT, Impress thường có vấn đề khi gõ công thức
. . (cid:94) Tài liệu LATEX thường có vẻ chuyên nghiệp hơn các tài liệu khác tend to have a more professional look than those created using a word processor.
. . (cid:94) Miễn phí! (mặc dù một vài front-end như WinEdt, là phần mềm
Previous Next First Last Back Index
11
chia sẻ.)
Khái niệm LaTeX
ưu nhược điểm của LATEX .
. . (cid:94) Soạn thảo một văn bản lớn không ảnh hưởng đến tốc độ gỡ. Với Word hoặc OpenOffice, cả tài liệu sẽ bị định dạng lãi khi ta gõ.
. . (cid:94) Có thể tuân thủ các luật chính tả, nhất là khi gõ các công thức.
PPT, Impress thường có vấn đề khi gõ công thức
. . (cid:94) Tài liệu LATEX thường có vẻ chuyên nghiệp hơn các tài liệu khác tend to have a more professional look than those created using a word processor.
. . (cid:94) Miễn phí! (mặc dù một vài front-end như WinEdt, là phần mềm
Previous Next First Last Back Index
11
chia sẻ.)
Khái niệm LaTeX
ưu nhược điểm của LATEX .
. . (cid:94) Soạn thảo một văn bản lớn không ảnh hưởng đến tốc độ gỡ. Với Word hoặc OpenOffice, cả tài liệu sẽ bị định dạng lãi khi ta gõ.
. . (cid:94) Có thể tuân thủ các luật chính tả, nhất là khi gõ các công thức.
PPT, Impress thường có vấn đề khi gõ công thức
. . (cid:94) Tài liệu LATEX thường có vẻ chuyên nghiệp hơn các tài liệu khác tend to have a more professional look than those created using a word processor.
. . (cid:94) Miễn phí! (mặc dù một vài front-end như WinEdt, là phần mềm
Previous Next First Last Back Index
11
chia sẻ.)
Khái niệm LaTeX
MS-DOS Prompt
• Khi mã nguồn được viết xong, cần chuyển cho LATEX. Có thể dùng
MS-DOS prompt, Start → Programs → MS-DOS Prompt hoặc Start → Programs → Accessories → MS-DOS Prompt
• Chuyển đến thư mục đang làm việc (cid:73)cd "c:\My
Documents\Nam\Nam"
• Dịch mã nguồn LATEX, v.d. (cid:73)latex sample.tex
Previous Next First Last Back Index
12
• Xuất hiện file .dvi cố thể hiển thị được bằng chương trình YAP.
Khái niệm LaTeX
TeXnicCenter
• TeXnicCenter là một chương trình cho phép soạn thảo các file
chứa mă nguồn LATEX và dùng một phím duy nhất để dịch LATEX, hoặc một phím khác để hiển thị văn bản đầu ra.
• TeXnicCenter chưa được cài đặt. Cần cài đặt trên máy tính.
• Khởi động TeXnicCenter từ start:
Khởi động → Programs → TeXnicCenter → TeXnicCenter
• Sẽ có một màn hình “Tip of the Day”. Có thể đóng cửa này lại.
Previous Next First Last Back Index
13
• Màn hình cấu hình TeXnicCenter sẽ xuất hiện. Sử dụng các cấu hình mặc định, bằng cách ấn vào các phím “Next”, “Next” and “Finish”
Khái niệm LaTeX
Sử dụng TeXnicCenter
Previous Next First Last Back Index
14
Sau khi đã cấu hình TeXnicCenter, màn hình TeXnicCenter sẽ xuất hiện:
Khái niệm LaTeX
TeXnicCenter : Khởi tạo Project mới
Previous Next First Last Back Index
15
Để tạo project mới, chọn File → New Project. Cửa sổ “New Project” sẽ được mở ra:
Khái niệm LaTeX
TeXnicCenter : Khởi tạo một Project mới
Nhập tên của project và chỉ ra thư mục để lưu:
Previous Next First Last Back Index
16
Chọn “Empty Project” và ấn “Okay”.
Khái niệm LaTeX
TeXnicCenter : Khởi tạo một Project mới
Previous Next First Last Back Index
17
Kết quả thu được có dạng:
Khái niệm LaTeX
TeXnicCenter : Gõ mã nguồn
Previous Next First Last Back Index
18
Có thể bắt đầu gõ mã nguồn:
Khái niệm LaTeX
Saving, LATEXing, Viewing Document
1. Để ghi vào mã nguồn, ấn vào phím ghi
. 2. Để dịch bằng LATEX ấn vào Build Icon
3. Nếu có lỗi , ấn vào phímBuild → Next Error, để dịch chuyển về vị
trí lỗi. Sửa lỗi và chuyển về bước 1.
4. Sau đó có thể xem kết quả hiển thị tài liệu bằng cách ấn vào phím
Previous Next First Last Back Index
19
view output button .
Definitions
Các ký hiệu đặc biệt
• 10 ký hiệu sau có ý nghĩa đặc biệt và cần được sử dụng cẩn thận:
% $ # & { } _ ^ ~ \
• Dấu phần trăm % bắt đầu một chú thích cho mã nguồn. Tất cả những gì sau ký hiệu % trên một dòng đều bị LATEX bỏ qua.
Input
Output
Một vài từ Một vài từ % chú thích.
Previous Next First Last Back Index
20
• Các ký hiệu đặc biệt khác sẽ được đề cập đến sau.
Definitions
Các lệnh(Macros)
• Các lệnh cho phép định dạng các phần của tài liệu.
• Có thể được biểu diễn bằng ký hiệu ăặc biệt (v.d. $) hoặc một backslash sau đó là một ký hiệu đặc biệt (v.d. \=) hoặc một backslash sau đó là một từ (v.d. \today).
• Tất cả các dấu cách sau tên lệnh đều bị bỏ qua. Chú ý sự khác
nhau giữa
Output
Input
œ \oe
và
Input
Output
Previous Next First Last Back Index
21
øe \o e
Definitions
Các lệnh(Macros)
• Các lệnh cho phép định dạng các phần của tài liệu.
• Có thể được biểu diễn bằng ký hiệu ăặc biệt (v.d. $) hoặc một backslash sau đó là một ký hiệu đặc biệt (v.d. \=) hoặc một backslash sau đó là một từ (v.d. \today).
• Tất cả các dấu cách sau tên lệnh đều bị bỏ qua. Chú ý sự khác
nhau giữa
Output
Input
œ \oe
và
Input
Output
Previous Next First Last Back Index
21
øe \o e
Definitions
Các lệnh(Macros)
• Các lệnh cho phép định dạng các phần của tài liệu.
• Có thể được biểu diễn bằng ký hiệu ăặc biệt (v.d. $) hoặc một backslash sau đó là một ký hiệu đặc biệt (v.d. \=) hoặc một backslash sau đó là một từ (v.d. \today).
• Tất cả các dấu cách sau tên lệnh đều bị bỏ qua. Chú ý sự khác
nhau giữa
Output
Input
œ \oe
và
Input
Output
Previous Next First Last Back Index
21
øe \o e
Definitions
Các lệnh(Macros)
• Các lệnh cho phép định dạng các phần của tài liệu.
• Có thể được biểu diễn bằng ký hiệu ăặc biệt (v.d. $) hoặc một backslash sau đó là một ký hiệu đặc biệt (v.d. \=) hoặc một backslash sau đó là một từ (v.d. \today).
• Tất cả các dấu cách sau tên lệnh đều bị bỏ qua. Chú ý sự khác
nhau giữa
Output
Input
œ \oe
và
Input
Output
Previous Next First Last Back Index
21
øe \o e
Definitions
Các lệnh(Macros)
• Các lệnh cho phép định dạng các phần của tài liệu.
• Có thể được biểu diễn bằng ký hiệu ăặc biệt (v.d. $) hoặc một backslash sau đó là một ký hiệu đặc biệt (v.d. \=) hoặc một backslash sau đó là một từ (v.d. \today).
• Tất cả các dấu cách sau tên lệnh đều bị bỏ qua. Chú ý sự khác
nhau giữa
Output
Input
œ \oe
và
Input
Output
Previous Next First Last Back Index
21
øe \o e
Definitions
Các lệnh(Macros)
• Các lệnh cho phép định dạng các phần của tài liệu.
• Có thể được biểu diễn bằng ký hiệu ăặc biệt (v.d. $) hoặc một backslash sau đó là một ký hiệu đặc biệt (v.d. \=) hoặc một backslash sau đó là một từ (v.d. \today).
• Tất cả các dấu cách sau tên lệnh đều bị bỏ qua. Chú ý sự khác
nhau giữa
Output
Input
œ \oe
và
Input
Output
Previous Next First Last Back Index
21
øe \o e
Definitions
Nhóm
• Một đoạn mã có thể được nhóm lại bằng cách đặt trong { and }
• Hầu hết các lệnh đặt trong một nhóm chỉ có tác dụng tỏng nhóm
đó.
Input
Một đoạn văn bản. {Đoạn văn bản này nằm trong nhóm.} Một đoạn văn bản khác.
Output
Một đoạn văn bản. Đoạn văn bản này nằm trong nhóm. Một đoạn văn bản khác.
• Lệnh có thể được nhóm để loại bỏ dấu cách trước lệnh:
Output
Input
Previous Next First Last Back Index
22
manœuvre man{\oe}uvre
Definitions
Nhóm
• Một đoạn mã có thể được nhóm lại bằng cách đặt trong { and }
• Hầu hết các lệnh đặt trong một nhóm chỉ có tác dụng tỏng nhóm
đó.
Input
Một đoạn văn bản. {Đoạn văn bản này nằm trong nhóm.} Một đoạn văn bản khác.
Output
Một đoạn văn bản. Đoạn văn bản này nằm trong nhóm. Một đoạn văn bản khác.
• Lệnh có thể được nhóm để loại bỏ dấu cách trước lệnh:
Output
Input
Previous Next First Last Back Index
22
manœuvre man{\oe}uvre
Definitions
Nhóm
• Một đoạn mã có thể được nhóm lại bằng cách đặt trong { and }
• Hầu hết các lệnh đặt trong một nhóm chỉ có tác dụng tỏng nhóm
đó.
Input
Một đoạn văn bản. {Đoạn văn bản này nằm trong nhóm.} Một đoạn văn bản khác.
Output
Một đoạn văn bản. Đoạn văn bản này nằm trong nhóm. Một đoạn văn bản khác.
• Lệnh có thể được nhóm để loại bỏ dấu cách trước lệnh:
Output
Input
Previous Next First Last Back Index
22
manœuvre man{\oe}uvre
Definitions
Thông số lệnh
• Một vài lệnh có thể có một hoặc nhiều tham số . Ví dụ câu lệnh
\textbf có một tham số là văn bản sẽ được làm béo.
Input
Output
Một đoạn văn bản chữ đậm \textbf{Một đoạn văn bản chữ đậm}
• Nếu tham số có nhiều hơn một ký hiệu, các ký hiệu này cần được gộp lại bằng dấu ngoặc nhọn { }. Nếu không, chỉ có ký hiệu đầu tiên được tính là tham số:
Ký hiệu này béo
Output
Input
Previous Next First Last Back Index
23
\textbf Ký hiệu này béo
Definitions
Thông số lệnh
• Một vài lệnh có thể có một hoặc nhiều tham số . Ví dụ câu lệnh
\textbf có một tham số là văn bản sẽ được làm béo.
Input
Output
Một đoạn văn bản chữ đậm \textbf{Một đoạn văn bản chữ đậm}
• Nếu tham số có nhiều hơn một ký hiệu, các ký hiệu này cần được gộp lại bằng dấu ngoặc nhọn { }. Nếu không, chỉ có ký hiệu đầu tiên được tính là tham số:
Ký hiệu này béo
Output
Input
Previous Next First Last Back Index
23
\textbf Ký hiệu này béo
Definitions
Các tham số phụ
• Một vài lệnh có các thông số bổ sung .
• Các tham số bổ sung được đặt trong các dấu ngoặc vuông [ ]:
Output
Input
Đây là một dòng mới. Đây là \\một dòng mới.
Đây là
Đây là\\[5mm] một dòng mới.
Input
Output
một dòng mới.
• Tham số bổ sung nói chung khai báo trước tham số chính (có
Previous Next First Last Back Index
24
một vài trường hợp đặc biệt.)
Definitions
Các tham số phụ
• Một vài lệnh có các thông số bổ sung .
• Các tham số bổ sung được đặt trong các dấu ngoặc vuông [ ]:
Output
Input
Đây là một dòng mới. Đây là \\một dòng mới.
Đây là
Đây là\\[5mm] một dòng mới.
Input
Output
một dòng mới.
• Tham số bổ sung nói chung khai báo trước tham số chính (có
Previous Next First Last Back Index
24
một vài trường hợp đặc biệt.)
Definitions
Các tham số phụ
• Một vài lệnh có các thông số bổ sung .
• Các tham số bổ sung được đặt trong các dấu ngoặc vuông [ ]:
Output
Input
Đây là một dòng mới. Đây là \\một dòng mới.
Đây là
Đây là\\[5mm] một dòng mới.
Input
Output
một dòng mới.
• Tham số bổ sung nói chung khai báo trước tham số chính (có
Previous Next First Last Back Index
24
một vài trường hợp đặc biệt.)
Definitions
Môi trường
• Môi trường environment khác với các lệnh.
• \begin{name} khai báo điểm bắt đầu của một môi trường.
• \end{name} khai báo điểm kết thúc của môi trường.
•
Output
Văn bản dạng sans- serif.
Input
\begin{sffamily} Văn bản dạng sans-serif \end{sffamily}
• Môi trường cũng thực hiện việc nhóm các đoạn văn bản. Các thay đổi trong một môi trường thường là cục bộ trong môi trường.
Previous Next First Last Back Index
25
• Môi trường cũng có thể có các tham số chính và phụ.
Definitions
Môi trường
• Môi trường environment khác với các lệnh.
• \begin{name} khai báo điểm bắt đầu của một môi trường.
• \end{name} khai báo điểm kết thúc của môi trường.
•
Output
Văn bản dạng sans- serif.
Input
\begin{sffamily} Văn bản dạng sans-serif \end{sffamily}
• Môi trường cũng thực hiện việc nhóm các đoạn văn bản. Các thay đổi trong một môi trường thường là cục bộ trong môi trường.
Previous Next First Last Back Index
25
• Môi trường cũng có thể có các tham số chính và phụ.
Definitions
Môi trường
• Môi trường environment khác với các lệnh.
• \begin{name} khai báo điểm bắt đầu của một môi trường.
• \end{name} khai báo điểm kết thúc của môi trường.
•
Output
Văn bản dạng sans- serif.
Input
\begin{sffamily} Văn bản dạng sans-serif \end{sffamily}
• Môi trường cũng thực hiện việc nhóm các đoạn văn bản. Các thay đổi trong một môi trường thường là cục bộ trong môi trường.
Previous Next First Last Back Index
25
• Môi trường cũng có thể có các tham số chính và phụ.
Definitions
Môi trường
• Môi trường environment khác với các lệnh.
• \begin{name} khai báo điểm bắt đầu của một môi trường.
• \end{name} khai báo điểm kết thúc của môi trường.
•
Output
Văn bản dạng sans- serif.
Input
\begin{sffamily} Văn bản dạng sans-serif \end{sffamily}
• Môi trường cũng thực hiện việc nhóm các đoạn văn bản. Các thay đổi trong một môi trường thường là cục bộ trong môi trường.
Previous Next First Last Back Index
25
• Môi trường cũng có thể có các tham số chính và phụ.
Definitions
Môi trường
• Môi trường environment khác với các lệnh.
• \begin{name} khai báo điểm bắt đầu của một môi trường.
• \end{name} khai báo điểm kết thúc của môi trường.
•
Output
Văn bản dạng sans- serif.
Input
\begin{sffamily} Văn bản dạng sans-serif \end{sffamily}
• Môi trường cũng thực hiện việc nhóm các đoạn văn bản. Các thay đổi trong một môi trường thường là cục bộ trong môi trường.
Previous Next First Last Back Index
25
• Môi trường cũng có thể có các tham số chính và phụ.
Definitions
Môi trường
• Môi trường environment khác với các lệnh.
• \begin{name} khai báo điểm bắt đầu của một môi trường.
• \end{name} khai báo điểm kết thúc của môi trường.
•
Output
Văn bản dạng sans- serif.
Input
\begin{sffamily} Văn bản dạng sans-serif \end{sffamily}
• Môi trường cũng thực hiện việc nhóm các đoạn văn bản. Các thay đổi trong một môi trường thường là cục bộ trong môi trường.
Previous Next First Last Back Index
25
• Môi trường cũng có thể có các tham số chính và phụ.
Dấu cách và dấu phân trang
Dấu cách
• Các dấu cách liên tiếp được xử lý như một dấu cách duy nhất.
Input
Output
Một đoạn văn bản. Một đoạn văn bản.
• Các ký hiệu xuống dòng và các ký hiệu tab đều được hiển thị
thành các dấu cách.
• Hiển thị một dấu cách sau một lệnh, sử dụng \␣:
tuyệt
Input
Output
LATEX thật vời! \LaTeX\ thật tuyệt vời!
• Có thể sử dụng \␣ dấu cách sau các từ viết tắt:
Output
Input
Previous Next First Last Back Index
26
v.d. thế này. v.d.\ thế này.
Dấu cách và dấu phân trang
Dấu cách
• Các dấu cách liên tiếp được xử lý như một dấu cách duy nhất.
Input
Output
Một đoạn văn bản. Một đoạn văn bản.
• Các ký hiệu xuống dòng và các ký hiệu tab đều được hiển thị
thành các dấu cách.
• Hiển thị một dấu cách sau một lệnh, sử dụng \␣:
tuyệt
Input
Output
LATEX thật vời! \LaTeX\ thật tuyệt vời!
• Có thể sử dụng \␣ dấu cách sau các từ viết tắt:
Output
Input
Previous Next First Last Back Index
26
v.d. thế này. v.d.\ thế này.
Dấu cách và dấu phân trang
Dấu cách
• Các dấu cách liên tiếp được xử lý như một dấu cách duy nhất.
Input
Output
Một đoạn văn bản. Một đoạn văn bản.
• Các ký hiệu xuống dòng và các ký hiệu tab đều được hiển thị
thành các dấu cách.
• Hiển thị một dấu cách sau một lệnh, sử dụng \␣:
tuyệt
Input
Output
LATEX thật vời! \LaTeX\ thật tuyệt vời!
• Có thể sử dụng \␣ dấu cách sau các từ viết tắt:
Output
Input
Previous Next First Last Back Index
26
v.d. thế này. v.d.\ thế này.
Dấu cách và dấu phân trang
Đoạn văn-Paragraphs
• Một dòng trắng định nghĩa cuối một đoạn văn.
Đây là đoạn văn
đầu tiên. Đây là đoạn văn đầu tiên.
Đây là đầu đoạn
Output
văn thứ hai.
Input
Đây là đầu đoạn văn thứ hai.
Previous Next First Last Back Index
27
• Ngắt đoạn văn cũng có thể được khai báo bằng câu lệnh \par
Tạo tài liệu mới
Tạo tài liệu mới
• Tất cả các file LATEX 2ε đều bắt đầu bằng câu lệnh command
\documentclass[options]{class}
Câu lệnh này định nghĩa Loại văn bản. Ví dụ:
\documentclass[a4paper,12pt]{article}
• Tất cả các đoạn văn bản của tài liệu cần được nằm trong môi
trường document environment:
\begin{document}
định nghĩa điểm đầu của một tài liệu
\end{document}
Previous Next First Last Back Index
28
định nghĩa điểm cuối của tài liệu.
Tạo tài liệu mới
Tạo tài liệu mới
• Tất cả các file LATEX 2ε đều bắt đầu bằng câu lệnh command
\documentclass[options]{class}
Câu lệnh này định nghĩa Loại văn bản. Ví dụ:
\documentclass[a4paper,12pt]{article}
• Tất cả các đoạn văn bản của tài liệu cần được nằm trong môi
trường document environment:
\begin{document}
định nghĩa điểm đầu của một tài liệu
\end{document}
Previous Next First Last Back Index
28
định nghĩa điểm cuối của tài liệu.
Tạo tài liệu mới
Tạo một tài liệu
Tất cả tài liệu LATEX đều có 3 dòng lệnh sau:
\documentclass[a4paper,12pt]{article}
\begin{document}
\end{document}
Previous Next First Last Back Index
29
Dòng đầu tiên có thể thay đổi với các tài liệu khác nhau, nhưng hai dòng còn lại luôn luôn giống như ở trên.
Tạo tài liệu mới
Bài tập 1 : Tạo một tài liệu đơn giản (Trang 1)
• Mở TeXnicCenter, và soạn thảo nội dung giống trong hình e 1 ở
trang 2 của handouts.
• ấn vào phím build .
• Nếu có lỗi, chọn Build → Next Error để xem lỗi đã xảy ra.
Previous Next First Last Back Index
30
• Để xem file đầu ra, ấn phím view output.
Các lệnh thay đổi Font đơn giản
Các lệnh thay đổi Font và các khai báo Font
Một lệnh thay đổi font là cấu trúc không làm ảnh hưởng đến phần
còn lại của tài liệu. Có thể hiểu các lệnh là: làm thao tác X với đối tượng sau. Ví dụ, \textbf{A} có gnhĩa là: “làm cho đoạn văn bản sau có font béo”, trong đó đối tượng là chữ cái A.
Previous Next First Last Back Index
31
Một lệnh khai báo Font là cấu trúc ảnh hưởng đến toàn bộ văn bản từ vị trí câu lệnh Ví dụ, \bfseries thay đổi sang chế độ font béo cho tất cả các đoạn văn sau lệnh này.
Các lệnh thay đổi Font đơn giản
Các lệnh thay đổi Font và các khai báo Font
Một lệnh thay đổi font là cấu trúc không làm ảnh hưởng đến phần
còn lại của tài liệu. Có thể hiểu các lệnh là: làm thao tác X với đối tượng sau. Ví dụ, \textbf{A} có gnhĩa là: “làm cho đoạn văn bản sau có font béo”, trong đó đối tượng là chữ cái A.
Previous Next First Last Back Index
31
Một lệnh khai báo Font là cấu trúc ảnh hưởng đến toàn bộ văn bản từ vị trí câu lệnh Ví dụ, \bfseries thay đổi sang chế độ font béo cho tất cả các đoạn văn sau lệnh này.
Các lệnh thay đổi Font đơn giản
Các lệnh thay đổi Font và các khai báo Font
Một lệnh thay đổi font là cấu trúc không làm ảnh hưởng đến phần
còn lại của tài liệu. Có thể hiểu các lệnh là: làm thao tác X với đối tượng sau. Ví dụ, \textbf{A} có gnhĩa là: “làm cho đoạn văn bản sau có font béo”, trong đó đối tượng là chữ cái A.
Previous Next First Last Back Index
31
Một lệnh khai báo Font là cấu trúc ảnh hưởng đến toàn bộ văn bản từ vị trí câu lệnh Ví dụ, \bfseries thay đổi sang chế độ font béo cho tất cả các đoạn văn sau lệnh này.
Các lệnh thay đổi Font đơn giản
Các lệnh thay đổi Font và các khai báo Font
Một lệnh thay đổi font là cấu trúc không làm ảnh hưởng đến phần
còn lại của tài liệu. Có thể hiểu các lệnh là: làm thao tác X với đối tượng sau. Ví dụ, \textbf{A} có gnhĩa là: “làm cho đoạn văn bản sau có font béo”, trong đó đối tượng là chữ cái A.
Previous Next First Last Back Index
31
Một lệnh khai báo Font là cấu trúc ảnh hưởng đến toàn bộ văn bản từ vị trí câu lệnh Ví dụ, \bfseries thay đổi sang chế độ font béo cho tất cả các đoạn văn sau lệnh này.
Các lệnh thay đổi Font đơn giản
Các lệnh thay đổi Font
Command
Sample Input
Sample Output
(cid:122)
Roman
\textrm{text}
\textrm{Roman}
(cid:125) (cid:124)
Sans serif
F a m
\textsf{text}
\textsf{Sans serif}
i l y
\texttt{text}
\texttt{typewriter}
typewriter
(cid:123) (cid:122)
W
medium
\textmd{text}
\textmd{medium}
(cid:125) (cid:124)
bold
\textbf{text}
\textbf{bold}
e i g h t
(cid:123) (cid:122)
upright
\textup{text}
\textup{upright}
italic
\textit{text}
\textit{italic}
(cid:125) (cid:124)
\textsl{text}
\textsl{slanted}
S h a p e
slanted Small Caps
\textsc{text}
\textsc{Small Caps}
emphasized
\emph{text}
\emph{emphasized}
(cid:123)
default
\textnormal{text}
\textnormal{default}
Previous Next First Last Back Index
32
Các lệnh thay đổi Font đơn giản
Các lệnh khai báo Font
Declaration
Sample Input
Sample Output
(cid:122)
Roman
\rmfamily
\rmfamily Roman
(cid:125) (cid:124)
Sans serif
F a m
\sffamily
\sffamily Sans serif
i l y
\ttfamily
\ttfamily typewriter
typewriter
(cid:123) (cid:122)
W
medium
\mdseries
\mdseries medium
(cid:125) (cid:124)
bold
\bfseries
\bfseries bold
e i g h t
(cid:123) (cid:122)
upright
\upshape
\upshape upright
italic
\itshape
\itshape italic
(cid:125) (cid:124)
\slshape
\slshape slanted
S h a p e
slanted Small Caps
\scshape
\scshape Small Caps
emphasized
\em
\em emphasized
(cid:123)
default
\normalfont
\normalfont default
Previous Next First Last Back Index
33
Các lệnh thay đổi Font đơn giản
Ví dụ thay đổi Font
Output
Input
1. Đoạn văn nhấn mạnh. \em Đoạn văn nhấn mạnh.
Output
Input
2. Đoạn văn nhấn mạnh. Đoạn văn \emph{nhấn mạnh}.
Output
3. Some slanted text.
Input
Previous Next First Last Back Index
34
\sffamily Some \textsl{slanted} text.
Các lệnh thay đổi Font đơn giản
Ví dụ thay đổi font
Output
4. Some more text.
Input
\scshape Some more \upshape text.
5. Some emphasized text.
Output
Input
\itshape Some \emph{emphasized} text.
Output
6. Some bold text.
Input
Previous Next First Last Back Index
35
{\bfseries Some bold} text.
Các lệnh thay đổi Font đơn giản
Các môi trường thay đổi Font
• Một môi trường cũng có thể được sử dụng để thay đổi cục bộ các
tính chất của font.
• Tên của môi trường giống như tên của khai báo font declaration,
không có \ đi trước.
• Ví dụ:
Output
Some normal text. Some bold text. Back to normal text.
Input
Previous Next First Last Back Index
36
Some normal text. \begin{bfseries} Some bold text. \end{bfseries} Back to normal text.
Các lệnh thay đổi Font đơn giản
Thay đổi kích cỡ font
tiny text
Khai báo Môi trường Ví dụ
script sized text
tiny \tiny
footnote sized text
scriptsize \scriptsize
small text
footnotesize \footnotesize
small \small
normalsize \normalsize
large \large
Large \Large
LARGE \LARGE
huge \huge
Previous Next First Last Back Index
37
Huge \Huge normal sized text large text even larger larger still huge really huge
Các lệnh thay đổi Font đơn giản
Ví dụ về thay đổi kích cỡ font
1.
Output
Input
Some normal sized text. Some small text. Normal again. Some normal sized text. {\small Some small text.} Normal again.
2.
Output
Input
Previous Next First Last Back Index
38
Some large bold text. Some \textbf{\large large bold} text.
Các lệnh thay đổi Font đơn giản
Ví dụ về thay đổi kích cỡ font
Some text.
Output
4.
Input
\begin{footnotesize} Some text. \end{footnotesize}
5.
Output
Some normal text. Some tiny italic text. Back to normal.
Input
Previous Next First Last Back Index
39
Some normal text. \begin{tiny} \itshape Some tiny italic text. \end{tiny} Back to normal.
Các lệnh thay đổi Font đơn giản
Bài tập 2 : Fonts (Trang 3)
• Trở lại bài tập 1.
• Đoạn văn đầu tiên đổi sang font sans serif lớn, đoạn văn thứ 2 giữ
nguyên font Roman thường.
• Nhấn mạnh từ “Footnotes” trong đoạn 2, và thay đổi cả đoạn văn
Previous Next First Last Back Index
40
sang chữ nghiêng.
Đấu phảy, trọng âm, ký hiệu
Ký hiệu
Chúng ta đã nói đến các ký hiệu đặc biệt các ký hiệu đặc biệt? Làm thế nào có thể hiển thị chúng? Làm thế nào để hiển thị các ký hiệu không có trên bàn phím?
^ ¶ . . . \% % \textasciicircum \P \ldots
$ ~ \$ \textasciitilde \S \textbar
\ \# # \textbackslash \yen § | (cid:85) \textgreater >
ı < \& & \copyright c(cid:13) \i \textless
{ • \{ \textregistered \textbullet
R(cid:13) \j TM \ddag
} ‡ £ \} \texttrademark \pounds
41
Previous Next First Last Back Index
␣ † \_ _ \textvisiblespace \dag
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các ký hiệu
Output
Input
1. £43.50 \pounds 43.50
Input
Output
2. A, B & C A, B \& C
3.
Input
Output
Previous Next First Last Back Index
42
As she opened the door, she saw . . . As she opened the door, she saw \ldots
Đấu phảy, trọng âm, ký hiệu
Các ký hiệu phân cách
• Các ký hiệu phân cách thông thường có thể được nhập bình
thường: , . ; : ? !
• Một vài ký hiệu cần đến các tổ hợp đặc biệt của các ký hiệu khác.
Foreign
Quotes Dashes
Punctation
‘ - hyphen ?‘ ‘ - ?‘
’ – en dash !‘ ’ -- !‘
“ ‘‘ --- — em dash
” ’’ $-$ − minus
• Khoảng cách nhỏ \, có thể được sử dụng để phân cách nháy đơn
Previous Next First Last Back Index
43
và nháy kép. Ví dụ, ’\,’’ hiển thị thành ’ ”
Đấu phảy, trọng âm, ký hiệu
Ví dụ
Output
Input
1. See pages 23–30 See pages 23--30
2.
Output
Input
She the opened box — the twenty- second one — and fainted in surprise. She opened the box --- the twenty-second one --- and fainted in surprise.
3.
Output
Input
Previous Next First Last Back Index
44
“She said to me: ‘is that it?’ ” ‘‘She said to me: ‘is that it?’\,’’
Đấu phảy, trọng âm, ký hiệu
Các dấu trọng âm
Ví dụ
Ví dụ
Definition
Input
Output Definition
Input
Output
´c
¯c
\’{object}
\’{c}
\={object}
\={c}
`c
˙c
\‘{object}
\‘{c}
\.{object}
\.{c}
ˆc
˜c
\^{object}
\^{c}
\~{object}
\~{c}
¨c
ˇc
\"{object}
\"{c}
\v{object}
\v{c}
˘c
˝c
\u{object}
\u{c}
\H{object}
\H{c}
(cid:127)cc
c¸
\t{object}
\t{cc}
\c{object}
\c{c}
\d{object}
\d{c}
\b{object}
\b{c}
c.
c ¯
Previous Next First Last Back Index
45
Các lệnh trọng âm cho phép đặt các dấu lên trên các ký hiệu.
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các từ với trọng âm
Output
Input
Café 1. Caf\’e
Output
Input
Crèche 2. Cr\‘eche
Output
Input
Pâté 3. P\^at\’e
Output
Input
Na¨ıve 4. Na\"{\i}ve
Previous Next First Last Back Index
46
Chú ý việc sử dụng ký hiệu dotless i.
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các từ với trọng âm
Output
Input
Café 1. Caf\’e
Output
Input
Crèche 2. Cr\‘eche
Output
Input
Pâté 3. P\^at\’e
Output
Input
Na¨ıve 4. Na\"{\i}ve
Previous Next First Last Back Index
46
Chú ý việc sử dụng ký hiệu dotless i.
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các từ với trọng âm
Output
Input
Café 1. Caf\’e
Output
Input
Crèche 2. Cr\‘eche
Output
Input
Pâté 3. P\^at\’e
Output
Input
Na¨ıve 4. Na\"{\i}ve
Previous Next First Last Back Index
46
Chú ý việc sử dụng ký hiệu dotless i.
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các từ với trọng âm
Output
Input
Café 1. Caf\’e
Output
Input
Crèche 2. Cr\‘eche
Output
Input
Pâté 3. P\^at\’e
Output
Input
Na¨ıve 4. Na\"{\i}ve
Previous Next First Last Back Index
46
Chú ý việc sử dụng ký hiệu dotless i.
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các từ với trọng âm
Output
Input
Café 1. Caf\’e
Output
Input
Crèche 2. Cr\‘eche
Output
Input
Pâté 3. P\^at\’e
Output
Input
Na¨ıve 4. Na\"{\i}ve
Previous Next First Last Back Index
46
Chú ý việc sử dụng ký hiệu dotless i.
Đấu phảy, trọng âm, ký hiệu
Ví dụ về các từ với trọng âm
Output
Input
Café 1. Caf\’e
Output
Input
Crèche 2. Cr\‘eche
Output
Input
Pâté 3. P\^at\’e
Output
Input
Na¨ıve 4. Na\"{\i}ve
Previous Next First Last Back Index
46
Chú ý việc sử dụng ký hiệu dotless i.
Đấu phảy, trọng âm, ký hiệu
Các chữ ghép
\AE Æ \ae æ \OE Œ \oe œ
Đơn vị tiền tệ
fi ffi fl ffl fi ffi fl ffl
(cid:32)L (cid:32)l \AA ˚A \aa ˚a \L \l
Previous Next First Last Back Index
47
ø SS ß \O Ø \o \SS \ss
Đấu phảy, trọng âm, ký hiệu
Ví dụ từ có các chữ ghép
Output
Input
1. Manœuvre Man{\oe}uvre
Output
Input
2. Æolian {\AE}olian
Output
Input
3. Œsophagus {\OE}sophagus
Input
Output
Previous Next First Last Back Index
48
4. fluffier fluffier
Đấu phảy, trọng âm, ký hiệu
Ví dụ từ có các chữ ghép
Output
Input
1. Manœuvre Man{\oe}uvre
Output
Input
2. Æolian {\AE}olian
Output
Input
3. Œsophagus {\OE}sophagus
Input
Output
Previous Next First Last Back Index
48
4. fluffier fluffier
Đấu phảy, trọng âm, ký hiệu
Ví dụ từ có các chữ ghép
Output
Input
1. Manœuvre Man{\oe}uvre
Output
Input
2. Æolian {\AE}olian
Output
Input
3. Œsophagus {\OE}sophagus
Input
Output
Previous Next First Last Back Index
48
4. fluffier fluffier
Đấu phảy, trọng âm, ký hiệu
Ví dụ từ có các chữ ghép
Output
Input
1. Manœuvre Man{\oe}uvre
Output
Input
2. Æolian {\AE}olian
Output
Input
3. Œsophagus {\OE}sophagus
Input
Output
Previous Next First Last Back Index
48
4. fluffier fluffier
Đấu phảy, trọng âm, ký hiệu
Ví dụ từ có các chữ ghép
Output
Input
1. Manœuvre Man{\oe}uvre
Output
Input
2. Æolian {\AE}olian
Output
Input
3. Œsophagus {\OE}sophagus
Input
Output
Previous Next First Last Back Index
48
4. fluffier fluffier
Đấu phảy, trọng âm, ký hiệu
Bài tập 3 : Dấu chấm phảy, trọng âm, ký hiệu (trang 3)
Tạo tài liệu LATEX như trong hình vẽ 2 trang 5 của handouts.
Chú ý điểm sau đây:
• Các lệnh trọng âm chỉ có một tham số là ký hiệu cần đánh trọng
âm.
• Trọng âm trên i được đánh bằng dotless i.
• Chú ý nhóm các lệnh ký hiệu hoặc phải đặt một dấu cách sau các
Previous Next First Last Back Index
49
lệnh đó.
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu
• Lớp tài liệu (document class) được định nghĩa sử dụng câu lệnh:
\documentclass[option-list]{class}
• Có nhiều lớp có sẵn. Các lớp chuẩn là:
article report book slides letter
• Cần dùng lớp nào?
(cid:43) Cần viết tài liệu như thế nào? (cid:43) Có cần tóm tắt không? (article hoặc report class) (cid:43) Chia thành các mục (article class), hay cần chia thành các
Previous Next First Last Back Index
50
chương (report hoặc book class)?
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu
• Lớp tài liệu (document class) được định nghĩa sử dụng câu lệnh:
\documentclass[option-list]{class}
• Có nhiều lớp có sẵn. Các lớp chuẩn là:
article report book slides letter
• Cần dùng lớp nào?
(cid:43) Cần viết tài liệu như thế nào? (cid:43) Có cần tóm tắt không? (article hoặc report class) (cid:43) Chia thành các mục (article class), hay cần chia thành các
Previous Next First Last Back Index
50
chương (report hoặc book class)?
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu
• Lớp tài liệu (document class) được định nghĩa sử dụng câu lệnh:
\documentclass[option-list]{class}
• Có nhiều lớp có sẵn. Các lớp chuẩn là:
article report book slides letter
• Cần dùng lớp nào?
(cid:43) Cần viết tài liệu như thế nào? (cid:43) Có cần tóm tắt không? (article hoặc report class) (cid:43) Chia thành các mục (article class), hay cần chia thành các
Previous Next First Last Back Index
50
chương (report hoặc book class)?
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu
• Lớp tài liệu (document class) được định nghĩa sử dụng câu lệnh:
\documentclass[option-list]{class}
• Có nhiều lớp có sẵn. Các lớp chuẩn là:
article report book slides letter
• Cần dùng lớp nào?
(cid:43) Cần viết tài liệu như thế nào? (cid:43) Có cần tóm tắt không? (article hoặc report class) (cid:43) Chia thành các mục (article class), hay cần chia thành các
Previous Next First Last Back Index
50
chương (report hoặc book class)?
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu
• Lớp tài liệu (document class) được định nghĩa sử dụng câu lệnh:
\documentclass[option-list]{class}
• Có nhiều lớp có sẵn. Các lớp chuẩn là:
article report book slides letter
• Cần dùng lớp nào?
(cid:43) Cần viết tài liệu như thế nào? (cid:43) Có cần tóm tắt không? (article hoặc report class) (cid:43) Chia thành các mục (article class), hay cần chia thành các
Previous Next First Last Back Index
50
chương (report hoặc book class)?
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu
• Lớp tài liệu (document class) được định nghĩa sử dụng câu lệnh:
\documentclass[option-list]{class}
• Có nhiều lớp có sẵn. Các lớp chuẩn là:
article report book slides letter
• Cần dùng lớp nào?
(cid:43) Cần viết tài liệu như thế nào? (cid:43) Có cần tóm tắt không? (article hoặc report class) (cid:43) Chia thành các mục (article class), hay cần chia thành các
Previous Next First Last Back Index
50
chương (report hoặc book class)?
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lớp tài liệu chuẩn
Tài liệu một cột
onecolumn
Tài liệu hai cột
twocolumn
Tiêu đề trên một trang riêng
titlepage
notitlepage Tiêu đề trên đầu trang nhất
Định dạng để in một mặt
oneside
Định dạng để in 2 mặt
twoside
Tài liệu nằm ngang
portrait
Tài liệu đứng dọc
landscape
Font mặc định kích thước 10pt
10pt
Font mặc định 11pt
11pt
Font mặc định 12pt
12pt
Previous Next First Last Back Index
51
Một vài tùy biến thường dùng:
Các lớp, các lệnh phân vùng, trang tiêu đề
Các lệnh phân đoạn chuẩn
\part[Tiêu đề]{Tiêu đề} \subsubsection[Tiêu đề]{Tiêu đề}
\chapter[Tiêu đề]{Tiêu đề} \paragraph[Tiêu đề]{Tiêu đề}
\section[Tiêu đề]{Tiêu đề} \subparagraph[Tiêu đề]{Tiêu đề}
\subsection[Tiêu đề]{Tiêu đề}
• Có một số lệnh chỉ được sử dụng trong các loại tài liệu nhất định.
• Các phần, chương, mục, mục con, mục nhỏ đều được đánh số tự
động.
Previous Next First Last Back Index
52
• \paragraph và \subparagraph thường được dùng để đánh dấu các phân đoạn không đánh dấu. Có thể thay đổi cấu hình mặc định này
Các lớp, các lệnh phân vùng, trang tiêu đề
Ví dụ về các phần của văn bản
1.
1 Giới thiệu
\section{Giới thiệu} Tài liệu \LaTeX\ là \ldots
Tài liệu LATEX là . . .
Input
Output
2.
1.1 Macros
\subsection{Macros} Macros\ldots
Macros. . .
Input
Output
3.
\section*{Unnumbered Sections}
Unnumbered Sections
Input
Output
Previous Next First Last Back Index
53
Các lớp, các lệnh phân vùng, trang tiêu đề
Tóm tắt - Abstract
• Một vài lớp tài liệu như article và report định nghĩa môi trường
abstract để biểu diễn phần tóm tắt của văn bản.
Tóm tắt nội dung
Đây là nội dung của tóm tắt. Định thuộc phụ dạng vào loại văn bản sử dụng.
• Ví dụ:
Output
Input
Previous Next First Last Back Index
54
\begin{abstract} Đây là nội dung của tóm tắt. Định dạng phụ thuộc vào loại văn bản sử dụng. \end{abstract}
Các lớp, các lệnh phân vùng, trang tiêu đề
Trang tiêu đề
• Để có thể tạo ra trang bìa, cần phải đưa một số thông tin bằng
các lệnh:
\author{Author Names} \title{Document Title} \date{Date}
• Các thông tin đó sau đó được hiển thị bằng lệnh:
Previous Next First Last Back Index
55
\maketitle
Các lớp, các lệnh phân vùng, trang tiêu đề
Ví dụ về trang bìa
Nhập môn LATEX
Hà Quốc Trung
\author{Hà Quốc Trung} \title{Nhập môn
Input
November 2006
Output
Previous Next First Last Back Index
56
\LaTeX} \maketitle
Các lớp, các lệnh phân vùng, trang tiêu đề
Phụ lục
• Để viết phụ lục, sử dụng lệnh:
\appendix
Để bắt đầu một phụ lục.
• Có thể tiếp tục dùng các lệnh \chapter hoặc \section, phụ
Previous Next First Last Back Index
57
thuộc vào loại tài liệu.
Các lớp, các lệnh phân vùng, trang tiêu đề
Ví dụ
4 Kết luận
A Tables
Here are the conclusions. % This is the 4th section \section{Kết luận} Here are the conclusions.
Đây là phụ lục số 1.
B Proofs
Input
\appendix \section{Tables} Đây là phụ lục số 1. \section{Proofs} Đây là phụ lục số 2.
Output
Previous Next First Last Back Index
58
Đây là phụ lục số 2.
Các lớp, các lệnh phân vùng, trang tiêu đề
Mục lục
• Mục lục có thể được hiển thị sử dụng lệnh:
\tableofcontents
• Các lệnh phân cấp tài liệu ghi các thông tin vào một file mục
lục(.toc).
• Lần LATEX tài liệu tuêps theo, file mục lục sẽ được đọc, mục lục sẽ
được sinh ra.
• Nếu tên của chương mục quá dài, có thể sử dụng tham số phụ của các lệnh phân cấp văn bản để chỉ ra một tiêu đề ngắn hơn.
Previous Next First Last Back Index
59
• Lệnh \tableofcontents thường được đặt sau lệnh \maketitle.
Các lớp, các lệnh phân vùng, trang tiêu đề
Mục lục
• Mục lục có thể được hiển thị sử dụng lệnh:
\tableofcontents
• Các lệnh phân cấp tài liệu ghi các thông tin vào một file mục
lục(.toc).
• Lần LATEX tài liệu tuêps theo, file mục lục sẽ được đọc, mục lục sẽ
được sinh ra.
• Nếu tên của chương mục quá dài, có thể sử dụng tham số phụ của các lệnh phân cấp văn bản để chỉ ra một tiêu đề ngắn hơn.
Previous Next First Last Back Index
59
• Lệnh \tableofcontents thường được đặt sau lệnh \maketitle.
Các lớp, các lệnh phân vùng, trang tiêu đề
Mục lục
• Mục lục có thể được hiển thị sử dụng lệnh:
\tableofcontents
• Các lệnh phân cấp tài liệu ghi các thông tin vào một file mục
lục(.toc).
• Lần LATEX tài liệu tuêps theo, file mục lục sẽ được đọc, mục lục sẽ
được sinh ra.
• Nếu tên của chương mục quá dài, có thể sử dụng tham số phụ của các lệnh phân cấp văn bản để chỉ ra một tiêu đề ngắn hơn.
Previous Next First Last Back Index
59
• Lệnh \tableofcontents thường được đặt sau lệnh \maketitle.
Các lớp, các lệnh phân vùng, trang tiêu đề
Mục lục
• Mục lục có thể được hiển thị sử dụng lệnh:
\tableofcontents
• Các lệnh phân cấp tài liệu ghi các thông tin vào một file mục
lục(.toc).
• Lần LATEX tài liệu tuêps theo, file mục lục sẽ được đọc, mục lục sẽ
được sinh ra.
• Nếu tên của chương mục quá dài, có thể sử dụng tham số phụ của các lệnh phân cấp văn bản để chỉ ra một tiêu đề ngắn hơn.
Previous Next First Last Back Index
59
• Lệnh \tableofcontents thường được đặt sau lệnh \maketitle.
Các lớp, các lệnh phân vùng, trang tiêu đề
Mục lục
• Mục lục có thể được hiển thị sử dụng lệnh:
\tableofcontents
• Các lệnh phân cấp tài liệu ghi các thông tin vào một file mục
lục(.toc).
• Lần LATEX tài liệu tuêps theo, file mục lục sẽ được đọc, mục lục sẽ
được sinh ra.
• Nếu tên của chương mục quá dài, có thể sử dụng tham số phụ của các lệnh phân cấp văn bản để chỉ ra một tiêu đề ngắn hơn.
Previous Next First Last Back Index
59
• Lệnh \tableofcontents thường được đặt sau lệnh \maketitle.
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu định dạng (Style) của trang
• Số trang thường được đặt tự động
• Mặc định, trong loại văn bản article số trang xuất hiện ở giữa và
dưới.
• Kiểu định dạng trang(cách thức hiển thị headers và footers)có thể
được thay đổi sử dụng câu lệnh:
\pagestyle{style}
• Các style thường dùng là: plain, empty and headings.
• Style của trang hiện tại có thể được đặt sử dụng:
Previous Next First Last Back Index
60
\thispagestyle{style}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu định dạng (Style) của trang
• Số trang thường được đặt tự động
• Mặc định, trong loại văn bản article số trang xuất hiện ở giữa và
dưới.
• Kiểu định dạng trang(cách thức hiển thị headers và footers)có thể
được thay đổi sử dụng câu lệnh:
\pagestyle{style}
• Các style thường dùng là: plain, empty and headings.
• Style của trang hiện tại có thể được đặt sử dụng:
Previous Next First Last Back Index
60
\thispagestyle{style}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu định dạng (Style) của trang
• Số trang thường được đặt tự động
• Mặc định, trong loại văn bản article số trang xuất hiện ở giữa và
dưới.
• Kiểu định dạng trang(cách thức hiển thị headers và footers)có thể
được thay đổi sử dụng câu lệnh:
\pagestyle{style}
• Các style thường dùng là: plain, empty and headings.
• Style của trang hiện tại có thể được đặt sử dụng:
Previous Next First Last Back Index
60
\thispagestyle{style}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu định dạng (Style) của trang
• Số trang thường được đặt tự động
• Mặc định, trong loại văn bản article số trang xuất hiện ở giữa và
dưới.
• Kiểu định dạng trang(cách thức hiển thị headers và footers)có thể
được thay đổi sử dụng câu lệnh:
\pagestyle{style}
• Các style thường dùng là: plain, empty and headings.
• Style của trang hiện tại có thể được đặt sử dụng:
Previous Next First Last Back Index
60
\thispagestyle{style}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu định dạng (Style) của trang
• Số trang thường được đặt tự động
• Mặc định, trong loại văn bản article số trang xuất hiện ở giữa và
dưới.
• Kiểu định dạng trang(cách thức hiển thị headers và footers)có thể
được thay đổi sử dụng câu lệnh:
\pagestyle{style}
• Các style thường dùng là: plain, empty and headings.
• Style của trang hiện tại có thể được đặt sử dụng:
Previous Next First Last Back Index
60
\thispagestyle{style}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu đánh số trang
• Số trang được hiển thị bằng các số theo mặc định.
• Định dạng được thay đổi bằng: \pagenumbering{style}
• Các kiểu chuẩn là: arabic, roman, Roman, alph and Alph.
• \pagenumbering sẽ đặt số trang bắt đầu từ 1.
• Thông thường, các chữ số la mã thường được dùng cho các phần đầu (lời nói đầu, thay cho lời tựa, ...), cón số thông thường được dùng cho các phần còn lại của văn bản:
% Front matter
% Start of main matter
Previous Next First Last Back Index
61
\maketitle \pagenumbering{roman} \tableofcontents \begin{abstract} ... \end{abstract} \chapter{Introduction} \pagenumbering{arabic}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu đánh số trang
• Số trang được hiển thị bằng các số theo mặc định.
• Định dạng được thay đổi bằng: \pagenumbering{style}
• Các kiểu chuẩn là: arabic, roman, Roman, alph and Alph.
• \pagenumbering sẽ đặt số trang bắt đầu từ 1.
• Thông thường, các chữ số la mã thường được dùng cho các phần đầu (lời nói đầu, thay cho lời tựa, ...), cón số thông thường được dùng cho các phần còn lại của văn bản:
% Front matter
% Start of main matter
Previous Next First Last Back Index
61
\maketitle \pagenumbering{roman} \tableofcontents \begin{abstract} ... \end{abstract} \chapter{Introduction} \pagenumbering{arabic}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu đánh số trang
• Số trang được hiển thị bằng các số theo mặc định.
• Định dạng được thay đổi bằng: \pagenumbering{style}
• Các kiểu chuẩn là: arabic, roman, Roman, alph and Alph.
• \pagenumbering sẽ đặt số trang bắt đầu từ 1.
• Thông thường, các chữ số la mã thường được dùng cho các phần đầu (lời nói đầu, thay cho lời tựa, ...), cón số thông thường được dùng cho các phần còn lại của văn bản:
% Front matter
% Start of main matter
Previous Next First Last Back Index
61
\maketitle \pagenumbering{roman} \tableofcontents \begin{abstract} ... \end{abstract} \chapter{Introduction} \pagenumbering{arabic}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu đánh số trang
• Số trang được hiển thị bằng các số theo mặc định.
• Định dạng được thay đổi bằng: \pagenumbering{style}
• Các kiểu chuẩn là: arabic, roman, Roman, alph and Alph.
• \pagenumbering sẽ đặt số trang bắt đầu từ 1.
• Thông thường, các chữ số la mã thường được dùng cho các phần đầu (lời nói đầu, thay cho lời tựa, ...), cón số thông thường được dùng cho các phần còn lại của văn bản:
% Front matter
% Start of main matter
Previous Next First Last Back Index
61
\maketitle \pagenumbering{roman} \tableofcontents \begin{abstract} ... \end{abstract} \chapter{Introduction} \pagenumbering{arabic}
Các lớp, các lệnh phân vùng, trang tiêu đề
Kiểu đánh số trang
• Số trang được hiển thị bằng các số theo mặc định.
• Định dạng được thay đổi bằng: \pagenumbering{style}
• Các kiểu chuẩn là: arabic, roman, Roman, alph and Alph.
• \pagenumbering sẽ đặt số trang bắt đầu từ 1.
• Thông thường, các chữ số la mã thường được dùng cho các phần đầu (lời nói đầu, thay cho lời tựa, ...), cón số thông thường được dùng cho các phần còn lại của văn bản:
% Front matter
% Start of main matter
Previous Next First Last Back Index
61
\maketitle \pagenumbering{roman} \tableofcontents \begin{abstract} ... \end{abstract} \chapter{Introduction} \pagenumbering{arabic}
Các lớp, các lệnh phân vùng, trang tiêu đề
Exercise 4 : Sectioning Commands etc (Page 5)
• Download the file sectioning.tex.Load the file
sectioning.tex into TeXnicCenter, and find the line that says:
% CHAPTER : Introduction
On the following line, insert the line
\chapter{Introduction}
• Go through the rest of the file, and insert the appropriate
sectioning commands.
• Use \maketitle to make the title information appear.
• Make the table of contents appear, by placing the command
Previous Next First Last Back Index
62
\tableofcontents at the place where you want it to appear.
Định dạng
Định dạng đoạn văn
Mặc định, các đoạn văn được canh lề đều hai bên, tuy nhiên định dạng này có thể được thay đổi sử dụng khai báo, hoặc môi trường .
Khai báo \raggedright \raggedleft \centering
Previous Next First Last Back Index
63
Environment flushleft flushright center
Định dạng
Ví dụ (môi trường)
1.
Output
Some right justified text.
Input
\begin{flushright} Some right justified text. \end{flushright}
2.
Output
Some more text, this time it is centred.
Input
Previous Next First Last Back Index
64
\begin{center} Some more text, this time it is centred. \end{center}
Định dạng
Ví dụ (lệnh khai báo)
Các khai báo về canh lề được thực hiện cho cả đoạn văn.
1. Canh lề được áp dụng cho cả đoạn văn:
Output
Input
Canh lề phải đây này. {\raggedleft Canh lề phải đây này.\par}
2. Các dấu cách đoạn văn được bỏ qua, đoạn văn được định dạng
theo đầu đoạn văn:
Canh lề
Output
Input
Previous Next First Last Back Index
65
phải đây này. {\raggedleft Canh lề phải đây này.}
Định dạng
Canh giữa một dòng
Có cả những lệnh để canh giữa một dòng:
\centerline{text}
Ví dụ:
Input
\centerline{Some centred text}
Input
Previous Next First Last Back Index
66
Some centred text
Định dạng
Các dòng mới
• Để xuống dòng: \\[length] hoạc \newline
•
Line one Line two
Input
Line one\\ Line two\\[20pt] Line three
Output
Line three
•
Line one Line two
Line three
Output
Input
Previous Next First Last Back Index
67
\begin{flushright} Line one\\ Line two\\[20pt] Line three \end{flushright}
Định dạng
Ngắt dòng
• Để ngắt một dòng và giữ nguyên canh lề: \linebreak[n]
•
Output
Input
A short fully justi- fied paragraph. A short fully justified paragraph.
•
short justified A short \linebreak fully justified paragraph.
Input
Output
Previous Next First Last Back Index
68
A fully paragraph.
Định dạng
Chống ngắt dòng
• Để chống ngắt dòng theo từ dùng: \nolinebreak[n]
•
Output
Input
A short fully justified paragraph. A short fully justified paragraph.
• fully justi-
A short fied paragraph.
Output
Input
Previous Next First Last Back Index
69
A short fully justified\nolinebreak\ paragraph.
Định dạng
Khoảng trống đi kèm
Có thẻ dùng ký hiệu ~ để có một dấu cách không nằm riêng một dòng. Ví dụ:
Output
Numbers such as the 3 in Example 3, should never occur at the start of a new line.
Input
Numbers such as the 3 in Example 3, should never occur at the start of a new line.
Output
Numbers such as the 3 in Exam- ple 3, should never occur at the start of a new line.
Input
Previous Next First Last Back Index
70
Numbers such as the 3 in Example~3, should never occur at the start of a new line.
Định dạng
Cách trang
• Cách trang bắt buộc
\newpage
• Để tạo một cách trang căn lề đứng, dùng:
\pagebreak[n]
• Để chống ngắt trang dùng:
\nopagebreak[n]
• Cách trang và hiển thị tất cả các ảnh treo, dùng:
Previous Next First Last Back Index
71
\clearpage
Định dạng
Bài tập 5 : Định dạng đoạn văn (Trang 6)
• Tạo đầu ra giống hình 3 ở trang 6 của handouts.
• Dùng thử các lệnh khai báo hoặc môi trường hoặc lệnh
Previous Next First Last Back Index
72
\centerline.
Định nghĩa câu lệnh mới
Định nghĩa câu lệnh mới
• Để định nghĩa câu lệnh mới dùng:
\newcommand{cmd-name}[nargs][default]{text}
• cmd-name là tên của lệnh mới (chú ý dấu gạch)
• nargs là số các thông số cần cho câu lệnh(mặc định 0)
• default là giá trị mặc định của tham số đầu tiên
• text là kết quả của câu lệnh.
• Các câu lệnh đã có được định nghĩa lại bằng \renewcommand,
Previous Next First Last Back Index
73
nhưng không bao giờ định nghĩa lại một lệnh chưa rõ chức năng.
Định nghĩa câu lệnh mới
Định nghĩa câu lệnh mới
• Để định nghĩa câu lệnh mới dùng:
\newcommand{cmd-name}[nargs][default]{text}
• cmd-name là tên của lệnh mới (chú ý dấu gạch)
• nargs là số các thông số cần cho câu lệnh(mặc định 0)
• default là giá trị mặc định của tham số đầu tiên
• text là kết quả của câu lệnh.
• Các câu lệnh đã có được định nghĩa lại bằng \renewcommand,
Previous Next First Last Back Index
73
nhưng không bao giờ định nghĩa lại một lệnh chưa rõ chức năng.
Định nghĩa câu lệnh mới
Định nghĩa câu lệnh mới
• Để định nghĩa câu lệnh mới dùng:
\newcommand{cmd-name}[nargs][default]{text}
• cmd-name là tên của lệnh mới (chú ý dấu gạch)
• nargs là số các thông số cần cho câu lệnh(mặc định 0)
• default là giá trị mặc định của tham số đầu tiên
• text là kết quả của câu lệnh.
• Các câu lệnh đã có được định nghĩa lại bằng \renewcommand,
Previous Next First Last Back Index
73
nhưng không bao giờ định nghĩa lại một lệnh chưa rõ chức năng.
Định nghĩa câu lệnh mới
Định nghĩa câu lệnh mới
• Để định nghĩa câu lệnh mới dùng:
\newcommand{cmd-name}[nargs][default]{text}
• cmd-name là tên của lệnh mới (chú ý dấu gạch)
• nargs là số các thông số cần cho câu lệnh(mặc định 0)
• default là giá trị mặc định của tham số đầu tiên
• text là kết quả của câu lệnh.
• Các câu lệnh đã có được định nghĩa lại bằng \renewcommand,
Previous Next First Last Back Index
73
nhưng không bao giờ định nghĩa lại một lệnh chưa rõ chức năng.
Định nghĩa câu lệnh mới
Định nghĩa câu lệnh mới
• Để định nghĩa câu lệnh mới dùng:
\newcommand{cmd-name}[nargs][default]{text}
• cmd-name là tên của lệnh mới (chú ý dấu gạch)
• nargs là số các thông số cần cho câu lệnh(mặc định 0)
• default là giá trị mặc định của tham số đầu tiên
• text là kết quả của câu lệnh.
• Các câu lệnh đã có được định nghĩa lại bằng \renewcommand,
Previous Next First Last Back Index
73
nhưng không bao giờ định nghĩa lại một lệnh chưa rõ chức năng.
Định nghĩa câu lệnh mới
Định nghĩa câu lệnh mới
• Để định nghĩa câu lệnh mới dùng:
\newcommand{cmd-name}[nargs][default]{text}
• cmd-name là tên của lệnh mới (chú ý dấu gạch)
• nargs là số các thông số cần cho câu lệnh(mặc định 0)
• default là giá trị mặc định của tham số đầu tiên
• text là kết quả của câu lệnh.
• Các câu lệnh đã có được định nghĩa lại bằng \renewcommand,
Previous Next First Last Back Index
73
nhưng không bao giờ định nghĩa lại một lệnh chưa rõ chức năng.
Định nghĩa câu lệnh mới
Vì sao định nghĩa câu lệnh mới?
• Viết ngắn hơn:
Introductory LATEX
Output
The course is run by . . . \newcommand{\introLaTeX}{% \emph{Introductory \LaTeX}}
Input
Previous Next First Last Back Index
74
The \introLaTeX\ course is run by \ldots
Định nghĩa câu lệnh mới
Vì sao định nghĩa câu lệnh mới?
• Đảm bảo tính thống nhất:
Output
The abstract envi- ronment. . . \newcommand{\envname}[1]{% \textsf{#1}}
Input
Previous Next First Last Back Index
75
The \envname{abstract} environment\ldots
Định nghĩa câu lệnh mới
Ví dụ
The price is £2.50.
Output
% First define the new command \newcommand{\price}[2]{\pounds #1.#2} % Now you can use it The price is \price{2}{50}.
Input
The cost is £100 excl. VAT @ 17.5%. The cost is £50 excl. VAT @ 0.0%
Output
\newcommand{\cost}[2][17.5]{% The cost is \pounds #2 excl.\ VAT @ #1\%} % \cost{100}.\\ \cost[0.0]{50}
Input
Previous Next First Last Back Index
76
Định nghĩa câu lệnh mới
Bài tập 6 : Định nghĩa câu lệnh mới ( trang 7)
• Tạo một tài liệu mới tên là exercise6.tex.
• Định nghĩa lệnh \timeofday (in the preamble). Lệnh này có 2 tham số giờ và phút. Ví dụ câu lệnh \timeofday{10}{25} cần được hiển thị: 10:25.
• Tạo ra đầu ra như hình 4 trang 7 hiển thị thời gian bằng lệnh
\timeofday .
• Sau đó, thay đổi định nghĩa của lệnh để thời gian được hiện bằng
Previous Next First Last Back Index
77
chữ đậm và phân cách bằng gạch ngang.(v.d. 10-25).
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
PostScript
• Trong TeXnicCenter Các file DVI có thể được chuyển thành PostScript bằng cách chọn LaTeX => PS rồi dịch mã nguồn.
• File The PostScript có thể được gửi trực tiếp vào một máy in
PostScript hoặc có thể được hiển thị bằng GSview để xem và in trên các máy in không hỗ trợ PostScript.
• Nếu dùng dvips có thể:
(cid:43) Dùng gói pstricksđể tạo ra các ảnh đồ họa đẹp. (cid:43) Dùng các lệnh PostScript trong mã nguồn. (cid:43) Dùng bộ phần mềm psutils:
Previous Next First Last Back Index
78
– Tổ chức lại các trang (psbook) – In nhiều trang trên một tran giấy (psnup) – Chuyển đổi các kích thước trang giấy (psresize)
Các đầu ra khác nhau
Portable Document Format (PDF)
• WWW,PDF, xem bằng Adobe Acrobat Reader.
• Có thể chuyển đổi PostScript thành PDF dùng ps2pdf.
• Ngoài ra, đầu ra PDF có thể được tạo ra từ mã LATEX dùng
PDFLATEX thay cho LATEX.
• Có thể có các liên kết trong và ngoài văn bản.
Previous Next First Last Back Index
79
• Có thể truy cập thực đơn của Adobe Acrobat. Ví dụ: Summary
Các đầu ra khác nhau
PostScript và PDF
Khi kết hợp cả dvips và PDFLATEX:
• Dùng các file PostScript, PDF hoặc PNG trong tài liệu.
• Có màu sắc
• Dùng font PostScript
Previous Next First Last Back Index
80
• xoay đảongược or phóng to .
Các đầu ra khác nhau
Bài tập 7 (trang 8)
• Thay đổi tài liệu trong bài 4 (sectioning.tex) thành file
PostScript.
• Xem bằng GSview
• Dùng PDFLATEX để tạo ra file PDF . Có thể xem bằng Acrobat
Previous Next First Last Back Index
81
Reader
Danh sách
Các môi trường tạo danh sách
Môi trường itemize tạo ra danh sáchkhông sắp xếp .
• The first item
• The second item
Output
• The third item
Input
Previous Next First Last Back Index
82
\begin{itemize} \item The first item \item The second item \item The third item \end{itemize}
Danh sách
Các môi trường itemize lồng nhau
Tối đa 4 itemize có thể lồng nhau:
• The first item
– First item of nested list
\begin{itemize} \item The first item \begin{itemize} – Second item of nested
list
Output
• The second item
\item First item of nested list \item Second item of nested list
\end{itemize}
Input
Previous Next First Last Back Index
83
\item The second item \end{itemize}
Danh sách
Danh sách đánh số
Môi trường enumerate tạo ra một danh sách đánh số .
1. The first item
2. The second item
Output
3. The third item
Input
Previous Next First Last Back Index
84
\begin{enumerate} \item The first item \item The second item \item The third item \end{enumerate}
Danh sách
Các môi trường enumerate lồng nhau
Tối đa 4 môi trường enumerate có thể lồng nhau:
1. The first item
(a) First item of nested list
(b) Second item of nested
list
Output
2. The second item
\begin{enumerate} \item The first item \begin{enumerate} \item First item of nested list \item Second item of nested list \end{enumerate}
Input
Previous Next First Last Back Index
85
\item The second item \end{enumerate}
Danh sách
Môi trường itemize và enumerate lồng nhau
itemize và enumerate có thể lồng nhau:
1. The first item
• First item of nested list \begin{enumerate} \item The first item \begin{itemize}
• Second item of nested
list
Output
2. The second item
\item First item of nested list \item Second item of nested list
\end{itemize}
Input
Previous Next First Last Back Index
86
\item The second item \end{enumerate}
Danh sách
Description
round
Cabbage A large green vegetable
Brussel sprout A
Output
small round green vegetable
Input
Previous Next First Last Back Index
87
\begin{description} \item[Cabbage] A large round green vegetable \item[Brussel sprout] A small round green vegetable \end{description}
Danh sách
Bài tập 8 : danh sách (Page 8)
• Tạo ra tài liệu giống trong hình 5 trang 8 của handouts.
• Cần dùng các môi trường enumerate environments lồng nhau
e Đầu tiên là một danh sách đơn giản:
1. Animal
2. Vegetable
3. Mineral
sau đó bổ sung vào danh sách.
! Chuyển đổi môi trường enumerate thành itemize environments,
Previous Next First Last Back Index
88
định nghĩa lại các nhãn.
Tạo bảng
Tạo bảng
• Các đoạn văn bản có thể được sắp xếp thành hàng và cột sử dụng
môi trường tabular : \begin{tabular}{column specifiers} Mỗi cột được biểu diễn bằng một trong các chữ cái: l (canh trái) c (canh giữa) or r (canh phải). Ví dụ:
1. \begin{tabular}{ccc}
3 cột canh giữa.
2. \begin{tabular}{lr}
Hai cột, cột đầu canh trái, cột 2 canh phải.
• Trong môi trường tabular:
– Ký hiệu đặc biệt & tạo cột mới.
Previous Next First Last Back Index
89
– Dòng mới được tạo bởi \\
Tạo bảng
Tạo bảng
• Các đoạn văn bản có thể được sắp xếp thành hàng và cột sử dụng
môi trường tabular : \begin{tabular}{column specifiers} Mỗi cột được biểu diễn bằng một trong các chữ cái: l (canh trái) c (canh giữa) or r (canh phải). Ví dụ:
1. \begin{tabular}{ccc}
3 cột canh giữa.
2. \begin{tabular}{lr}
Hai cột, cột đầu canh trái, cột 2 canh phải.
• Trong môi trường tabular:
– Ký hiệu đặc biệt & tạo cột mới.
Previous Next First Last Back Index
89
– Dòng mới được tạo bởi \\
Tạo bảng
Tạo bảng
• Các đoạn văn bản có thể được sắp xếp thành hàng và cột sử dụng
môi trường tabular : \begin{tabular}{column specifiers} Mỗi cột được biểu diễn bằng một trong các chữ cái: l (canh trái) c (canh giữa) or r (canh phải). Ví dụ:
1. \begin{tabular}{ccc}
3 cột canh giữa.
2. \begin{tabular}{lr}
Hai cột, cột đầu canh trái, cột 2 canh phải.
• Trong môi trường tabular:
– Ký hiệu đặc biệt & tạo cột mới.
Previous Next First Last Back Index
89
– Dòng mới được tạo bởi \\
Tạo bảng
Tạo bảng
• Các đoạn văn bản có thể được sắp xếp thành hàng và cột sử dụng
môi trường tabular : \begin{tabular}{column specifiers} Mỗi cột được biểu diễn bằng một trong các chữ cái: l (canh trái) c (canh giữa) or r (canh phải). Ví dụ:
1. \begin{tabular}{ccc}
3 cột canh giữa.
2. \begin{tabular}{lr}
Hai cột, cột đầu canh trái, cột 2 canh phải.
• Trong môi trường tabular:
– Ký hiệu đặc biệt & tạo cột mới.
Previous Next First Last Back Index
89
– Dòng mới được tạo bởi \\
Tạo bảng
Tạo bảng
• Các đoạn văn bản có thể được sắp xếp thành hàng và cột sử dụng
môi trường tabular : \begin{tabular}{column specifiers} Mỗi cột được biểu diễn bằng một trong các chữ cái: l (canh trái) c (canh giữa) or r (canh phải). Ví dụ:
1. \begin{tabular}{ccc}
3 cột canh giữa.
2. \begin{tabular}{lr}
Hai cột, cột đầu canh trái, cột 2 canh phải.
• Trong môi trường tabular:
– Ký hiệu đặc biệt & tạo cột mới.
Previous Next First Last Back Index
89
– Dòng mới được tạo bởi \\
Tạo bảng
Ví dụ tạo bảng
• Bảng có 2 cột
• Mỗi dòng chỉ có 1 &
• Cột 1 canh trái, cột 2 canh giữa.
Item Cost
CD £11.75
Video £14.10
Total £25.85
Output
Input
\begin{tabular}{lc} Item & Cost\\ CD & \pounds 11.75\\ Video & \pounds 14.10\\ Total & \pounds 25.85 \end{tabular}
Previous Next First Last Back Index
90
Đừng nhầm l (ell) với 1 (one)!
Tạo bảng
Thêm các đường kẻ
• Các đường kẻ đứng được hiển thị trong môi trường tabular bằng
ký hiệu sổ đứng |
\begin{tabular}{|l|c|}
• Kẻ ngang:
– Trên tất cả các cột:
\hline
– Từ cột n đến m:
\cline{n-m}
Previous Next First Last Back Index
91
• \hline \cline chỉ được dùng ở đầu dòng.
Tạo bảng
Thêm các đường kẻ
• Các đường kẻ đứng được hiển thị trong môi trường tabular bằng
ký hiệu sổ đứng |
\begin{tabular}{|l|c|}
• Kẻ ngang:
– Trên tất cả các cột:
\hline
– Từ cột n đến m:
\cline{n-m}
Previous Next First Last Back Index
91
• \hline \cline chỉ được dùng ở đầu dòng.
Tạo bảng
Thêm các đường kẻ
• Các đường kẻ đứng được hiển thị trong môi trường tabular bằng
ký hiệu sổ đứng |
\begin{tabular}{|l|c|}
• Kẻ ngang:
– Trên tất cả các cột:
\hline
– Từ cột n đến m:
\cline{n-m}
Previous Next First Last Back Index
91
• \hline \cline chỉ được dùng ở đầu dòng.
Tạo bảng
Thêm các đường kẻ
• Các đường kẻ đứng được hiển thị trong môi trường tabular bằng
ký hiệu sổ đứng |
\begin{tabular}{|l|c|}
• Kẻ ngang:
– Trên tất cả các cột:
\hline
– Từ cột n đến m:
\cline{n-m}
Previous Next First Last Back Index
91
• \hline \cline chỉ được dùng ở đầu dòng.
Tạo bảng
Ví dụ
Item
Cost
CD
£11.75
Video £14.10
Total
£25.85
Output
\begin{tabular}{|l|c|} \hline Item & Cost\\ \hline\hline CD & \pounds 11.75\\ Video & \pounds 14.10\\ \hline Total & \pounds 25.85\\ \hline \end{tabular}
Input
Previous Next First Last Back Index
92
Ví dụ trên có thể được biến đổi thành:
Tạo bảng
Các ô nhiều cột
• Một ô có thể chiếm nhiềm cột:
\multicolumn{cols}{align}{text}
• cols số lượng cột cần cho ô.
• align canh lề của ô. Chỉ có thể có một chữ cái(v.d. c), nhưng có
thể có ký hiệu số đứng.
• text Nội dung của ô.
• Lệnh này có thể được sử dụng để thay thế các tính chất của một
Previous Next First Last Back Index
93
ô.
Tạo bảng
\begin{tabular}{|l|cc|}\hline
& \multicolumn{2}{c|}{Cost}\\
Item & ex VAT & inc VAT (@17.5\%)\\\hline\hline CD & \pounds 10.00 & \pounds 11.75\\ Video & \pounds 12.00 & \pounds 14.10\\\hline \multicolumn{1}{l|}{Total} & \pounds 22.00 & \pounds 25.85\\\cline{2-3} \end{tabular}
Input
Cost
Item
ex VAT inc VAT (@17.5%)
CD
£10.00
£11.75
Video
£12.00
£14.10
Total
£22.00
£25.85
Output
Previous Next First Last Back Index
94
Tạo bảng
Bài tập 9 : Tạo bảng (trang 9)
• Khi tạo bảng, nên tạo từ một bảng đơn giản rồi thêm các ô vào
bảng đó. e Tạo văn bản giống hình 6 trang 9
! Tạo văn bản giống hình 7 trang 10.
• Tạo bảng sử dụng một môi trường tabular. Các dòng Equipment
Expenditure và Travel Expenditure dùng cả 5 columns.
Previous Next First Last Back Index
95
• Sau đó, canh lề giữa tất cả dùng lệnh\centerline.
Công thức toán căn bản
Công thức toán căn bản
• TEX có hai chế độ:
1. Chế độ soantj thảo văn bản
2. Chế độ gõ công thức toán
• Cho đến đây chúng ta chỉ dùng chế độ văn bản.
• Tất cả các công thức toán đều phải đặt trong chế độ gõ toán học. Các công thức toán học được định dạng khác với các đoạn văn bản.
– Chế độ văn bản: y-c=mx
– Chế độ công thức: y − c = mx
• Có hai loại công thức: in-line (công thức trong dòng) công thức
Previous Next First Last Back Index
96
đứng riêng
Công thức toán căn bản
Công thức trong dòng
• Công thức trong dòng hiển thị trong dòng của một đoạn văn.
• Các ký hiệu được hiển thị nhỏ hơn cho phù hợp với vị trí trong
dòng. .
• Công thức có thể được hiển thị trên nhiều dòng khác nhau.
• Khai báo công thức trong dòng bằng môi trường math:
\begin{math} ... \end{math}
• Để cho thuận tiện, môi trường chế độ toán được thay bằng: \(
... \)
• Và gọn hơn nữa: $ ...$
Previous Next First Last Back Index
97
Một ký hiệu đặc biệt khác ký hiệu đặc biệt!
Công thức toán căn bản
Công thức trong dòng
• Công thức trong dòng hiển thị trong dòng của một đoạn văn.
• Các ký hiệu được hiển thị nhỏ hơn cho phù hợp với vị trí trong
dòng. .
• Công thức có thể được hiển thị trên nhiều dòng khác nhau.
• Khai báo công thức trong dòng bằng môi trường math:
\begin{math} ... \end{math}
• Để cho thuận tiện, môi trường chế độ toán được thay bằng: \(
... \)
• Và gọn hơn nữa: $ ...$
Previous Next First Last Back Index
97
Một ký hiệu đặc biệt khác ký hiệu đặc biệt!
Công thức toán căn bản
Công thức trong dòng
• Công thức trong dòng hiển thị trong dòng của một đoạn văn.
• Các ký hiệu được hiển thị nhỏ hơn cho phù hợp với vị trí trong
dòng. .
• Công thức có thể được hiển thị trên nhiều dòng khác nhau.
• Khai báo công thức trong dòng bằng môi trường math:
\begin{math} ... \end{math}
• Để cho thuận tiện, môi trường chế độ toán được thay bằng: \(
... \)
• Và gọn hơn nữa: $ ...$
Previous Next First Last Back Index
97
Một ký hiệu đặc biệt khác ký hiệu đặc biệt!
Công thức toán căn bản
Công thức trong dòng
• Công thức trong dòng hiển thị trong dòng của một đoạn văn.
• Các ký hiệu được hiển thị nhỏ hơn cho phù hợp với vị trí trong
dòng. .
• Công thức có thể được hiển thị trên nhiều dòng khác nhau.
• Khai báo công thức trong dòng bằng môi trường math:
\begin{math} ... \end{math}
• Để cho thuận tiện, môi trường chế độ toán được thay bằng: \(
... \)
• Và gọn hơn nữa: $ ...$
Previous Next First Last Back Index
97
Một ký hiệu đặc biệt khác ký hiệu đặc biệt!
Công thức toán căn bản
Công thức trong dòng
• Công thức trong dòng hiển thị trong dòng của một đoạn văn.
• Các ký hiệu được hiển thị nhỏ hơn cho phù hợp với vị trí trong
dòng. .
• Công thức có thể được hiển thị trên nhiều dòng khác nhau.
• Khai báo công thức trong dòng bằng môi trường math:
\begin{math} ... \end{math}
• Để cho thuận tiện, môi trường chế độ toán được thay bằng: \(
... \)
• Và gọn hơn nữa: $ ...$
Previous Next First Last Back Index
97
Một ký hiệu đặc biệt khác ký hiệu đặc biệt!
Công thức toán căn bản
Công thức trong dòng
• Công thức trong dòng hiển thị trong dòng của một đoạn văn.
• Các ký hiệu được hiển thị nhỏ hơn cho phù hợp với vị trí trong
dòng. .
• Công thức có thể được hiển thị trên nhiều dòng khác nhau.
• Khai báo công thức trong dòng bằng môi trường math:
\begin{math} ... \end{math}
• Để cho thuận tiện, môi trường chế độ toán được thay bằng: \(
... \)
• Và gọn hơn nữa: $ ...$
Previous Next First Last Back Index
97
Một ký hiệu đặc biệt khác ký hiệu đặc biệt!
Công thức toán căn bản
Ví dụ
Input
I can refer to the variable $x$, or the formula \(y = m x + c\).
Output
I can refer to the variable x, or the formula y = mx + c.
Input
The $i$th element of the vector $\vec{a}$ has the value $2i$ for $i = 1 \ldots m$.
Output
Previous Next First Last Back Index
98
The ith element of the vector (cid:126)a has the value 2i for i = 1 . . . m.
Công thức toán căn bản
Các công thức riêng rẽ
• Công thức riêng rẽ được gửi trong một dòng riêng biệt.
(cid:88) • Các ký hiệu được hiển thị lớn hơn.
• Rất nhiều môi trường khai báo chế độ toánLots of different
environments go into displayed math mode.
• Một vài môi trường cơ bản:
1. Môi trường displaymath hiển thị một công thức riêng không
đánh số.
\begin{displaymath} ... \end{displaymath}
Cú pháp viết gọn: \[ ... \]
2. Môi trường equation hiển thị single công thức riêng đánh số.
Previous Next First Last Back Index
99
\begin{equation} ... \end{equation}
Công thức toán căn bản
Các công thức riêng rẽ
• Công thức riêng rẽ được gửi trong một dòng riêng biệt.
(cid:88) • Các ký hiệu được hiển thị lớn hơn.
• Rất nhiều môi trường khai báo chế độ toánLots of different
environments go into displayed math mode.
• Một vài môi trường cơ bản:
1. Môi trường displaymath hiển thị một công thức riêng không
đánh số.
\begin{displaymath} ... \end{displaymath}
Cú pháp viết gọn: \[ ... \]
2. Môi trường equation hiển thị single công thức riêng đánh số.
Previous Next First Last Back Index
99
\begin{equation} ... \end{equation}
Công thức toán căn bản
Các công thức riêng rẽ
• Công thức riêng rẽ được gửi trong một dòng riêng biệt.
(cid:88) • Các ký hiệu được hiển thị lớn hơn.
• Rất nhiều môi trường khai báo chế độ toánLots of different
environments go into displayed math mode.
• Một vài môi trường cơ bản:
1. Môi trường displaymath hiển thị một công thức riêng không
đánh số.
\begin{displaymath} ... \end{displaymath}
Cú pháp viết gọn: \[ ... \]
2. Môi trường equation hiển thị single công thức riêng đánh số.
Previous Next First Last Back Index
99
\begin{equation} ... \end{equation}
Công thức toán căn bản
Các công thức riêng rẽ
• Công thức riêng rẽ được gửi trong một dòng riêng biệt.
(cid:88) • Các ký hiệu được hiển thị lớn hơn.
• Rất nhiều môi trường khai báo chế độ toánLots of different
environments go into displayed math mode.
• Một vài môi trường cơ bản:
1. Môi trường displaymath hiển thị một công thức riêng không
đánh số.
\begin{displaymath} ... \end{displaymath}
Cú pháp viết gọn: \[ ... \]
2. Môi trường equation hiển thị single công thức riêng đánh số.
Previous Next First Last Back Index
99
\begin{equation} ... \end{equation}
Công thức toán căn bản
Các công thức riêng rẽ
• Công thức riêng rẽ được gửi trong một dòng riêng biệt.
(cid:88) • Các ký hiệu được hiển thị lớn hơn.
• Rất nhiều môi trường khai báo chế độ toánLots of different
environments go into displayed math mode.
• Một vài môi trường cơ bản:
1. Môi trường displaymath hiển thị một công thức riêng không
đánh số.
\begin{displaymath} ... \end{displaymath}
Cú pháp viết gọn: \[ ... \]
2. Môi trường equation hiển thị single công thức riêng đánh số.
Previous Next First Last Back Index
99
\begin{equation} ... \end{equation}
Công thức toán căn bản
Các công thức riêng rẽ
• Công thức riêng rẽ được gửi trong một dòng riêng biệt.
(cid:88) • Các ký hiệu được hiển thị lớn hơn.
• Rất nhiều môi trường khai báo chế độ toánLots of different
environments go into displayed math mode.
• Một vài môi trường cơ bản:
1. Môi trường displaymath hiển thị một công thức riêng không
đánh số.
\begin{displaymath} ... \end{displaymath}
Cú pháp viết gọn: \[ ... \]
2. Môi trường equation hiển thị single công thức riêng đánh số.
Previous Next First Last Back Index
99
\begin{equation} ... \end{equation}
Công thức toán căn bản
Ví dụ
The function
f (x) = 4x + 1
is linear
Output
Input
The function \begin{displaymath} f(x) = 4x + 1 \end{displaymath} is linear
The function
f (x) = 4x + 1 (1)
is linear
Output
Input
Previous Next First Last Back Index
100
The function \begin{equation} f(x) = 4x + 1 \end{equation} is linear
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Chỉ số và số mũ
• Chỉ số được hiển thị bằng lệnh: \sb{subscript}
– Viết gọn: _{subscript}
– Ví dụ: $a\sb{0}$ hoặc $a_{0}$ hoặc $a_0$ đều cho kết quả:
a0
• Số mũ được tạo ra bằng: \sp{superscript}
– Viết gọn: ^{superscript} – Ví dụ: $x\sp{2}$ or $x^{2}$ or $x^2$ all produce: x2
• Chỉ số và số mũ có thể được gộp lại.
Previous Next First Last Back Index
101
Ví dụ: $a_0^2$ produces a2 0
Công thức toán căn bản
Ví dụ
Input
A quadratic function: \[f(x) = a_0 + a_1 x + a_2 x^2\]
A quadratic function:
Output
f (x) = a0 + a1x + a2x2
Input
Compare $a_b^c$ with $a_{b^c}$.
b with abc.
Output
Previous Next First Last Back Index
102
Compare ac
Công thức toán căn bản
Căn và phân số
• Phân số có thể được hiển thị sử dụng: \frac{numerator}{denominator}
• Căn có thể được hiển thị sử dụng:
\sqrt[n]{maths}
• Ví dụ:
√ 3
1+ex2+
Output
a √ f (x1, x2) = x2 1 + x2
Input
Previous Next First Last Back Index
103
\begin{displaymath} f(x_1, x_2) = x_1^2 + e^{x_2} + \frac{\sqrt[3]{a}}% {1+\sqrt{x_2}} \end{displaymath}
Công thức toán căn bản
Tên hàm
\arccos \arcsin \arctan \arg \cos \cosh
\cot \coth \csc \deg \det \dim
\exp \gcd \hom \inf \ker \lg
\lim \liminf \limsup \ln \log \max
\min \sec \sin \sinh \sup \Pr
\tan \tanh
logx Không đúng: $log x$
log x Đúng: $\log x$
Previous Next First Last Back Index
104
Các lệnh màu xanh là các lệnh có cận trên và cận dưới, được hiển thị bằng _.
Công thức toán căn bản
Ví dụ
Output
Input
exp(ix) = sin(x)+i cos(x) \begin{displaymath} \exp(ix) = \sin(x) + i\cos(x) \end{displaymath}
Output
Input
Previous Next First Last Back Index
105
f (x) lim x→0 \begin{displaymath} \lim_{x \rightarrow 0} f(x) \end{displaymath}
Công thức toán căn bản
Các chữ cái Hy lạp thường
β γ α \beta \gamma \alpha
δ (cid:15) ε \epsilon \varepsilon \delta
ζ η θ \eta \theta \zeta
ϑ ι κ \iota \kappa \vartheta
λ µ ν \mu \nu \lambda
ξ π (cid:36) \pi \varpi \xi
ρ (cid:37) σ \varrho \sigma \rho
ς τ υ \varsigma \tau \upsilon
φ χ \phi \varphi ϕ \chi
Previous Next First Last Back Index
106
ω \psi ψ \omega
Công thức toán căn bản
Các chữ cái Hy lạp hoa
Γ \Gamma \Delta ∆ \Theta Θ
Ξ Π \Lambda Λ \Xi \Pi
Φ \Sigma Σ \Upsilon Υ \Phi
Ω \Psi Ψ \Omega
Ví dụ:
Output
eiθ = cos θ + i sin θ
Input
Previous Next First Last Back Index
107
\begin{displaymath} e^{i\theta} = \cos\theta + i\sin\theta \end{displaymath}
Công thức toán căn bản
Các ký hiệu có hai cỡ
(cid:84) (cid:92) \bigcap \bigotimes (cid:78) (cid:79) (cid:85) (cid:93) \biguplus
(cid:83) (cid:91) \bigcup \bigoplus (cid:76) (cid:77) (cid:87) (cid:95) \bigvee (cid:90)
\bigodot (cid:74) (cid:75) \bigsqcup (cid:70) (cid:71) \bigwedge (cid:86) (cid:94) (cid:73)
(cid:82)
(cid:72)
(cid:96) (cid:97)
\coprod
\int
\oint
(cid:81) (cid:89)
(cid:80) (cid:88)
\prod
\sum
Previous Next First Last Back Index
108
Các ký hiệu sau có hai cỡ phụ thuộc vào chế độ công thức:
Công thức toán căn bản
Ví dụ
n (cid:88)
i=0
f (x) = αixi
Output
Input
\begin{displaymath} f(x) = \sum_{i=0}^{n} \alpha_i x^i \end{displaymath}
i=0 αixi
Output
In text : f (x) = (cid:80)n
Input
Previous Next First Last Back Index
109
In text : \begin{math} f(x) = \sum_{i=0}^n \alpha_i x^i \end{math}
Công thức toán căn bản
Bài tập 10 : Căn bản công thức toán (trang 10)
e Tạo ra văn bản giống hình vẽ 8 trang 10 của handouts.
! – Tạo ra văn bản giống hình vẽ 9 trang 11 của handouts.
– Chú ý gõ f (x), f and x ở chế độ công thức.
Previous Next First Last Back Index
110
Thử đánh số các công thức.
Mảng và các dấu phân cách
Dấu phân cách
• Các dấu ngoặc khi đặt cạnh căn, phân số không thay đổi kích
thước theo nội dung. Ví dụ:
Output
Input
( ) 1 1 + x \begin{displaymath} (\frac{1}{1+x}) \end{displaymath}
• Khi đó, dùng các câu lệnh sau sẽ đẹp hơn: \leftdelimiter and \rightdelimiter
• Chú ý luôn luôn phải đảm bảo đủ cặp \left và \right, mặc dù
Previous Next First Last Back Index
111
các ngoặc đóng và ngoặc mở có thể khác nhau.
Mảng và các dấu phân cách
Dấu phân cách
• Các dấu ngoặc khi đặt cạnh căn, phân số không thay đổi kích
thước theo nội dung. Ví dụ:
Output
Input
( ) 1 1 + x \begin{displaymath} (\frac{1}{1+x}) \end{displaymath}
• Khi đó, dùng các câu lệnh sau sẽ đẹp hơn: \leftdelimiter and \rightdelimiter
• Chú ý luôn luôn phải đảm bảo đủ cặp \left và \right, mặc dù
Previous Next First Last Back Index
111
các ngoặc đóng và ngoặc mở có thể khác nhau.
Mảng và các dấu phân cách
Dấu phân cách
• Các dấu ngoặc khi đặt cạnh căn, phân số không thay đổi kích
thước theo nội dung. Ví dụ:
Output
Input
( ) 1 1 + x \begin{displaymath} (\frac{1}{1+x}) \end{displaymath}
• Khi đó, dùng các câu lệnh sau sẽ đẹp hơn: \leftdelimiter and \rightdelimiter
• Chú ý luôn luôn phải đảm bảo đủ cặp \left và \right, mặc dù
Previous Next First Last Back Index
111
các ngoặc đóng và ngoặc mở có thể khác nhau.
Mảng và các dấu phân cách
Dấu phân cách
(
)
[
]
(
)
[
]
{
}
|
(cid:107)
\{
\}
|
\|
/
\
(cid:104)
(cid:105)
/
\backslash
\langle
\rangle
(cid:98)
(cid:99)
(cid:100)
(cid:101)
\lfloor
\rfloor
\lceil
\rceil
↑
↓
⇑
⇓
\uparrow
\downarrow
\Uparrow
\Downarrow
(cid:108)
(cid:109)
\updownarrow
\Updownarrow
Previous Next First Last Back Index
112
Nếu muốn ngoặc đóng hoặc ngoặc mở không hiển thị, sử dụng dấu phân cách là . (dấu chấm) .
Mảng và các dấu phân cách
Ví dụ
(cid:19) (cid:18) 1
Output
1 + x
Input
\begin{displaymath} \left( \frac{1}{1+x} \right) \end{displaymath}
Output
1 1 + x (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12) (cid:12)
Input
Previous Next First Last Back Index
113
\begin{displaymath} \left| \frac{1}{1+x} \right| \end{displaymath}
Mảng và các dấu phân cách
Mảng
• Mảng có thể được tạo ra sử dụng môi trường array.
• Môi trường này giồng môi trường tabular, nhưng ở trong chế độ
công thức toán.
• Các phần tử được sắp xếp theo dòng và theo cột để tạo thành các
Previous Next First Last Back Index
114
cấu trúc như mảng và vector.
Mảng và các dấu phân cách
0
1
2
3
Output
\begin{displaymath} \begin{array}{cc} 0 & 1 \\ 2 & 3 \end{array} \end{displaymath}
Input
0
1
2
3
Output
\begin{displaymath} \left ( \begin{array}{cc} 0 & 1 \\ 2 & 3 \end{array} \right ) \end{displaymath}
Input
Previous Next First Last Back Index
115
Mảng và các dấu phân cách
Các dấu ngoặc không cần theo cặp
0 1
Output
2 3
Input
Previous Next First Last Back Index
116
\begin{displaymath} \left[ \begin{array}{cc} 0 & 1 \\ 2 & 3 \end{array} \right\} \end{displaymath}
Mảng và các dấu phân cách
Ví dụ sử dụng các dấu ngoặc không hiển thị
0 x ≤ 0
f (x) =
Output
1 x > 0
Input
Previous Next First Last Back Index
117
\begin{displaymath} f(x) = \left \{ \begin{array}{cl} 0 & x \leq 0 \\ 1 & x > 0 \end{array} \right . \end{displaymath}
Mảng và các dấu phân cách
Bài tập 11 : Mảng (trang 12)
e Tạo ra đầu ra như trong hình 10 on page 12 của handouts.
! – Tạo ra văn bản giống như hình 11 on page 12 của handouts.
– Cần dùng các câu lệnh sau:
\cdots
\vdots
\ddots
Previous Next First Last Back Index
118
· · · ... . . . (cid:54)= \neq
Các công thức nhiều dòng
Multiline Formulæ-Các công thức nhiều dòng
• Môi trường displaymath và môi trường equation chỉ cho phép một
dòng.
• Môi trường eqnarray cho phép nhiều công thức có thể kết hợp với
nhau.
• Môi trường eqnarray có 3 cột: cột đầu canh lề phải, cột 2 canh lề
giữa, cột 3 canh đề trái.
• Mỗi dòng trong eqnarray được đánh số.
• Môi trường eqnarray* không được đánh số.
• Để xóa số công thức trong môi trường eqnarray, dùng \nonumber
Previous Next First Last Back Index
119
trên dòng tương ứng.
Các công thức nhiều dòng
Multiline Formulæ-Các công thức nhiều dòng
• Môi trường displaymath và môi trường equation chỉ cho phép một
dòng.
• Môi trường eqnarray cho phép nhiều công thức có thể kết hợp với
nhau.
• Môi trường eqnarray có 3 cột: cột đầu canh lề phải, cột 2 canh lề
giữa, cột 3 canh đề trái.
• Mỗi dòng trong eqnarray được đánh số.
• Môi trường eqnarray* không được đánh số.
• Để xóa số công thức trong môi trường eqnarray, dùng \nonumber
Previous Next First Last Back Index
119
trên dòng tương ứng.
Các công thức nhiều dòng
Multiline Formulæ-Các công thức nhiều dòng
• Môi trường displaymath và môi trường equation chỉ cho phép một
dòng.
• Môi trường eqnarray cho phép nhiều công thức có thể kết hợp với
nhau.
• Môi trường eqnarray có 3 cột: cột đầu canh lề phải, cột 2 canh lề
giữa, cột 3 canh đề trái.
• Mỗi dòng trong eqnarray được đánh số.
• Môi trường eqnarray* không được đánh số.
• Để xóa số công thức trong môi trường eqnarray, dùng \nonumber
Previous Next First Last Back Index
119
trên dòng tương ứng.
Các công thức nhiều dòng
Multiline Formulæ-Các công thức nhiều dòng
• Môi trường displaymath và môi trường equation chỉ cho phép một
dòng.
• Môi trường eqnarray cho phép nhiều công thức có thể kết hợp với
nhau.
• Môi trường eqnarray có 3 cột: cột đầu canh lề phải, cột 2 canh lề
giữa, cột 3 canh đề trái.
• Mỗi dòng trong eqnarray được đánh số.
• Môi trường eqnarray* không được đánh số.
• Để xóa số công thức trong môi trường eqnarray, dùng \nonumber
Previous Next First Last Back Index
119
trên dòng tương ứng.
Các công thức nhiều dòng
Multiline Formulæ-Các công thức nhiều dòng
• Môi trường displaymath và môi trường equation chỉ cho phép một
dòng.
• Môi trường eqnarray cho phép nhiều công thức có thể kết hợp với
nhau.
• Môi trường eqnarray có 3 cột: cột đầu canh lề phải, cột 2 canh lề
giữa, cột 3 canh đề trái.
• Mỗi dòng trong eqnarray được đánh số.
• Môi trường eqnarray* không được đánh số.
• Để xóa số công thức trong môi trường eqnarray, dùng \nonumber
Previous Next First Last Back Index
119
trên dòng tương ứng.
Các công thức nhiều dòng
Multiline Formulæ-Các công thức nhiều dòng
• Môi trường displaymath và môi trường equation chỉ cho phép một
dòng.
• Môi trường eqnarray cho phép nhiều công thức có thể kết hợp với
nhau.
• Môi trường eqnarray có 3 cột: cột đầu canh lề phải, cột 2 canh lề
giữa, cột 3 canh đề trái.
• Mỗi dòng trong eqnarray được đánh số.
• Môi trường eqnarray* không được đánh số.
• Để xóa số công thức trong môi trường eqnarray, dùng \nonumber
Previous Next First Last Back Index
119
trên dòng tương ứng.
Các công thức nhiều dòng
Input
\begin{eqnarray} \ln(f(x)) & = & x^2 + \frac{1}{x+3}\\ f(x) & = & \exp \left ( x^2 + \frac{1}{x+3} \right ) \end{eqnarray}
(2) ln(f (x)) = x2 + 1 x + 3
(cid:18) (cid:19)
Output
Previous Next First Last Back Index
120
f (x) = exp x2 + (3) 1 x + 3
Các công thức nhiều dòng
Input
\begin{eqnarray} \ln(f(x)) & = & x^2 + \frac{1}{x+3} \nonumber\\ f(x) & = & \exp \left ( x^2 + \frac{1}{x+3} \right ) \end{eqnarray}
ln(f (x)) = x2 + 1 x + 3
(cid:18) (cid:19)
Output
Previous Next First Last Back Index
121
f (x) = exp x2 + (4) 1 x + 3
Các công thức nhiều dòng
Bài tập 12 : Công thức nhiều dòng (trang 12)
e Tạo ra văn bản theo hình 12 trang 13 trong handouts.
! Tạo ra văn bản theo hình 13 trang 13 trong handouts.
– Cần sử dụng các lệnh sau:
≈ ± \approx \pm
∂ \partial \leq ≤
Previous Next First Last Back Index
122
ε \varepsilon
Tham chiếu chéo
Tham chiếu chéo
• Gán nhãn cho một vị trí trong văn bản bằng \label{string}
Ví dụ:
\section{Introduction} \label{sec:intro}
Ví dụ:
\begin{equation} E = mc^2 \label{eqn:einstein} \end{equation}
• Tham chiếu tới vị trí đã gán nhãn sử dụng \ref{string}.
Previous Next First Last Back Index
123
• Tham chiếu tới trang chứa nhãn bằng \pageref{string}.
Tham chiếu chéo
Tham chiếu chéo
• Gán nhãn cho một vị trí trong văn bản bằng \label{string}
Ví dụ:
\section{Introduction} \label{sec:intro}
Ví dụ:
\begin{equation} E = mc^2 \label{eqn:einstein} \end{equation}
• Tham chiếu tới vị trí đã gán nhãn sử dụng \ref{string}.
Previous Next First Last Back Index
123
• Tham chiếu tới trang chứa nhãn bằng \pageref{string}.
Tham chiếu chéo
Tham chiếu chéo
• Gán nhãn cho một vị trí trong văn bản bằng \label{string}
Ví dụ:
\section{Introduction} \label{sec:intro}
Ví dụ:
\begin{equation} E = mc^2 \label{eqn:einstein} \end{equation}
• Tham chiếu tới vị trí đã gán nhãn sử dụng \ref{string}.
Previous Next First Last Back Index
123
• Tham chiếu tới trang chứa nhãn bằng \pageref{string}.
Tham chiếu chéo
Tham chiếu chéo
• Gán nhãn cho một vị trí trong văn bản bằng \label{string}
Ví dụ:
\section{Introduction} \label{sec:intro}
Ví dụ:
\begin{equation} E = mc^2 \label{eqn:einstein} \end{equation}
• Tham chiếu tới vị trí đã gán nhãn sử dụng \ref{string}.
Previous Next First Last Back Index
123
• Tham chiếu tới trang chứa nhãn bằng \pageref{string}.
Tham chiếu chéo
Tham chiếu chéo
• Gán nhãn cho một vị trí trong văn bản bằng \label{string}
Ví dụ:
\section{Introduction} \label{sec:intro}
Ví dụ:
\begin{equation} E = mc^2 \label{eqn:einstein} \end{equation}
• Tham chiếu tới vị trí đã gán nhãn sử dụng \ref{string}.
Previous Next First Last Back Index
123
• Tham chiếu tới trang chứa nhãn bằng \pageref{string}.
Tham chiếu chéo
Ví dụ
Output
1 Introduction . . . See Section 1 for a brief introduction.
Input
\section{Introduction} \label{sec:intro} \ldots See Section~\ref{sec:intro} for a brief introduction.
See subsection 2.3 for examples. See subsection~\ref{sec:ex} for examples.
Output
2.3 Examples
Input
Previous Next First Last Back Index
124
\subsection{Examples} \label{sec:ex}
Tham chiếu chéo
Ví dụ
See Appendix A for tables. . .
A Tables
See Appendix~\ref{apd:tables} for tables\ldots \appendix \section{Tables}\label{apd:tables}
Output
Input
E = mc2
(5)
. . . See Equation 5 on page 265.
Output
\begin{equation} \label{eqn:Emc} E = mc^2 \end{equation} \ldots See Equation~\ref{eqn:Emc} on page~\pageref{eqn:Emc}.
Input
Previous Next First Last Back Index
125
Tham chiếu chéo
Bài tập 13 (trang 13)
• Tạo ra văn bản như trong hình 14 trang 14 trong handouts sử
dụng \label và \ref. Cần nhớ lại các kiến thức làm thế nào để:
– Tạo ra sections
– emphasize một đoạn văn
– Tạo ra các công thức đánh số
– Tạo ra các công thức tại chỗ (trong dòng)
! Đồng thời thử chèn thêm mọt section mới giữa các phần giới thiệu và định luận Bayes, một công thức khác, để có thể thấy LATEX cập nhật các tham chiếu chéo như thế nào.
Previous Next First Last Back Index
126
• Thêm tiêu đề và mục lục
Gói
Gói
• Gói là các tệp với phần mở rộng .sty
• Gói có thể định nghĩa mới/lại các lệnh.
• Sử dụng một gói:
\usepackage[options]{package-name}
• Lệnh này chỉ có thể được dùng trong phần preamble-phần khai
Previous Next First Last Back Index
127
báo.
Gói
Gói
• Gói là các tệp với phần mở rộng .sty
• Gói có thể định nghĩa mới/lại các lệnh.
• Sử dụng một gói:
\usepackage[options]{package-name}
• Lệnh này chỉ có thể được dùng trong phần preamble-phần khai
Previous Next First Last Back Index
127
báo.
Gói
Gói
• Gói là các tệp với phần mở rộng .sty
• Gói có thể định nghĩa mới/lại các lệnh.
• Sử dụng một gói:
\usepackage[options]{package-name}
• Lệnh này chỉ có thể được dùng trong phần preamble-phần khai
Previous Next First Last Back Index
127
báo.
Gói
Gói
• Gói là các tệp với phần mở rộng .sty
• Gói có thể định nghĩa mới/lại các lệnh.
• Sử dụng một gói:
\usepackage[options]{package-name}
• Lệnh này chỉ có thể được dùng trong phần preamble-phần khai
Previous Next First Last Back Index
127
báo.
Gói
Ví dụ
• Gói babel định nghĩa các tên theo các tiếng khác nhau.
• ukdate định nghĩa lại lệnh \today, cũng như datetime.
• xr định nghĩa lệnh mới
\externaldocument{filename}
cho phép tham chiếu tới các nhãn nằm trong một file khác.
• varioref định nghĩa lệnh \vref giống \ref nhưng bổ sung thêm
Previous Next First Last Back Index
128
số trang. V.d. Fig~\vref{fig:ex} can sẽ cho: “Fig 2 on page 42”, hoặc “Fig 2 on the following page” hoặc “Fig 2”.
Gói
Ví dụ
• Gói babel định nghĩa các tên theo các tiếng khác nhau.
• ukdate định nghĩa lại lệnh \today, cũng như datetime.
• xr định nghĩa lệnh mới
\externaldocument{filename}
cho phép tham chiếu tới các nhãn nằm trong một file khác.
• varioref định nghĩa lệnh \vref giống \ref nhưng bổ sung thêm
Previous Next First Last Back Index
128
số trang. V.d. Fig~\vref{fig:ex} can sẽ cho: “Fig 2 on page 42”, hoặc “Fig 2 on the following page” hoặc “Fig 2”.
Gói
Ví dụ
• Gói babel định nghĩa các tên theo các tiếng khác nhau.
• ukdate định nghĩa lại lệnh \today, cũng như datetime.
• xr định nghĩa lệnh mới
\externaldocument{filename}
cho phép tham chiếu tới các nhãn nằm trong một file khác.
• varioref định nghĩa lệnh \vref giống \ref nhưng bổ sung thêm
Previous Next First Last Back Index
128
số trang. V.d. Fig~\vref{fig:ex} can sẽ cho: “Fig 2 on page 42”, hoặc “Fig 2 on the following page” hoặc “Fig 2”.
Gói
Ví dụ
• Gói babel định nghĩa các tên theo các tiếng khác nhau.
• ukdate định nghĩa lại lệnh \today, cũng như datetime.
• xr định nghĩa lệnh mới
\externaldocument{filename}
cho phép tham chiếu tới các nhãn nằm trong một file khác.
Previous Next First Last Back Index
128
• varioref định nghĩa lệnh \vref giống \ref nhưng bổ sung thêm số trang. V.d. Fig~\vref{fig:ex} can sẽ cho: “Fig 2 on page 42”, hoặc “Fig 2 on the following page” hoặc “Fig 2”.
Gói
Ví dụ.
• hyperref định nghĩa các lệnh cho phép có các link trong văn bản PDF.
V.d.
the TEX Archive
\href{http://www.tex.ac.uk/}{% the \TeX\ Archive}
Output
Input
• ifpdf định nghĩa cấu trúc điều kiện \ifpdf để xác định LATEX hay là
PDFLATEX đang được dùng. V.d.
A PDFLATEX document
Output
\ifpdf A PDF\LaTeX\ document \else A \LaTeX\ document \fi
Input
Previous Next First Last Back Index
129
Gói
Ví dụ.
• hyperref định nghĩa các lệnh cho phép có các link trong văn bản PDF.
V.d.
the TEX Archive
\href{http://www.tex.ac.uk/}{% the \TeX\ Archive}
Output
Input
• ifpdf định nghĩa cấu trúc điều kiện \ifpdf để xác định LATEX hay là
PDFLATEX đang được dùng. V.d.
A PDFLATEX document
Output
\ifpdf A PDF\LaTeX\ document \else A \LaTeX\ document \fi
Input
Previous Next First Last Back Index
129
Gói
Ví dụ
Output
Ngày 13 tháng 12 năm 2007
Input
\documentclass[a4paper]{article} \begin{document} \today \end{document}
Output
Ngày 13 tháng 12 năm 2007
Input
Previous Next First Last Back Index
130
\documentclass[a4paper]{article} \usepackage[short]{datetime} \begin{document} \today \end{document}
Gói
Ví dụ
Output
Ngày 13 tháng 12 năm 2007
Input
\documentclass[a4paper]{article} \begin{document} \today \end{document}
Output
Ngày 13 tháng 12 năm 2007
Input
Previous Next First Last Back Index
130
\documentclass[a4paper]{article} \usepackage[short]{datetime} \begin{document} \today \end{document}
Gói
Tài liệu tự cài đặt
• Các gói chưa có trong cài đặt TEX có thể được tải từ Kho tài
nguyênTEX .
• Gói+tài liệu có thể được đóng gói trong tệp với phần mở rộng
.dtx
• Gói cần được phổ biến với kịch bản cài đặt(.ins)
• Tài liệu sử dụng có thể được sinh ra bằng cách LATEX .dtx. Ví dụ:
(cid:73)latex datetime.dtx
• Các gói có thể được giải nén bằng cách LATEXkịch bản cài đặt. Ví
Previous Next First Last Back Index
131
dụ: (cid:73)latex datetime.ins
Gói
Tài liệu tự cài đặt
• Các gói chưa có trong cài đặt TEX có thể được tải từ Kho tài
nguyênTEX .
• Gói+tài liệu có thể được đóng gói trong tệp với phần mở rộng
.dtx
• Gói cần được phổ biến với kịch bản cài đặt(.ins)
• Tài liệu sử dụng có thể được sinh ra bằng cách LATEX .dtx. Ví dụ:
(cid:73)latex datetime.dtx
• Các gói có thể được giải nén bằng cách LATEXkịch bản cài đặt. Ví
Previous Next First Last Back Index
131
dụ: (cid:73)latex datetime.ins
Gói
Tài liệu tự cài đặt
• Các gói chưa có trong cài đặt TEX có thể được tải từ Kho tài
nguyênTEX .
• Gói+tài liệu có thể được đóng gói trong tệp với phần mở rộng
.dtx
• Gói cần được phổ biến với kịch bản cài đặt(.ins)
• Tài liệu sử dụng có thể được sinh ra bằng cách LATEX .dtx. Ví dụ:
(cid:73)latex datetime.dtx
• Các gói có thể được giải nén bằng cách LATEXkịch bản cài đặt. Ví
Previous Next First Last Back Index
131
dụ: (cid:73)latex datetime.ins
Gói
Tài liệu tự cài đặt
• Các gói chưa có trong cài đặt TEX có thể được tải từ Kho tài
nguyênTEX .
• Gói+tài liệu có thể được đóng gói trong tệp với phần mở rộng
.dtx
• Gói cần được phổ biến với kịch bản cài đặt(.ins)
• Tài liệu sử dụng có thể được sinh ra bằng cách LATEX .dtx. Ví dụ:
(cid:73)latex datetime.dtx
• Các gói có thể được giải nén bằng cách LATEXkịch bản cài đặt. Ví
Previous Next First Last Back Index
131
dụ: (cid:73)latex datetime.ins
Gói
Tài liệu tự cài đặt
• Các gói chưa có trong cài đặt TEX có thể được tải từ Kho tài
nguyênTEX .
• Gói+tài liệu có thể được đóng gói trong tệp với phần mở rộng
.dtx
• Gói cần được phổ biến với kịch bản cài đặt(.ins)
• Tài liệu sử dụng có thể được sinh ra bằng cách LATEX .dtx. Ví dụ:
(cid:73)latex datetime.dtx
• Các gói có thể được giải nén bằng cách LATEXkịch bản cài đặt. Ví
Previous Next First Last Back Index
131
dụ: (cid:73)latex datetime.ins
Gói
Bài tập 14 (trang 15)
• Trở lại tệp sectioning.tex trong bài tập 4
– Sử dụng gói babel. Có nhiều tùy biến cho ngôn ngữ kiểm tra
nội dung của thư mục: c:\texmf\tex\generic\babel\ Các option là các tên file .sty.
• Hoặc trở lại tài liệu tạo ra trong bài tập 13.
– Dùng hyperref để các tham chiếu thành các link, dùng
PDFLATEX để tạo file PDF.
! Để thử nghiệm việc extract tài liệu và mã từ .dtx file, tải gói
Previous Next First Last Back Index
132
datetime package từ http://theoval.cmp.uea.ac.uk/˜nlct/latex/packages/index.html
Trích dẫn tài liệu tham khảo
Trích dẫn tài liệu
• Môi trường thebibliography
\begin{thebibliography}{2}
\bibitem{clarke83} G. M. Clarke and D. Cooke. \emph{A basic course in statistics}. Chapman and Hall, 2nd edition, 1983.
\bibitem{goossens93} M. Goossens and F. Mittelbach. \emph{The \LaTeX\ companion}. Addison-Wesley, 1993.
\end{thebibliography}
• Sử dụng \cite[text]{key-list} để trích dẫn một tài liệu tham
Previous Next First Last Back Index
133
khảo.
Trích dẫn tài liệu tham khảo
Ví dụ
See Goossens et al. [1] . . .
See Goossens \emph{et al.}~\cite{goossens93} \ldots
References
Output
[1] M. Goossens and F. Mittelbach. The LATEX companion. Addison-Wesley, 1993.
Input
Previous Next First Last Back Index
134
\begin{thebibliography}{1} \bibitem{goossens93} M. Goossens and F. Mittelbach. \emph{The \LaTeX\ companion}. Addison-Wesley, 1993. \end{thebibliography}
Trích dẫn tài liệu tham khảo
BibTEX
Dùng BibTEX để sinh ra thebibliography.
• CSDL lớn (.bib) có nhiều tài liệu tham khảo.
• BibTEX chỉ lựa chọn các tài liệu được trích dẫn.
• Các bản ghi được sắp xếp.
Previous Next First Last Back Index
135
• Và được định dạng giống nhau.
Trích dẫn tài liệu tham khảo
CSDL Tài liệu tham khảo (.bib)
@entry type{keyword ,
field = "text", ... field = "text"
}
@book{kreyszig88,
= "Kreyszig, Erwin", = "Advanced Engineering Mathematics",
author title publisher = "Wiley", edition year = "6th", = 1988
Previous Next First Last Back Index
136
}
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Định dạng tên tác giả
Tên tác giả cần được hiển thị theo một trong các dạng sau đây:
• forenames von surname
• von surname, forenames
• von surname, jr, forenames
Ví dụ:
Dữ liệu
Hiển thị (“abbrv” style)
A.T. von Neumann
"Alex Thomas von Neumann"
J.C. Smith Jones
"John Chris {Smith Jones}"
M.-J. van de Klee
"van de Klee, Mary-Jane"
F.J. Smith, Jr
"Smith, Jr, Fred John"
"Maria {\uppercase{d}e La} Cruz" M. De La Cruz
Compare last example with:
M. D. L. Cruz
(Incorrect!)
"Maria De La Cruz"
Previous Next First Last Back Index
137
Trích dẫn tài liệu tham khảo
Nhiều tác giả
Trong tài liệu nhiều tác giả, tên các tác giả phân chia nhau bằng từ khóa and
@book{goossens97,
author = "Goossens, Michel and Rahtz, Sebastian and
Mittelbach, Frank",
title = "The \LaTeX\ graphics companion: illustrating
documents with \TeX\ and {PostScript}",
publisher = "Addison Wesley Longman, Inc", year = 1997
Previous Next First Last Back Index
138
}
Trích dẫn tài liệu tham khảo
Dữ liệu tháng
• Kiểu tên tài liệu tham khảo luôn luôn có 3 chữ số cho tháng :
jan, feb, mar, . . .
• Luôn dùng cách rút gọn để đảm bảo thống nhất.
@inproceedings{talbot97,
author title = "Talbot, Nicola and Cawley, Gavin", = "A fast index assignment algorithm for
robust vector quantisation of image data",
booktitle = "Proceedings of the I.E.E.E. International
Conference on Image Processing", = "Santa Barbara, California, USA", = oct, = 1997 address month year
Previous Next First Last Back Index
139
}
Trích dẫn tài liệu tham khảo
Ví dụ (incollection)
@incollection{wainwright,
= "Wainwright, Robert B.", = "Hazards from {Northern} Native Foods",
author title booktitle = "\emph{Clostridium botulinum}: Ecology and
Control in Foods",
chapter pages editor = 12, = "305--322", = "Hauschild, Andreas H. W. and Dodds,
Karen L.",
publisher = "Marcel Dekker, Inc", year = 1993
Previous Next First Last Back Index
140
}
Trích dẫn tài liệu tham khảo
Khai báo CSDL và kiểu tài liệu tham khảo
Trong mã nguồn LATEX (.tex):
• Khai báo kiểu tài liệu tham khảo:
\bibliographystyle{style-name} Các kiểu thường dùng:
plain Các tài liệu được sắp xếp theo thứ tự ABC.
unsrt Các tài liệu được sắp xếp theo thứ tự trích dẫn.
alpha Các tài liệu được sắp xếp theo thứ tự các nhãn gồm tên
tác giả và năm xuất bản.
abbrv Các tài liệu được sắp xếp theo thứ tự họ, tháng, năm và
tên tạp chí thu gọn.
• Khai báo CSDL:
Previous Next First Last Back Index
141
\bibliography{name}
Trích dẫn tài liệu tham khảo
Khai báo CSDL và kiểu tài liệu tham khảo
Trong mã nguồn LATEX (.tex):
• Khai báo kiểu tài liệu tham khảo:
\bibliographystyle{style-name} Các kiểu thường dùng:
plain Các tài liệu được sắp xếp theo thứ tự ABC.
unsrt Các tài liệu được sắp xếp theo thứ tự trích dẫn.
alpha Các tài liệu được sắp xếp theo thứ tự các nhãn gồm tên
tác giả và năm xuất bản.
abbrv Các tài liệu được sắp xếp theo thứ tự họ, tháng, năm và
tên tạp chí thu gọn.
• Khai báo CSDL:
Previous Next First Last Back Index
141
\bibliography{name}
Trích dẫn tài liệu tham khảo
Khai báo CSDL và kiểu tài liệu tham khảo
Trong mã nguồn LATEX (.tex):
• Khai báo kiểu tài liệu tham khảo:
\bibliographystyle{style-name} Các kiểu thường dùng:
plain Các tài liệu được sắp xếp theo thứ tự ABC.
unsrt Các tài liệu được sắp xếp theo thứ tự trích dẫn.
alpha Các tài liệu được sắp xếp theo thứ tự các nhãn gồm tên
tác giả và năm xuất bản.
abbrv Các tài liệu được sắp xếp theo thứ tự họ, tháng, năm và
tên tạp chí thu gọn.
• Khai báo CSDL:
Previous Next First Last Back Index
141
\bibliography{name}
Trích dẫn tài liệu tham khảo
Ví dụ
Trong filename.tex (database.bib chứa CSDL):
This is the document \ldots
Input
\bibliographystyle{plain} \bibliography{database}
Previous Next First Last Back Index
142
TeXnicCentertự động gọi BibTEX .
Trích dẫn tài liệu tham khảo
Quá trình LATEX/BibTEX
LATEX (cid:45) .aux .tex .bib .bst
BibTEX
(cid:63)
LATEX
.bbl
Previous Next First Last Back Index
143
(cid:63)
Trích dẫn tài liệu tham khảo
\bibliographystyle{plain}
[1] Gavin C. Cawley and Nicola L. C. Talbot. A fast index assignment algorithm for vector quantization over noisy transmission channels. I.E.E. Electronic Letters, 32(15):1343–1344, July 1996.
[2] Erwin Kreyszig. Advanced Engineering Mathematics. Wiley, 6th edition,
1988.
[3] Nicola L. C. Talbot and Gavin C. Cawley. A quadratic index assignment algorithm for vector quantisation over noisy transmission channels. In Proceedings of the Institute of Acoustics Autumn Conference on Speech and Hearing, volume 18, pages 195–199, November 1996.
[4] Nicola L. C. Talbot and Gavin C. Cawley. A fast index assignment
algorithm for robust vector quantisation of image data. In Proceedings of the I.E.E.E. International Conference on Image Processing, Santa Barbara, California, USA, October 1997.
Previous Next First Last Back Index
144
Trích dẫn tài liệu tham khảo
\bibliographystyle{alpha}
[CT96 ] Gavin C. Cawley and Nicola L. C. Talbot. A fast index assignment algorithm for vector quantization over noisy transmission channels. I.E.E. Electronic Letters, 32(15):1343–1344, July 1996.
[Kre88] Erwin Kreyszig. Advanced Engineering Mathematics. Wiley, 6th
edition, 1988.
[TC96 ] Nicola L. C. Talbot and Gavin C. Cawley. A quadratic index
assignment algorithm for vector quantisation over noisy transmission channels. In Proceedings of the Institute of Acoustics Autumn Conference on Speech and Hearing, volume 18, pages 195–199, November 1996.
[TC97 ] Nicola L. C. Talbot and Gavin C. Cawley. A fast index assignment algorithm for robust vector quantisation of image data. In Proceedings of the I.E.E.E. International Conference on Image Processing, Santa Barbara, California, USA, October 1997.
Previous Next First Last Back Index
145
Trích dẫn tài liệu tham khảo
\bibliographystyle{ieeetr}
[1] E. Kreyszig, Advanced Engineering Mathematics. Wiley, 6th ed., 1988.
[2] N. L. C. Talbot and G. C. Cawley, “A quadratic index assignment
algorithm for vector quantisation over noisy transmission channels,” in Proceedings of the Institute of Acoustics Autumn Conference on Speech and Hearing, vol. 18, pp. 195–199, Nov. 1996.
[3] G. C. Cawley and N. L. C. Talbot, “A fast index assignment algorithm
for vector quantization over noisy transmission channels,” I.E.E. Electronic Letters, vol. 32, pp. 1343–1344, July 1996.
[4] N. L. C. Talbot and G. C. Cawley, “A fast index assignment algorithm for robust vector quantisation of image data,” in Proceedings of the I.E.E.E. International Conference on Image Processing, (Santa Barbara, California, USA), Oct. 1997.
Previous Next First Last Back Index
146
Trích dẫn tài liệu tham khảo
\bibliographystyle{acm}
[1] Cawley, G. C., and Talbot, N. L. C. A fast index assignment algorithm for vector quantization over noisy transmission channels. I.E.E. Electronic Letters 32, 15 (July 1996), 1343–1344.
[2] Kreyszig, E. Advanced Engineering Mathematics, 6th ed. Wiley,
1988.
[3] Talbot, N. L. C., and Cawley, G. C. A quadratic index
assignment algorithm for vector quantisation over noisy transmission channels. In Proceedings of the Institute of Acoustics Autumn Conference on Speech and Hearing (Nov. 1996), vol. 18, pp. 195–199.
[4] Talbot, N. L. C., and Cawley, G. C. A fast index assignment
algorithm for robust vector quantisation of image data. In Proceedings of the I.E.E.E. International Conference on Image Processing (Santa Barbara, California, USA, Oct. 1997).
Previous Next First Last Back Index
147
Trích dẫn tài liệu tham khảo
\bibliographystyle{apalike}
Cawley, G. C. and Talbot, N. L. C. (1996) A fast index assignment
algorithm for vector quantization over noisy transmission channels. I.E.E. Electronic Letters, 32(15):1343–1344.
Kreyszig, E. (1988) Advanced Engineering Mathematics. Wiley, 6th edition.
Talbot, N. L. C. and Cawley, G. C. (1996). A quadratic index assignment algorithm for vector quantisation over noisy transmission channels. In Proceedings of the Institute of Acoustics Autumn Conference on Speech and Hearing, volume 18, pages 195–199.
Talbot, N. L. C. and Cawley, G. C. (1997). A fast index assignment
algorithm for robust vector quantisation of image data. In Proceedings of the I.E.E.E. International Conference on Image Processing, Santa Barbara, California, USA.
Previous Next First Last Back Index
148
Kiểu này cần gói apalike.
Trích dẫn tài liệu tham khảo
Tùy biến BiBTeX
• Có thể tạo một kiểu BibTEX (.bst) khác so với các kiểu chuẩn từ một trong các kiểu chuẩn bằng cách copy file cũ vào tên mới, rồi thay đổi.
• Chú ý: BibTEX là ngôn ngữ bậc thấp, không dànhcho người yếu
tim!
• Giải pháp thay thế: makebst. makebst.tex là một kịch bản TEX/LATEXó¸ thể dùng để tạo ra một tệp .bst. Chỉ cần gõ: (cid:73)latex makebst
Previous Next First Last Back Index
149
trong MS-DOS , và theo các chỉ dẫn.
Trích dẫn tài liệu tham khảo
Tùy biến BiBTeX
• Có thể tạo một kiểu BibTEX (.bst) khác so với các kiểu chuẩn từ một trong các kiểu chuẩn bằng cách copy file cũ vào tên mới, rồi thay đổi.
• Chú ý: BibTEX là ngôn ngữ bậc thấp, không dànhcho người yếu
tim!
• Giải pháp thay thế: makebst. makebst.tex là một kịch bản TEX/LATEXó¸ thể dùng để tạo ra một tệp .bst. Chỉ cần gõ: (cid:73)latex makebst
Previous Next First Last Back Index
149
trong MS-DOS , và theo các chỉ dẫn.
Trích dẫn tài liệu tham khảo
Tùy biến BiBTeX
• Có thể tạo một kiểu BibTEX (.bst) khác so với các kiểu chuẩn từ một trong các kiểu chuẩn bằng cách copy file cũ vào tên mới, rồi thay đổi.
• Chú ý: BibTEX là ngôn ngữ bậc thấp, không dànhcho người yếu
tim!
• Giải pháp thay thế: makebst. makebst.tex là một kịch bản TEX/LATEXó¸ thể dùng để tạo ra một tệp .bst. Chỉ cần gõ: (cid:73)latex makebst
Previous Next First Last Back Index
149
trong MS-DOS , và theo các chỉ dẫn.
Trích dẫn tài liệu tham khảo
Bài tập 15 (trang 16)
• Lập (JabRefs) 1 CSDL BibTEX chứa các tài liệu trong hình 15
trang 17 của handouts, tạo ra tài liệu như trogn hình vẽ.
• Thay đổi các kiểu bibliography để hiển thị theo thứ tự trích dẫn. (Cần có kiểu unsrt). Thử các kiểu khác như alpha, abbrv và acm để thấy sự khác biệt.
• Nếu có một số các trích dẫn [3,2,4]có thể in theo kiểu [2–4]. Gói citesort định nghĩa lại câu lệnh \citeđể làm việc đó. Thử dùng gói với unsrt.
! Nếu có thể, thử tạo một kiểu bibliography style của mình bằng
Previous Next First Last Back Index
150
makebst.
Lengths-Các chiều dài
Lengths- Các chiều dài
• LATEX có các lệnh biểu diễn các chiều dài, ví dụ như \textwidth.
• Có hai loại chiều dài: rigid-tuyệt đôi and rubber-tương đối.
• Rigid length-chiều dài tuyệt đối có giá trị cố định, ví dụ 4in.
• Rubber length-Chiều dài tương đối có giá trị theo khoảng, ví dụ: 2in plus 0.1in minus 0.1in. LATEX sẽ tính toán và tìm ra giá trị thích hợp.
Previous Next First Last Back Index
151
• Hầu hết các chiều dài trong LATEX là các chiều dài cố định.
Lengths-Các chiều dài
Lengths- Các chiều dài
• LATEX có các lệnh biểu diễn các chiều dài, ví dụ như \textwidth.
• Có hai loại chiều dài: rigid-tuyệt đôi and rubber-tương đối.
• Rigid length-chiều dài tuyệt đối có giá trị cố định, ví dụ 4in.
• Rubber length-Chiều dài tương đối có giá trị theo khoảng, ví dụ: 2in plus 0.1in minus 0.1in. LATEX sẽ tính toán và tìm ra giá trị thích hợp.
Previous Next First Last Back Index
151
• Hầu hết các chiều dài trong LATEX là các chiều dài cố định.
Lengths-Các chiều dài
Lengths- Các chiều dài
• LATEX có các lệnh biểu diễn các chiều dài, ví dụ như \textwidth.
• Có hai loại chiều dài: rigid-tuyệt đôi and rubber-tương đối.
• Rigid length-chiều dài tuyệt đối có giá trị cố định, ví dụ 4in.
• Rubber length-Chiều dài tương đối có giá trị theo khoảng, ví dụ: 2in plus 0.1in minus 0.1in. LATEX sẽ tính toán và tìm ra giá trị thích hợp.
Previous Next First Last Back Index
151
• Hầu hết các chiều dài trong LATEX là các chiều dài cố định.
Lengths-Các chiều dài
Lengths- Các chiều dài
• LATEX có các lệnh biểu diễn các chiều dài, ví dụ như \textwidth.
• Có hai loại chiều dài: rigid-tuyệt đôi and rubber-tương đối.
• Rigid length-chiều dài tuyệt đối có giá trị cố định, ví dụ 4in.
• Rubber length-Chiều dài tương đối có giá trị theo khoảng, ví dụ: 2in plus 0.1in minus 0.1in.LATEX sẽ tính toán và tìm ra giá trị thích hợp.
Previous Next First Last Back Index
151
• Hầu hết các chiều dài trong LATEX là các chiều dài cố định.
Lengths-Các chiều dài
Lengths- Các chiều dài
• LATEX có các lệnh biểu diễn các chiều dài, ví dụ như \textwidth.
• Có hai loại chiều dài: rigid-tuyệt đôi and rubber-tương đối.
• Rigid length-chiều dài tuyệt đối có giá trị cố định, ví dụ 4in.
• Rubber length-Chiều dài tương đối có giá trị theo khoảng, ví dụ: 2in plus 0.1in minus 0.1in. LATEX sẽ tính toán và tìm ra giá trị thích hợp.
Previous Next First Last Back Index
151
• Hầu hết các chiều dài trong LATEX là các chiều dài cố định.
Lengths-Các chiều dài
Lengths- Các chiều dài
• LATEX có các lệnh biểu diễn các chiều dài, ví dụ như \textwidth.
• Có hai loại chiều dài: rigid-tuyệt đôi and rubber-tương đối.
• Rigid length-chiều dài tuyệt đối có giá trị cố định, ví dụ 4in.
• Rubber length-Chiều dài tương đối có giá trị theo khoảng, ví dụ: 2in plus 0.1in minus 0.1in. LATEX sẽ tính toán và tìm ra giá trị thích hợp.
Previous Next First Last Back Index
151
• Hầu hết các chiều dài trong LATEX là các chiều dài cố định.
Lengths-Các chiều dài
Các đơn vị thường dùng
1 72.27 in)
pt
72 in)
Point ( Big point-điểm lớn, point của PostScript( 1 bp
mm Millimetre (2.845pt)
cm Centimetre (28.45pt)
in Inch (25.4mm)
ex Chiều cao của chữ x thường trong font hiện tại
Previous Next First Last Back Index
152
em Chiều rộng của chữ M hoa trong font hiện tại
Lengths-Các chiều dài
Thay đổi chiều dài
• Giá trị mới của mộtchiều dài được khai báo bởi:
\setlength{cmd}{length}
Ví dụ:
\setlength{\textwidth}{6in}
• Tăng chiều dài bằng:
\addtolength{cmd}{length}
ví dụ để chiều rộng của đoạn văn tăng 1in:
Previous Next First Last Back Index
153
\addtolength{\textwidth}{1in}
Lengths-Các chiều dài
Thay đổi chiều dài
• Giá trị mới của mộtchiều dài được khai báo bởi:
\setlength{cmd}{length}
Ví dụ:
\setlength{\textwidth}{6in}
• Tăng chiều dài bằng:
\addtolength{cmd}{length}
ví dụ để chiều rộng của đoạn văn tăng 1in:
Previous Next First Last Back Index
153
\addtolength{\textwidth}{1in}
Lengths-Các chiều dài
Thay đổi chiều dài
• Giá trị mới của mộtchiều dài được khai báo bởi:
\setlength{cmd}{length}
Ví dụ:
\setlength{\textwidth}{6in}
• Tăng chiều dài bằng:
\addtolength{cmd}{length}
ví dụ để chiều rộng của đoạn văn tăng 1in:
Previous Next First Last Back Index
153
\addtolength{\textwidth}{1in}
Lengths-Các chiều dài
Thay đổi chiều dài
• Giá trị mới của mộtchiều dài được khai báo bởi:
\setlength{cmd}{length}
Ví dụ:
\setlength{\textwidth}{6in}
• Tăng chiều dài bằng:
\addtolength{cmd}{length}
ví dụ để chiều rộng của đoạn văn tăng 1in:
Previous Next First Last Back Index
153
\addtolength{\textwidth}{1in}
Lengths-Các chiều dài
Chiều dài
• Có 3 câu lệnh khác để thay thế chiều dài:
\settowidth{cmd}{text} \settoheight{cmd}{text} \settodepth{cmd}{text}
Các lệnh này đặt chiều dài cmd chiều rộng, chiều cao hơcj chiều sâu củavăn bản. Đoạn văn bản hiện tại không được hiển thị.
• Để tạo ra một chiều dài mới:
\newlengthcmd
• Để hiển thị giá trị của một chiều dài:
Previous Next First Last Back Index
154
\thecmd
Lengths-Các chiều dài
Chiều dài
• Có 3 câu lệnh khác để thay thế chiều dài:
\settowidth{cmd}{text} \settoheight{cmd}{text} \settodepth{cmd}{text}
Các lệnh này đặt chiều dài cmd chiều rộng, chiều cao hơcj chiều sâu củavăn bản. Đoạn văn bản hiện tại không được hiển thị.
• Để tạo ra một chiều dài mới:
\newlengthcmd
• Để hiển thị giá trị của một chiều dài:
Previous Next First Last Back Index
154
\thecmd
Lengths-Các chiều dài
Chiều dài
• Có 3 câu lệnh khác để thay thế chiều dài:
\settowidth{cmd}{text} \settoheight{cmd}{text} \settodepth{cmd}{text}
Các lệnh này đặt chiều dài cmd chiều rộng, chiều cao hơcj chiều sâu củavăn bản. Đoạn văn bản hiện tại không được hiển thị.
• Để tạo ra một chiều dài mới:
\newlengthcmd
• Để hiển thị giá trị của một chiều dài:
Previous Next First Last Back Index
154
\thecmd
Lengths-Các chiều dài
Ví dụ
Output
Width=22.4945pt.
Input
Previous Next First Last Back Index
155
% define new length \newlength\mylen % set it to the width of the text \settowidth{\mylen}{Hello} % Display the value Width=\the\mylen.
Lengths-Các chiều dài
Chiều dài của Layout
1
one inch + \hoffset
2
one inch + \voffset
3
\oddsidemargin
4
\topmargin
5
\headheight
6
\headsep
7
\textheight
8
\textwidth
9
\marginparsep
10
\marginparwidth
11
\footskip
(Đồ thị sinh ra bằng cách sử dụng gói layout)
Previous Next First Last Back Index
156
Lengths-Các chiều dài
Bài tập 16 (trang 17)
• Trở lại tài liệu trong bài tập 1
• Thay đổi chiều dài của tab đầu đoạn văn (\parindent) thành 0pt
Previous Next First Last Back Index
157
• Thay đổi khoảng cách giữa các đoạn văn (\parskip) thành 3ex.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Đóng khung
• Nội dung có thể được chia thành các khung nhỏ.
• Mỗi khung có chiều cac, rộng, sâu.
depth • Khung đơn giản nhất là một chữ cáiyheight
aheight
width width
• Ví dụ: chuỗi ký hiệu “cabbages and peas” gồm 15 boxes:
c a b b a g e s a n d p e a s
• Giữa các box là một loại “glue-keo”.
• Các box phức tạp được tạo thành từ các box nhỏ hơn.
Previous Next First Last Back Index
158
• NSD cần cố định các box với nhau theo các luật về định dạng.
Boxes, Minipages: Đóng khung và các trang nhỏ
Boxes
• Boxes được xử lý như các đối tượng đơn giản.
• có thể xuất hiện ở giữa dòng.
• nhưng không bao giờ có thể tách thành hai dòng.
• có thể được canh lề ngang dọc.
Previous Next First Last Back Index
159
• Chúng ta đã sử dụng một vài loại bõ.
Boxes, Minipages: Đóng khung và các trang nhỏ
Boxes
• Boxes được xử lý như các đối tượng đơn giản.
• có thể xuất hiện ở giữa dòng.
• nhưng không bao giờ có thể tách thành hai dòng.
• có thể được canh lề ngang dọc.
Previous Next First Last Back Index
159
• Chúng ta đã sử dụng một vài loại bõ.
Boxes, Minipages: Đóng khung và các trang nhỏ
Boxes
• Boxes được xử lý như các đối tượng đơn giản.
• có thể xuất hiện ở giữa dòng.
• nhưng không bao giờ có thể tách thành hai dòng.
• có thể được canh lề ngang dọc.
Previous Next First Last Back Index
159
• Chúng ta đã sử dụng một vài loại bõ.
Boxes, Minipages: Đóng khung và các trang nhỏ
Boxes
• Boxes được xử lý như các đối tượng đơn giản.
• có thể xuất hiện ở giữa dòng.
• nhưng không bao giờ có thể tách thành hai dòng.
• có thể được canh lề ngang dọc.
Previous Next First Last Back Index
159
• Chúng ta đã sử dụng một vài loại bõ.
Boxes, Minipages: Đóng khung và các trang nhỏ
Boxes
• Boxes được xử lý như các đối tượng đơn giản.
• có thể xuất hiện ở giữa dòng.
• nhưng không bao giờ có thể tách thành hai dòng.
• có thể được canh lề ngang dọc.
Previous Next First Last Back Index
159
• Chúng ta đã sử dụng một vài loại bõ.
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví về Box: môi trường tabular
Input
Baseline \begin{tabular}[c]{l}line 1\\line 2\\line 3\end{tabular} \begin{tabular}[b]{l}line 1\\line 2\\line 3\end{tabular} \begin{tabular}[t]{l}line 1\\line 2\\line 3\end{tabular}
line 1
line 2 line 1
line 3 line 1 Baseline line 2
line 2 line 3
Output
Previous Next First Last Back Index
160
line 3
Boxes, Minipages: Đóng khung và các trang nhỏ
Các loại Box cơ bản
• \mbox{contents}
Đây là loại box đơn giản nhất.
– Text trong khung không bị tách dòng
– Các công thức được định dạng như text.
– Kích thước box tự thay đổi cho phù hợp với nội dung.
• \makebox[width][alignment]{contents}
Previous Next First Last Back Index
161
Giống \mbox, với các tham số về chiều rộng, về canh lề: left, right or c.
Boxes, Minipages: Đóng khung và các trang nhỏ
Các loại Box cơ bản
• \mbox{contents}
Đây là loại box đơn giản nhất.
– Text trong khung không bị tách dòng
– Các công thức được định dạng như text.
– Kích thước box tự thay đổi cho phù hợp với nội dung.
• \makebox[width][alignment]{contents}
Previous Next First Last Back Index
161
Giống \mbox, với các tham số về chiều rộng, về canh lề: left, right or c.
Boxes, Minipages: Đóng khung và các trang nhỏ
Các loại Box cơ bản
• \mbox{contents}
Đây là loại box đơn giản nhất.
– Text trong khung không bị tách dòng
– Các công thức được định dạng như text.
– Kích thước box tự thay đổi cho phù hợp với nội dung.
• \makebox[width][alignment]{contents}
Previous Next First Last Back Index
161
Giống \mbox, với các tham số về chiều rộng, về canh lề: left, right or c.
Boxes, Minipages: Đóng khung và các trang nhỏ
Các loại Box cơ bản
• \mbox{contents}
Đây là loại box đơn giản nhất.
– Text trong khung không bị tách dòng
– Các công thức được định dạng như text.
– Kích thước box tự thay đổi cho phù hợp với nội dung.
• \makebox[width][alignment]{contents}
Previous Next First Last Back Index
161
Giống \mbox, với các tham số về chiều rộng, về canh lề: left, right or c.
Boxes, Minipages: Đóng khung và các trang nhỏ
Các loại Box cơ bản
• \mbox{contents}
Đây là loại box đơn giản nhất.
– Text trong khung không bị tách dòng
– Các công thức được định dạng như text.
– Kích thước box tự thay đổi cho phù hợp với nội dung.
• \makebox[width][alignment]{contents}
Previous Next First Last Back Index
161
Giống \mbox, với các tham số về chiều rộng, về canh lề: left, right or c.
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ dùng \mbox
y = x and z = x + y
Output
\begin{displaymath} y = x \mbox{ and } z = x + y \end{displaymath}
Input
Now some in-line x = 1, . . . , n maths.
Now some in-line $x = 1, \ldots, n$ maths.
Input
Output
some
in-line
Now x = 1, . . . , n maths.
Now some in-line \mbox{$x = 1, \ldots, n$} maths.
Output
Input
Previous Next First Last Back Index
162
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ dùng \makebox
Input
Here is \makebox[1in][r]{\em a 1in} box
Output
Here is a 1in box
Input
\makebox[0pt][l]{/////}Hello!
Input
Previous Next First Last Back Index
163
/////Hello!
Boxes, Minipages: Đóng khung và các trang nhỏ
Boxes có khung
Here is a \fbox{box}
Input
Here is a box
Output
Here is \framebox[1in][r]{\em a 1in} box
Input
Here is
a 1in box
Output
Previous Next First Last Back Index
164
\fbox and \framebox : Giống \mbox và \makebox, nhưng có một khung hình chữ nhật xung quanh box.
Boxes, Minipages: Đóng khung và các trang nhỏ
Các chiều dài của \fbox and \framebox
• \fboxsep : Có một khoảng cách giữa khung và nội dung của box.
Ví dụ:
Some Text \setlength{\fboxsep}{10pt} \fbox{Some Text}
• \fboxrule : Chiều dài của khung. For example:
Previous Next First Last Back Index
165
Some Text \setlength{\fboxrule}{4pt} \fbox{Some Text}
Boxes, Minipages: Đóng khung và các trang nhỏ
Các chiều dài của \fbox and \framebox
• \fboxsep : Có một khoảng cách giữa khung và nội dung của box.
Ví dụ:
Some Text \setlength{\fboxsep}{10pt} \fbox{Some Text}
• \fboxrule : Chiều dài của khung. For example:
Previous Next First Last Back Index
165
Some Text \setlength{\fboxrule}{4pt} \fbox{Some Text}
Boxes, Minipages: Đóng khung và các trang nhỏ
Các chiều dài của \fbox and \framebox
• \fboxsep : Có một khoảng cách giữa khung và nội dung của box.
Ví dụ:
Some Text \setlength{\fboxsep}{10pt} \fbox{Some Text}
• \fboxrule : Chiều dài của khung. For example:
Previous Next First Last Back Index
165
Some Text \setlength{\fboxrule}{4pt} \fbox{Some Text}
Boxes, Minipages: Đóng khung và các trang nhỏ
Các chiều dài của \fbox and \framebox
• \fboxsep : Có một khoảng cách giữa khung và nội dung của box.
Ví dụ:
Some Text \setlength{\fboxsep}{10pt} \fbox{Some Text}
• \fboxrule : Chiều dài của khung. For example:
Previous Next First Last Back Index
165
Some Text \setlength{\fboxrule}{4pt} \fbox{Some Text}
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói fancybox
Gói fancybox package cung cấp 4 lệnh tương tự như \fbox:
Input
\ovalbox{An oval frame} (cid:0) (cid:1)
\Ovalbox{A thicker oval frame} Output (cid:3) An oval frame (cid:2) (cid:7) A thicker oval frame (cid:6) (cid:4) (cid:5)
A double frame \doublebox{A double frame}
A shadow frame
Previous Next First Last Back Index
166
\shadowbox{A shadow frame}
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói fancybox
Gói fancybox package cung cấp 4 lệnh tương tự như \fbox:
Input
\ovalbox{An oval frame} (cid:0) (cid:1)
\Ovalbox{A thicker oval frame} Output (cid:3) An oval frame (cid:2) (cid:7) A thicker oval frame (cid:6) (cid:4) (cid:5)
A double frame \doublebox{A double frame}
A shadow frame
Previous Next First Last Back Index
166
\shadowbox{A shadow frame}
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói fancybox
Gói fancybox package cung cấp 4 lệnh tương tự như \fbox:
Input
\ovalbox{An oval frame} (cid:0) (cid:1)
\Ovalbox{A thicker oval frame} Output (cid:3) An oval frame (cid:2) (cid:7) A thicker oval frame (cid:6) (cid:4) (cid:5)
A double frame \doublebox{A double frame}
A shadow frame
Previous Next First Last Back Index
166
\shadowbox{A shadow frame}
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói fancybox
Gói fancybox package cung cấp 4 lệnh tương tự như \fbox:
Input
\ovalbox{An oval frame} (cid:0) (cid:1)
\Ovalbox{A thicker oval frame} Output (cid:3) An oval frame (cid:2) (cid:7) A thicker oval frame (cid:6) (cid:4) (cid:5)
A double frame \doublebox{A double frame}
A shadow frame
Previous Next First Last Back Index
166
\shadowbox{A shadow frame}
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói fancybox
Gói fancybox package cung cấp 4 lệnh tương tự như \fbox:
Input
\ovalbox{An oval frame} (cid:0) (cid:1)
\Ovalbox{A thicker oval frame} Output (cid:3) An oval frame (cid:2) (cid:7) A thicker oval frame (cid:6) (cid:4) (cid:5)
A double frame \doublebox{A double frame}
A shadow frame
Previous Next First Last Back Index
166
\shadowbox{A shadow frame}
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
Input
Here is a \ovalbox{box}
Output
Here is a (cid:3) box (cid:2) (cid:0) (cid:1)
Input
Here is \ovalbox{\makebox[1in][r]{\em a 1in}} box
Output
Previous Next First Last Back Index
167
Here is (cid:3) (cid:2) (cid:0) a 1in box (cid:1)
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
Input
Here is a \Ovalbox{box}
Output
Here is a (cid:3) box (cid:2) (cid:0) (cid:1)
Input
Here is \Ovalbox{\makebox[1in][r]{\em a 1in}} box
Output
Previous Next First Last Back Index
168
Here is (cid:3) (cid:2) (cid:0) a 1in box (cid:1)
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
Here is a \doublebox{box}
Input
Here is a box
Output
Here is \doublebox{\makebox[1in][r]{\em a 1in}} box
Input
Here is
a 1in box
Output
Previous Next First Last Back Index
169
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
Here is a \shadowbox{box}
Input
box
Here is a
Output
Here is \shadowbox{\makebox[1in][r]{\em a 1in}} box
Input
a 1in
Here is
box
Output
Previous Next First Last Back Index
170
Boxes, Minipages: Đóng khung và các trang nhỏ
Gõ một đoạn văn trong Box
\parbox[alignment][height]{width}{contents of box}
Ví dụ:
Input
A paragraph within a box : \parbox{0.75in}{This box is three quarters of an inch wide} so there!
Một đoạn văn trong box : so there!
Output
Previous Next First Last Back Index
171
This box is three quar- ters of an inch wide
Boxes, Minipages: Đóng khung và các trang nhỏ
Môi trường minipage
Some text. \begin{minipage}{0.4\textwidth} The width of this minipage is 0.4 times the width of the text body\footnote{Note we can also have a footnote}. \end{minipage} Some more text.
Input
The width of this minipage is 0.4 times the width of the text bodya.
Some text.
Some more text.
aNote we can also have a
footnote
Output
Previous Next First Last Back Index
172
\begin{minipage}[alignment][height]{width}
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói shapepar (\diamondpar)
♦ Gói shapeparcho phép tạo các hiệu ứng đặc biệt. Có 4 kiểu hiệu ứng đặc biệt: diamond, square, heart và nut shaped. Có thể định nghĩa các loại khácbằng \shapepar. Tham số
phải
là cả một văn
đoạn
bản. ♦
\diamondpar{With the ... }
Previous Next First Last Back Index
173
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói shapepar (\squarepar)
Với gói shapeparcó thể có các hiệu ứng khác. Có 4 loại hiệu ứng: diamond, square, heart and nut shaped. Có thể định nghĩa các hiệu ứng khác sử fụng \shapepar. Tham số là cả đoạn văn bản.
\squarepar{With the ... }
Previous Next First Last Back Index
174
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói shapepar: (\heartpar)
Với
gói
shapeparcó thể có các hiệu ứng khác. Có 4 loại hiệu ứng: diamond, square, heart and nut shaped. Có thể định nghĩa các hiệu ứng khác sử fụng \shapepar. Tham số là cả đoạn
văn
bản.
♥
\heartpar{With the ... }
Previous Next First Last Back Index
175
Boxes, Minipages: Đóng khung và các trang nhỏ
Gói shapepar: (\heartpar)
Với gói shapeparcó thể có các hiệu ứng khác. Có 4 loại hiệu ứng: square, and Có
nut thể
nghĩa các
diamond, heart shaped. định hiệu ứng khác sử fụng \shapepar. Tham số là cả đoạn văn bản.
\shapepar\nutshape{With the ... }
Previous Next First Last Back Index
176
Boxes, Minipages: Đóng khung và các trang nhỏ
Làm nổi và làm chìm các Boxes
• Boxes có thể được làm chìm hoặc làm nổi sử dụng:
\raisebox{lift}[depth][height]{contents}
Input
some text \raisebox{2ex}{some raised} \raisebox{-1ex}{some lowered}
some raised
Output
Previous Next First Last Back Index
177
some text some lowered
Boxes, Minipages: Đóng khung và các trang nhỏ
Rules
• Rule là một hình chữ nhật: \rule[lift]{width}{height}
Input
Some text \rule{0.5in}{10pt} \rule[-3pt]{0.5in}{10pt} some text.
Output
Previous Next First Last Back Index
178
Some text some text.
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
Ví dụ này dùng \settowidth, \makebox và \rule:
Input
\newlength\mylen \settowidth{\mylen}{Some Text}% \makebox[0pt][l]{\rule[0.5ex]{\mylen}{1pt}}% Some Text
Output
Some Text
Previous Next First Last Back Index
179
Hơi tỷ mỷ, cầu kỳ! Cần định nghĩa các lệnh mới!
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
Ví dụ này dùng \settowidth, \makebox và \rule:
Input
\newlength\mylen \settowidth{\mylen}{Some Text}% \makebox[0pt][l]{\rule[0.5ex]{\mylen}{1pt}}% Some Text
Output
Some Text
Previous Next First Last Back Index
179
Hơi tỷ mỷ, cầu kỳ! Cần định nghĩa các lệnh mới!
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
\newlength\mylen \newcommand{\strikethrough}[1]{% \settowidth{\mylen}{#1}% \makebox[0pt][l]{\rule[0.5ex]{\mylen}{1pt}}% #1}
Input
\strikethrough{Some More Text}
Output
Some More Text
Previous Next First Last Back Index
180
Ví dụ này không cho phép ngắt dòng. Dùng gói ulem để làm việc đó.
Boxes, Minipages: Đóng khung và các trang nhỏ
Previous Next First Last Back Index
180
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ
\newlength\mylen \newcommand{\strikethrough}[1]{% \settowidth{\mylen}{#1}% \makebox[0pt][l]{\rule[0.5ex]{\mylen}{1pt}}% #1}
Input
\strikethrough{Some More Text}
Output
Some More Text
Previous Next First Last Back Index
180
Ví dụ này không cho phép ngắt dòng. Dùng gói ulem để làm việc đó.
Boxes, Minipages: Đóng khung và các trang nhỏ
Previous Next First Last Back Index
180
Boxes, Minipages: Đóng khung và các trang nhỏ
Struts
Rule có chiều dài 1 gọi là strut:
Input
\fbox{text} \fbox{\rule[-10pt]{0pt}{20pt}text} text\rule{1in}{0pt}text
Output
Previous Next First Last Back Index
181
text text text text
Boxes, Minipages: Đóng khung và các trang nhỏ
Saveboxes
• Cho phép ghi lại đoạn văn bản đề dùng sau.
• Khai báo một savebox mới: \newsavebox{cmd}.
• Ghi một đoạn text vào savebox:
– command:
\sbox{cmd}{text}
– lrbox environment:
\begin{lrbox}{cmd} text \end{lrbox}
Previous Next First Last Back Index
182
• To display the contents of a savebox: \usebox{cmd}
Boxes, Minipages: Đóng khung và các trang nhỏ
Saveboxes
• Cho phép ghi lại đoạn văn bản đề dùng sau.
• Khai báo một savebox mới: \newsavebox{cmd}.
• Ghi một đoạn text vào savebox:
– command:
\sbox{cmd}{text}
– lrbox environment:
\begin{lrbox}{cmd} text \end{lrbox}
Previous Next First Last Back Index
182
• To display the contents of a savebox: \usebox{cmd}
Boxes, Minipages: Đóng khung và các trang nhỏ
Saveboxes
• Cho phép ghi lại đoạn văn bản đề dùng sau.
• Khai báo một savebox mới: \newsavebox{cmd}.
• Ghi một đoạn text vào savebox:
– command:
\sbox{cmd}{text}
– lrbox environment:
\begin{lrbox}{cmd} text \end{lrbox}
Previous Next First Last Back Index
182
• To display the contents of a savebox: \usebox{cmd}
Boxes, Minipages: Đóng khung và các trang nhỏ
Saveboxes
• Cho phép ghi lại đoạn văn bản đề dùng sau.
• Khai báo một savebox mới: \newsavebox{cmd}.
• Ghi một đoạn text vào savebox:
– command:
\sbox{cmd}{text}
– lrbox environment:
\begin{lrbox}{cmd} text \end{lrbox}
Previous Next First Last Back Index
182
• To display the contents of a savebox: \usebox{cmd}
Boxes, Minipages: Đóng khung và các trang nhỏ
Saveboxes
• Cho phép ghi lại đoạn văn bản đề dùng sau.
• Khai báo một savebox mới: \newsavebox{cmd}.
• Ghi một đoạn text vào savebox:
– command:
\sbox{cmd}{text}
– lrbox environment:
\begin{lrbox}{cmd} text \end{lrbox}
Previous Next First Last Back Index
182
• To display the contents of a savebox: \usebox{cmd}
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ dùng \sbox
\newsavebox{\mysbox} \sbox{\mysbox}{Some interesting text}
Input
\usebox{\mysbox}\\ \fbox{\usebox{\mysbox}}\\ \Ovalbox{\usebox{\mysbox}}
(cid:4)
Output
Previous Next First Last Back Index
183
Some interesting text Some interesting text (cid:7) Some interesting text (cid:6) (cid:5)
Boxes, Minipages: Đóng khung và các trang nhỏ
Ví dụ dùng lrbox
\newsavebox{\mysbox} \begin{lrbox}{\mysbox} Some more interesting text. \end{lrbox}
Input
\usebox{\mysbox}\\ \fbox{\usebox{\mysbox}}
Output
Previous Next First Last Back Index
184
Some more interesting text. Some more interesting text.
Boxes, Minipages: Đóng khung và các trang nhỏ
Macros hay Saveboxes?
Dùng macro (hay command ):
\newcommand{\sometext}{Some text}
Output
Some text. Some text. Some text.
Input
\sometext.\\ \sffamily \sometext.\\ \ttfamily \sometext.
Previous Next First Last Back Index
185
TEX phải xử lý “Some text” 3 lần.
Boxes, Minipages: Đóng khung và các trang nhỏ
Macros hay Saveboxes?
Dùng savebox:
\newsavebox{\mysbox} \sbox{\mysbox}{Some text}
Output
Some text. Some text. Some text.
Input
\usebox{\mysbox}.\\ \sffamily \usebox{\mysbox}.\\ \ttfamily \usebox{\mysbox}.
Previous Next First Last Back Index
186
TEX chỉ phải xử lý “Some text” một lần.
Boxes, Minipages: Đóng khung và các trang nhỏ
Bài tập 17 (trang 19)
e Tạo văn bản như hình 17 trang 19 của handout.
! Tạo văn bản như hình 18 trang 19 của handout.
• Thay đổi canh lề dọc của minipage.
• Thử các chú thích trong và ngoài môi trường minipage.
• Thử dung \parbox thay cho minipage.
Previous Next First Last Back Index
187
• Thử các loại khung xung quanh minipage.
Hình vẽ và ảnh
Hình vẽ và ảnh
• Có thể tạo ra các ảnh sử dụng các lệnh LATEX cho vẽ hình. Gói pstricks hoặc pgf có thể tạo ra những hình ảnh phức tạp, tuy nhiên hơi khó khăn với một số người.
• Cách đơn giản hơn là dùng các chương trình xử lý ảnh, rồi nhún
vào trong tài liệuLATEX bằng lệnh:
\includegraphics[options]{filename}
trong gói graphicx .
• Các loại ảnh phụ thuộc vào loại đầu ra. thường là PS và EPS (với
Previous Next First Last Back Index
188
dvips) và PDF hay PNG (với PDFLATEX).
Hình vẽ và ảnh
Hình vẽ và ảnh
• Có thể tạo ra các ảnh sử dụng các lệnh LATEX cho vẽ hình. Gói pstricks hoặc pgf có thể tạo ra những hình ảnh phức tạp, tuy nhiên hơi khó khăn với một số người.
• Cách đơn giản hơn là dùng các chương trình xử lý ảnh, rồi nhún
vào trong tài liệuLATEX bằng lệnh:
\includegraphics[options]{filename}
trong gói graphicx .
• Các loại ảnh phụ thuộc vào loại đầu ra. thường là PS và EPS (với
Previous Next First Last Back Index
188
dvips) và PDF hay PNG (với PDFLATEX).
Hình vẽ và ảnh
Hình vẽ và ảnh
• Có thể tạo ra các ảnh sử dụng các lệnh LATEX cho vẽ hình. Gói pstricks hoặc pgf có thể tạo ra những hình ảnh phức tạp, tuy nhiên hơi khó khăn với một số người.
• Cách đơn giản hơn là dùng các chương trình xử lý ảnh, rồi nhún
vào trong tài liệuLATEX bằng lệnh:
\includegraphics[options]{filename}
trong gói graphicx .
• Các loại ảnh phụ thuộc vào loại đầu ra. thường là PS và EPS (với
Previous Next First Last Back Index
188
dvips) và PDF hay PNG (với PDFLATEX).
Hình vẽ và ảnh
Cú pháp
\includegraphics[options]{filename} Các thông số thường dùng:
quay ảnh một góc x◦ angle=x
phóng/thu về chiều rộng len. width=len
phóng/thu về chiều cao len. height=len
phóng/thu. scale=x
trim=lx by rx ty
cắt ảnh để góc dưới bên trái là (lx, by) và góc trên bên phải là (rx, ty).
draft
Previous Next First Last Back Index
189
không hiển thị ảnh, chỉ hiển thị khung xung quanh.
Hình vẽ và ảnh
Ví dụ
• Không cần chỉ ra phần mở rộng của ảnh.
Input
Output
\includegraphics[angle=90,width=1in]{shapes}
Previous Next First Last Back Index
190
• Nếu là LATEX dùng shapes.ps, nếu PDFLATEX dùng shapes.pdf.
Hình vẽ và ảnh
Các lệnh khác của gói graphicx
• \rotatebox{angle}{text} Xoay text một góc angle.
• \scalebox{h scale}[v scale]{text}
Phóng/thu text.
• \reflectbox{text}
Soi gương text
• \resizebox{h length}{v length}{text}
Previous Next First Last Back Index
191
Thay đổi kích thước text rộng h length cao v length. Ký hiêu ! có thể dùng để giữ tỷ lệ nếu chỉ có một kích thước được đưa ra.
Hình vẽ và ảnh
Ví dụ
text
So m e
Output
Input
\rotatebox{45}{Some text}
Some text
Output
Input
\scalebox{1.5}{Some text}
Output
Input
Previous Next First Last Back Index
192
Sometext \reflectbox{Some text}
Hình vẽ và ảnh
Ví dụ
Sometext
Output
Input
Some text
Output
\resizebox{6mm}{1cm}{Some text}
Input
Previous Next First Last Back Index
193
\resizebox{6mm}{!}{Some text}
Hình vẽ và ảnh
Bài tập 18 (trang 20)
• tải về shapes.ps (hoặc shapes.pdf nếu muốn dùng PDFLATEX)
to your directoryrồi nhúng vào tài liệu.
• Canh giữa ảnh dùng \centerline.
• Đóng khung ảnh.
• Phóng to, thu nhỏ và quay ảnh.
Previous Next First Last Back Index
194
• Sử dụng tùy biến draft của gói graphicx và xem kết quả.
Hình vẽ và bảng
Hình vẽ và bảng
• Hình vẽ và bảng là các floats — được treo-floated vào đối tượng
gần nhất.
• Hình vẽ và bảngcó tiêu đề và số. Khai báo tiêu đề:
\caption[short caption]{caption text}
• LATEX quản lý các số thứ tự tự động. Các đối tượng treo có thể
được tham chiếu bằng \label and \ref.
• Hình vẽ được khai báo bằng môi trường figure.
• Bảng được khai báo bằng môi trường table.
Previous Next First Last Back Index
195
• figure và table không được có ngắt trang.
Hình vẽ và bảng
Hình vẽ và bảng
• Hình vẽ và bảng là các floats — được treo-floated vào đối tượng
gần nhất.
• Hình vẽ và bảngcó tiêu đề và số. Khai báo tiêu đề:
\caption[short caption]{caption text}
• LATEX quản lý các số thứ tự tự động. Các đối tượng treo có thể
được tham chiếu bằng \label and \ref.
• Hình vẽ được khai báo bằng môi trường figure.
• Bảng được khai báo bằng môi trường table.
Previous Next First Last Back Index
195
• figure và table không được có ngắt trang.
Hình vẽ và bảng
Hình vẽ và bảng
• Hình vẽ và bảng là các floats — được treo-floated vào đối tượng
gần nhất.
• Hình vẽ và bảngcó tiêu đề và số. Khai báo tiêu đề:
\caption[short caption]{caption text}
• LATEX quản lý các số thứ tự tự động. Các đối tượng treo có thể
được tham chiếu bằng \label and \ref.
• Hình vẽ được khai báo bằng môi trường figure.
• Bảng được khai báo bằng môi trường table.
Previous Next First Last Back Index
195
• figure và table không được có ngắt trang.
Hình vẽ và bảng
Hình vẽ và bảng
• Hình vẽ và bảng là các floats — được treo-floated vào đối tượng
gần nhất.
• Hình vẽ và bảngcó tiêu đề và số. Khai báo tiêu đề:
\caption[short caption]{caption text}
• LATEX quản lý các số thứ tự tự động. Các đối tượng treo có thể
được tham chiếu bằng \label and \ref.
• Hình vẽ được khai báo bằng môi trường figure.
• Bảng được khai báo bằng môi trường table.
Previous Next First Last Back Index
195
• figure và table không được có ngắt trang.
Hình vẽ và bảng
Hình vẽ và bảng
• Hình vẽ và bảng là các floats — được treo-floated vào đối tượng
gần nhất.
• Hình vẽ và bảngcó tiêu đề và số. Khai báo tiêu đề:
\caption[short caption]{caption text}
• LATEX quản lý các số thứ tự tự động. Các đối tượng treo có thể
được tham chiếu bằng \label and \ref.
• Hình vẽ được khai báo bằng môi trường figure.
• Bảng được khai báo bằng môi trường table.
Previous Next First Last Back Index
195
• figure và table không được có ngắt trang.
Hình vẽ và bảng
Hình vẽ và bảng
• Hình vẽ và bảng là các floats — được treo-floated vào đối tượng
gần nhất.
• Hình vẽ và bảngcó tiêu đề và số. Khai báo tiêu đề:
\caption[short caption]{caption text}
• LATEX quản lý các số thứ tự tự động. Các đối tượng treo có thể
được tham chiếu bằng \label and \ref.
• Hình vẽ được khai báo bằng môi trường figure.
• Bảng được khai báo bằng môi trường table.
Previous Next First Last Back Index
195
• figure và table không được có ngắt trang.
Hình vẽ và bảng
Hình vẽ ví dụ
\begin{figure}[tbh] \centerline{\includegraphics[height=1.25cm]{shapes.ps}} \caption{Some shapes} \label{fig:shapes} \end{figure}
Input
Output
Previous Next First Last Back Index
196
Hình 1: Some shapes
Hình vẽ và bảng
Ví dụ về bảng
A
B
0.5
1.0
I
\begin{table}[tbh] \caption{An example table} \label{tab:example} \vspace{10pt} \centerline{ \begin{tabular}{l|ll}
& A & B\\\hline
12
14
II
Output
I & 0.5 & 1.0\\ II & 12 & 14 \end{tabular} } \end{table}
Input
Previous Next First Last Back Index
197
Bảng 1: An example table
Hình vẽ và bảng
Các hình bổ sung
Hai hình vẽ có thể được đặt trong một figure :
\begin{figure}[tbh] \begin{minipage}{0.4\textwidth} \centerline{\includegraphics{circle.ps}} \caption{A Circle}\label{fig:circ} \end{minipage} \begin{minipage}{0.5\textwidth} \centerline{\includegraphics{rectangle.ps}} \caption{A Rectangle}\label{fig:rect} \end{minipage} \end{figure}
Figure~\ref{fig:circ} shows a circle. Figure~\ref{fig:rect} shows a rectangle.
Input
Previous Next First Last Back Index
198
Hình vẽ và bảng
Các hình bổ sung
Hình 3: A Rectangle Hình 2: A Circle
Output
Previous Next First Last Back Index
199
Hình 2 vẽ đường tronf. Hình 3 vẽ hình chữ nhật.
Hình vẽ và bảng
Các hình con
Subfigures - hình con tạo bởi lệnh \subfigure[caption]{contents} which is trong gói subfigure.
\begin{figure}[tbh] \centering \subfigure[A Circle]{\label{fig:circle}% \includegraphics[height=1in,clip]{circle.ps}} \hspace{0.5in} \subfigure[A Rectangle]{\label{fig:rectangle}% \includegraphics[height=1in,clip]{rectangle.ps}}
\caption{(a) A Circle, (b) A Rectangle} \label{fig:subfigex} \end{figure} Figure~\ref{fig:circle} shows a circle, Figure~\ref{fig:rectangle} shows a rectangle.
Input
Previous Next First Last Back Index
200
Hình vẽ và bảng
(a) A Circle
(b) A Rectangle
Hình 4: (a) A Circle, (b) A Rectangle
Output
Previous Next First Last Back Index
201
Figure 4(a) shows a circle, Figure 4(b) shows a rectangle.
Hình vẽ và bảng
Danh sách hình vẽ, bảng
• Danh sách các hình vẽ có thể được tạo ra bằng:
\listoffigures
• Danh sách các bảng có thể được tạo ra bằng::
\listoftables
• Thông thường được đặt sau mục lục.
Previous Next First Last Back Index
202
• Cần LATEXvăn bản hai lần để cập nhật danh sách.
Hình vẽ và bảng
Danh sách hình vẽ, bảng
• Danh sách các hình vẽ có thể được tạo ra bằng:
\listoffigures
• Danh sách các bảng có thể được tạo ra bằng::
\listoftables
• Thông thường được đặt sau mục lục.
Previous Next First Last Back Index
202
• Cần LATEXvăn bản hai lần để cập nhật danh sách.
Hình vẽ và bảng
Danh sách hình vẽ, bảng
• Danh sách các hình vẽ có thể được tạo ra bằng:
\listoffigures
• Danh sách các bảng có thể được tạo ra bằng::
\listoftables
• Thông thường được đặt sau mục lục.
Previous Next First Last Back Index
202
• Cần LATEXvăn bản hai lần để cập nhật danh sách.
Hình vẽ và bảng
Danh sách hình vẽ, bảng
• Danh sách các hình vẽ có thể được tạo ra bằng:
\listoffigures
• Danh sách các bảng có thể được tạo ra bằng::
\listoftables
• Thông thường được đặt sau mục lục.
Previous Next First Last Back Index
202
• Cần LATEXvăn bản hai lần để cập nhật danh sách.
Hình vẽ và bảng
Bài tập 19 (trang 21)
• Copy circle.ps, rectangle.ps và shapes.ps vào thư mục hiện tại (hoặc circle.pdf, rectangle.pdf và shapes.pdf).
• tạo tài liệu chứa hình 19 và 20 bảng 11 trong handout.
Previous Next First Last Back Index
203
• Thêm một danh sách các bảng và các hình vẽ vào tài liệu.
Tạo Slides
Tạo Slides bằng LATEX
• Có nhiều lớp tài liệu để tạo slides.
• Đơn giản nhất là lớp slides
• Có các gói nhiều chức năng hơn, như là beamer hay prosper, để
tạo ra các slides chuyên nghiệp hơn.
Previous Next First Last Back Index
204
• Chúng ta sẽ xem xét lớp seminar.
Tạo Slides
Gói seminar
• Mỗi slides được khai báo bằng môi trường slide (landscape) hoặc
slide* (portrait).
• Để thay đổi chiều giấy, dùng tùy biến portrait:
\documentclass[portrait]{seminar}
• Dùng khổ A4 thay cho mặc định US letter, dùng gói sem-a4.
• Hiển thị slides đứng hoặc nằm, dùng \landscapeonly hoặc
Previous Next First Last Back Index
205
\portraitonly trong phần preamble - khai báo.
Tạo Slides
Slides tiêu đề
Dùng lệnh \title, \author, \date và \maketitle để khai báo tiêu đề.
\title{\LARGE Introductory \LaTeX} \author{Dr N.L.C. Talbot\\ \mdseries\slshape for\\ \mdseries\slshape UEA Centre for Staff and Educational Development} \date{}
\begin{slide} \maketitle \end{slide}
Input
Previous Next First Last Back Index
206
Tạo Slides
Ghi chú
• Bất cứ đoạn văn nào nằm ngoài môi trường slide hoặc slide* đều
được coi là chú thích.
• Có thể in hoặc hiển thị riêng chú thích hoặc slides:
– \documentclass[slidesonly]{seminar}
– \documentclass[notesonly]{seminar}
• Một số các slides và các chú thích đi kèm có thể được chuyển
thành một article bằng tùy biếnarticle:
Previous Next First Last Back Index
207
\documentclass[article]{seminar}
Tạo Slides
Ghi chú
• Bất cứ đoạn văn nào nằm ngoài môi trường slide hoặc slide* đều
được coi là chú thích.
• Có thể in hoặc hiển thị riêng chú thích hoặc slides:
– \documentclass[slidesonly]{seminar}
– \documentclass[notesonly]{seminar}
• Một số các slides và các chú thích đi kèm có thể được chuyển
thành một article bằng tùy biếnarticle:
Previous Next First Last Back Index
207
\documentclass[article]{seminar}
Tạo Slides
Ghi chú
• Bất cứ đoạn văn nào nằm ngoài môi trường slide hoặc slide* đều
được coi là chú thích.
• Có thể in hoặc hiển thị riêng chú thích hoặc slides:
– \documentclass[slidesonly]{seminar}
– \documentclass[notesonly]{seminar}
• Một số các slides và các chú thích đi kèm có thể được chuyển
thành một article bằng tùy biếnarticle:
Previous Next First Last Back Index
207
\documentclass[article]{seminar}
Tạo Slides
Khung của Slide
• Khung của Slide có thể được thay đổi bằng lệnh \slideframe{style}. Có hai kiểu thường dùng:
– none (no frame)
– plain (plain rectangle).
• Gói fancybox định nghĩa các kiểu khác:
– shadow
– double
– oval
– Oval.
Previous Next First Last Back Index
208
• Ví dụ: \slideframe{none}
Tạo Slides
Khung của Slide
• Khung của Slide có thể được thay đổi bằng lệnh \slideframe{style}. Có hai kiểu thường dùng:
– none (no frame)
– plain (plain rectangle).
• Gói fancybox định nghĩa các kiểu khác:
– shadow
– double
– oval
– Oval.
Previous Next First Last Back Index
208
• Ví dụ: \slideframe{none}
Tạo Slides
Khung của Slide
• Khung của Slide có thể được thay đổi bằng lệnh \slideframe{style}. Có hai kiểu thường dùng:
– none (no frame)
– plain (plain rectangle).
• Gói fancybox định nghĩa các kiểu khác:
– shadow
– double
– oval
– Oval.
Previous Next First Last Back Index
208
• Ví dụ: \slideframe{none}
Tạo Slides
Khung Slide
• Khung slide có thể được thay đổi bằng lệnh \slideframe{style}.
Có hai kiểu chuẩn:
– none (no frame)
– plain (plain rectangle).
• Gói fancyboxđịnh nghĩa các kiểu khung khác:
– shadow
– double
– oval
– Oval.
Previous Next First Last Back Index
209
• Example: \slideframe{plain}
Tạo Slides
Khung Slide
(cid:39) (cid:36)
• Khung slide có thể được thay đổi bằng lệnh \slideframe{style}.
Có hai kiểu chuẩn:
– none (no frame)
– plain (plain rectangle).
• Gói fancyboxđịnh nghĩa các kiểu khung khác:
– shadow
– double
– oval
– Oval.
• Example: \slideframe{plain}
Previous Next First Last Back Index
210
(cid:38) (cid:37)
Tạo Slides
Slide Frames
• Khung slide có thể được thay đổi bằng lệnh \slideframe{style}.
Có hai kiểu chuẩn:
– none (no frame)
– plain (plain rectangle).
• Gói fancyboxđịnh nghĩa các kiểu khung khác:
– shadow
– double
– oval
– Oval.
Previous Next First Last Back Index
211
• Example: \slideframe{plain}
Tạo Slides
Khung Slide
• Khung slide có thể được thay đổi bằng lệnh \slideframe{style}.
Có hai kiểu chuẩn:
– none (no frame)
– plain (plain rectangle).
• Gói fancyboxđịnh nghĩa các kiểu khung khác:
– shadow
– double
– oval
– Oval.
Previous Next First Last Back Index
212
• Example: \slideframe{plain}
Tạo Slides
Định nghĩa các kiểu mới
• Lớp seminar cho phép định nghĩa các kiểu mới bằng lệnh:
\newpagestyle{name}{header}{footer}
• Ví dụ:
\newpagestyle{csedlatex}{}{% \textsc{Introductory \LaTeX}\hfill\thepage}
Previous Next First Last Back Index
213
\pagestyle{csedlatex}
Tạo Slides
Bài tập 20 (trang 22)
• Tạo ra văn bản của các slides dùng trong khóa học này.
• Thử nghiệm các slide có khung, với các kiểu khác nhau.
• Thêm các chú thích vào các slides.
• Thử article option.
• Với tùy biển article, tiêu để của slide được hiển thị theo lệnh:
Previous Next First Last Back Index
214
\slidestyle{style}. Các tùy biến có thể: empty, left, bottom. Thử nghiệm với tùy biến này của slides.
Môi trường mới
Định nghĩa môi trường mới
\newenvironment{env-name}[n][default]{begin-code}{end-code}
• First item
• Second item
\newenvironment{bfitemize}% {\begin{bfseries}\begin{itemize}}% {\end{itemize}\end{bfseries}}
Output
\begin{bfitemize} \item First item \item Second item \end{bfitemize}
Input
Previous Next First Last Back Index
215
Môi trường mới có thể được định nghĩa bằng
Môi trường mới
Ví dụ một môi trường có tham số
\newsavebox{\fminibox}
\newenvironment{fminipage}[2][c]% {\begin{lrbox}{\fminibox}\begin{minipage}[#1]{#2}}% {\end{minipage}\end{lrbox}% \shadowbox{\usebox{\fminibox}}}
Input
Some text in a 1.5 inch framed minipage
\begin{fminipage}{1.5in} Some text in a 1.5 inch framed minipage \end{fminipage}
Output
Input
Previous Next First Last Back Index
216
Môi trường mới
Bài tập 21 (trang 22)
• Tạo ra một môi trường mới exercise kẻ một đường thẵng ngang ở đầu
và ở cuối của môi trường. Ví dụ đoạn mã sau:
\begin{exercise} Some text. \end{exercise}
sẽ hiển thị thành:
Some text.
• Nếu môi trường có một ngắt đoạn ở trước, sẽ có một khoảng cách nhỏ trước đươgf ngang đầu tiên do ngắt đoạn này. Có thể bỏ quan bằng lệnh: \noindent.
Previous Next First Last Back Index
217
Các con đếm
Con đếm
• Là các biến nguyên có giá trị tăng dần.
• Các lệnh: \chapter, \section, \footnote, \caption đều có
các con đếm tương ứng.
• Các môi trường equation, enumerate. đều có các con đếm tương
ứng.
• Định nghĩa một con đếm mới:
\newcounter{ctr-name}[outer-ctr]
Ví dụ: \newcounter{exercise}.
• Khởi tạo lại một con đếm khi con đếm khác tăng 1 đơn vị:
Previous Next First Last Back Index
218
\newcounter{exercise}[chapter]
Các con đếm
Con đếm
• Là các biến nguyên có giá trị tăng dần.
• Các lệnh: \chapter, \section, \footnote, \caption đều có
các con đếm tương ứng.
• Các môi trường equation, enumerate. đều có các con đếm tương
ứng.
• Định nghĩa một con đếm mới:
\newcounter{ctr-name}[outer-ctr]
Ví dụ: \newcounter{exercise}.
• Khởi tạo lại một con đếm khi con đếm khác tăng 1 đơn vị:
Previous Next First Last Back Index
218
\newcounter{exercise}[chapter]
Các con đếm
Con đếm
• Là các biến nguyên có giá trị tăng dần.
• Các lệnh: \chapter, \section, \footnote, \caption đều có
các con đếm tương ứng.
• Các môi trường equation, enumerate. đều có các con đếm tương
ứng.
• Định nghĩa một con đếm mới:
\newcounter{ctr-name}[outer-ctr]
Ví dụ: \newcounter{exercise}.
• Khởi tạo lại một con đếm khi con đếm khác tăng 1 đơn vị:
Previous Next First Last Back Index
218
\newcounter{exercise}[chapter]
Các con đếm
Con đếm
• Là các biến nguyên có giá trị tăng dần.
• Các lệnh: \chapter, \section, \footnote, \caption đều có
các con đếm tương ứng.
• Các môi trường equation, enumerate. đều có các con đếm tương
ứng.
• Định nghĩa một con đếm mới:
\newcounter{ctr-name}[outer-ctr]
Ví dụ: \newcounter{exercise}.
• Khởi tạo lại một con đếm khi con đếm khác tăng 1 đơn vị:
Previous Next First Last Back Index
218
\newcounter{exercise}[chapter]
Các con đếm
Con đếm
• Là các biến nguyên có giá trị tăng dần.
• Các lệnh: \chapter, \section, \footnote, \caption đều có
các con đếm tương ứng.
• Các môi trường equation, enumerate. đều có các con đếm tương
ứng.
• Định nghĩa một con đếm mới:
\newcounter{ctr-name}[outer-ctr]
Ví dụ: \newcounter{exercise}.
• Khởi tạo lại một con đếm khi con đếm khác tăng 1 đơn vị:
Previous Next First Last Back Index
218
\newcounter{exercise}[chapter]
Các con đếm
Thay đổi giá trị của con đếm
• \stepcounter{ctr} tăng giá trị của con đếm 1 đơn vị.
• \refstepcounter{ctr} giống như trên, nhưng cho phép tham
chiếu tới con đếm dùng \ref và \label.
• \setcounter{ctr}{value} gán giá trị value cho con đếm.
• \addtocounter{ctr}{value} thêm value vào con đếm.
• \value{ctr} Tạo ra các giá trị để dùng trong lệnh \setcounter
Previous Next First Last Back Index
219
và \addtocounter.
Các con đếm
Hiển thị giá trị của con đếm
• Lệnh \thectr hiển thị giá trị của con đếm ctr. Ví dụ:
– \thepage hiển thị giá trị của con đếmpage.
– \thesection hiển thị giá trị của con đếm section counter.
– \theslide hiển thị giá trị của con đếm slide counter.
Output
Input
This is slide number 220 This is slide number \theslide
• Mặc định lệnh \thectr hiển thị bằng số ả rập.
• \thectr có thể định nghĩa lại bằng \renewcommand để hiển thị
Previous Next First Last Back Index
220
theo dạng khác.
Các con đếm
Hiển thị giá trị của con đếm
• Lệnh \thectr hiển thị giá trị của con đếm ctr. Ví dụ:
– \thepage hiển thị giá trị của con đếmpage.
– \thesection hiển thị giá trị của con đếm section counter.
– \theslide hiển thị giá trị của con đếm slide counter.
Output
Input
This is slide number 220 This is slide number \theslide
• Mặc định lệnh \thectr hiển thị bằng số ả rập.
• \thectr có thể định nghĩa lại bằng \renewcommand để hiển thị
Previous Next First Last Back Index
220
theo dạng khác.
Các con đếm
Hiển thị giá trị của con đếm
• Lệnh \thectr hiển thị giá trị của con đếm ctr. Ví dụ:
– \thepage hiển thị giá trị của con đếmpage.
– \thesection hiển thị giá trị của con đếm section counter.
– \theslide hiển thị giá trị của con đếm slide counter.
Output
Input
This is slide number 220 This is slide number \theslide
• Mặc định lệnh \thectr hiển thị bằng số ả rập.
• \thectr có thể định nghĩa lại bằng \renewcommand để hiển thị
Previous Next First Last Back Index
220
theo dạng khác.
Các con đếm
Hiển thị giá trị của con đếm
• Lệnh \thectr hiển thị giá trị của con đếm ctr. Ví dụ:
– \thepage hiển thị giá trị của con đếmpage.
– \thesection hiển thị giá trị của con đếm section counter.
– \theslide hiển thị giá trị của con đếm slide counter.
Output
Input
This is slide number 220 This is slide number \theslide
• Mặc định lệnh \thectr hiển thị bằng số ả rập.
• \thectr có thể định nghĩa lại bằng \renewcommand để hiển thị
Previous Next First Last Back Index
220
theo dạng khác.
Các con đếm
Hiển thị giá trị của con đếm
• Lệnh \thectr hiển thị giá trị của con đếm ctr. Ví dụ:
– \thepage hiển thị giá trị của con đếmpage.
– \thesection hiển thị giá trị của con đếm section counter.
– \theslide hiển thị giá trị của con đếm slide counter.
Output
Input
This is slide number 220 This is slide number \theslide
• Mặc định lệnh \thectr hiển thị bằng số ả rập.
• \thectr có thể định nghĩa lại bằng \renewcommand để hiển thị
Previous Next First Last Back Index
220
theo dạng khác.
Các con đếm
Hiển thị giá trị của con đếm
• Lệnh \thectr hiển thị giá trị của con đếm ctr. Ví dụ:
– \thepage hiển thị giá trị của con đếmpage.
– \thesection hiển thị giá trị của con đếm section counter.
– \theslide hiển thị giá trị của con đếm slide counter.
Output
Input
This is slide number 220 This is slide number \theslide
• Mặc định lệnh \thectr hiển thị bằng số ả rập.
• \thectr có thể định nghĩa lại bằng \renewcommand để hiển thị
Previous Next First Last Back Index
220
theo dạng khác.
Các con đếm
Dạng số đếm chuẩn
• \arabic{ctr} hiển thị ctrbằng số ả rập
• \roman{ctr} hiển thị ctr bằng số la mã thường
• \Roman{ctr} hiển thị ctr bằng số La mã hoa
• \alph{ctr} hiển thị ctr bằng các chữ cái (giá trị con đếm cần nhỏ
hơn 26)
• \Alph{ctr} hiển thị ctr bằng các chữ cái hoa (giá trị con đếm cần
nhỏ hơn 26)
• \fnsymbol{ctr} hiển thị ctr giống các chú thích nhỏ. (chỉ dùng
trong chế độ công thư)
Previous Next First Last Back Index
221
Chỉ nên dùng các lệnh này khi thay đổi lệnh \thectr
Các con đếm
Ví dụ
• \thechapter hiển thị giá trị con đểm chapter .
• \renewcommand{\thechapter}{\Roman{chapter}}
định nghĩa lại \thechapter để hiển thị số trang bằng chữ số La mã hoa.
• \renewcommand{\thefootnote}{\alph{footnote}} hiển thị số thứ tự chú thích bằng chữ cái thường.
• \newcounter{lemma}[section]
định nghĩa số đếm mới cho các bổ đề, khởi động lại mỗi section.
• \renewcommand{\thelemma}{\thesection.\arabic{lemma}}
Previous Next First Last Back Index
222
Hiển thị bổ đề theo dạng 4.3
Các con đếm
Ví dụ
• \thechapter hiển thị giá trị con đểm chapter .
• \renewcommand{\thechapter}{\Roman{chapter}}
định nghĩa lại \thechapter để hiển thị số trang bằng chữ số La mã hoa.
• \renewcommand{\thefootnote}{\alph{footnote}} hiển thị số thứ tự chú thích bằng chữ cái thường.
• \newcounter{lemma}[section]
định nghĩa số đếm mới cho các bổ đề, khởi động lại mỗi section.
• \renewcommand{\thelemma}{\thesection.\arabic{lemma}}
Previous Next First Last Back Index
222
Hiển thị bổ đề theo dạng 4.3
Các con đếm
Ví dụ
• \thechapter hiển thị giá trị con đểm chapter .
• \renewcommand{\thechapter}{\Roman{chapter}}
định nghĩa lại \thechapter để hiển thị số trang bằng chữ số La mã hoa.
• \renewcommand{\thefootnote}{\alph{footnote}} hiển thị số thứ tự chú thích bằng chữ cái thường.
• \newcounter{lemma}[section]
định nghĩa số đếm mới cho các bổ đề, khởi động lại mỗi section.
• \renewcommand{\thelemma}{\thesection.\arabic{lemma}}
Previous Next First Last Back Index
222
Hiển thị bổ đề theo dạng 4.3
Các con đếm
Ví dụ
• \thechapter hiển thị giá trị con đểm chapter .
• \renewcommand{\thechapter}{\Roman{chapter}}
định nghĩa lại \thechapter để hiển thị số trang bằng chữ số La mã hoa.
• \renewcommand{\thefootnote}{\alph{footnote}} hiển thị số thứ tự chú thích bằng chữ cái thường.
• \newcounter{lemma}[section]
định nghĩa số đếm mới cho các bổ đề, khởi động lại mỗi section.
• \renewcommand{\thelemma}{\thesection.\arabic{lemma}}
Previous Next First Last Back Index
222
Hiển thị bổ đề theo dạng 4.3
Các con đếm
Ví dụ
• \thechapter hiển thị giá trị con đểm chapter .
• \renewcommand{\thechapter}{\Roman{chapter}}
định nghĩa lại \thechapter để hiển thị số trang bằng chữ số La mã hoa.
• \renewcommand{\thefootnote}{\alph{footnote}} hiển thị số thứ tự chú thích bằng chữ cái thường.
• \newcounter{lemma}[section]
định nghĩa số đếm mới cho các bổ đề, khởi động lại mỗi section.
• \renewcommand{\thelemma}{\thesection.\arabic{lemma}}
Previous Next First Last Back Index
222
Hiển thị bổ đề theo dạng 4.3
Các con đếm
Định dạng con đếm bổ sung(gói datetime)
Gói datetime cung cấp các lệnh sau đây để hiển thị con đếm:
\ordinal{counter}
Display the value of counter as an ordinal
\ordinalstring{counter}
Display the value of counter as an ordinal written out in full
\Ordinalstring{counter}
As above, but with the initial letters in uppercase
\numberstring{counter}
Display the value of counter as a string
\Numberstring{counter}
Previous Next First Last Back Index
223
As above but with the initial letter in uppercase
Các con đếm
Ví dụ
Output
Input
224th \ordinal{slide}
Output
Input
two hundred and twenty-fourth \ordinalstring{slide}
Output
Input
Two Hundred and Twenty-Fourth \Ordinalstring{slide}
Output
Input
two hundred and twenty-four \numberstring{slide}
Output
Input
Previous Next First Last Back Index
224
Two Hundred and Twenty-Four \Numberstring{slide}
Các con đếm
Định dạng con đếm mở rộng (Gói datetime v2.4)
Version 2.4 của datetime bổ sung thêm các lệnh sau đây:
\binary{counter}
hiển thị giá trị của counter bằng số nhị phân
\octal{counter}
hiển thị giá trị của counter bằng hệ octan
\hexadecimal{counter}
hiển thị giá trị của counter bằng số thập lục phân
\aaalph{counter}
hiển thị giá trị của counter bằng dạng: a . . . z aa . . . zz aaa . . .
\abalph{counter}
Previous Next First Last Back Index
225
hiển thị giá trị của con đếm counter dưới dạng: a . . . z aa ab . . . az ba bb . . .
Các con đếm
Ví dụ
Output
Input
11100010 \binary{slide}
Output
Input
342 \octal{slide}
Output
Input
e2 \hexadecimal{slide}
Output
Input
rrrrrrrrr \aaalph{slide}
Output
Input
Previous Next First Last Back Index
226
hr \abalph{slide}
Các con đếm
Con đếm của các danh sách
4 tầng enumerate có thể lồng nhau. Mỗi tầng có một con đếm riêng biệt:
Counter Representation Default Example
1 enumi \theenumi \arabic{enumi}
1. \labelenumi \theenumi.
a enumii \theenumii \alph{enumii}
a) \labelenumii \theenumii)
i enumiii \theenumiii \roman{enumiii}
i. \labelenumiii \theenumiii.
A enumiv \theenumiv \Alph{enumiv}
Previous Next First Last Back Index
227
A. \labelenumiv \theenumiv.
Các con đếm
Thay đổi định dạng con đếm enumerate
Input
\renewcommand{\theenumi}{\Roman{enumi}}
I. First item
II. Second item
Item I . . .
Output
Input
Previous Next First Last Back Index
228
\begin{enumerate} \item\label{itm:first} First item \item Second item \end{enumerate} Item~\ref{itm:first} \ldots
Các con đếm
Thay đổi nhãn của enumerate
Input
\renewcommand{\labelenumi}{\#\theenumi}
#1 First item
#2 Second item
Item 1 . . .
Output
Input
Previous Next First Last Back Index
229
\begin{enumerate} \item\label{itm:first} First item \item Second item \end{enumerate} Item~\ref{itm:first} \ldots
Các con đếm
Thay đổi định dạng của enumerate
Input
\renewcommand{\theenumi}{\Numberstring{enumi}} \renewcommand{\labelenumi}{\theenumi:}
One: First item
Two: Second item
Item One . . .
Output
Input
Previous Next First Last Back Index
230
\begin{enumerate} \item\label{itm:first} First item \item Second item \end{enumerate} Item~\ref{itm:first} \ldots
Các con đếm
Bài tập 22 (trang 23)
• Thay đổi môi trường tạo ra trong bài tập 21 để đoạn mã sau:
\begin{exercise} Some text. \end{exercise}
hiển thị thành:
Some text.
• Giá trị của con đếm khởi tạo lại mỗi bài tập.
• Tham chiếu sử dụng \label và \ref.
Previous Next First Last Back Index
231
Exercise 1
Các lệnh điều kiện
Các lệnh điều kiện
• Giống các ngôn ngữ lập trình khác, TEX có các cấu trúc điều kiện.
• Câu lệnh điều kiện của TEX có dạng:
\iftype . . . \else . . . \fi
• Đã sử dụng (ifpdf package): \ifpdf . . . \else . . . \fi
• Lệnh \ifcase giống lệnh switch trong C. Ví dụ:
Previous Next First Last Back Index
232
\ifcase\month \or Jan\or Feb\or Mar\or Apr\or May\or Jun\or Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
Các lệnh điều kiện
Các lệnh điều kiện
• Giống các ngôn ngữ lập trình khác, TEX có các cấu trúc điều kiện.
• Câu lệnh điều kiện của TEX có dạng:
\iftype . . . \else . . . \fi
• Đã sử dụng (ifpdf package): \ifpdf . . . \else . . . \fi
• Lệnh \ifcase giống lệnh switch trong C. Ví dụ:
Previous Next First Last Back Index
232
\ifcase\month \or Jan\or Feb\or Mar\or Apr\or May\or Jun\or Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
Các lệnh điều kiện
Các lệnh điều kiện
• Giống các ngôn ngữ lập trình khác, TEX có các cấu trúc điều kiện.
• Câu lệnh điều kiện của TEX có dạng:
\iftype . . . \else . . . \fi
• Đã sử dụng (ifpdf package): \ifpdf . . . \else . . . \fi
• Lệnh \ifcase giống lệnh switch trong C. Ví dụ:
Previous Next First Last Back Index
232
\ifcase\month \or Jan\or Feb\or Mar\or Apr\or May\or Jun\or Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
Các lệnh điều kiện
Các lệnh điều kiện
• Giống các ngôn ngữ lập trình khác, TEX có các cấu trúc điều kiện.
• Câu lệnh điều kiện của TEX có dạng:
\iftype . . . \else . . . \fi
• Đã sử dụng (ifpdf package): \ifpdf . . . \else . . . \fi
• Lệnh \ifcase giống lệnh switch trong C. Ví dụ:
Previous Next First Last Back Index
232
\ifcase\month \or Jan\or Feb\or Mar\or Apr\or May\or Jun\or Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
Các lệnh điều kiện
Ví dụ về (\ifpdf và \pdfinfo)
• \ifpdf thường dùng đi đôi với \pdfinfo.
• Lệnh \pdfinfo định nghĩa trong PDFLATEX không trong LATEX.
\ifpdf
\pdfinfo{
/Title (A Sample Document) /Author (Nicola Talbot) /CreationDate (D:20040930140000) /ModDate (D:\pdfdate) /Subject (LaTeX Example)
}
Previous Next First Last Back Index
233
\fi
Các lệnh điều kiện
Gói ifthen
• Gói ifthen (by Leslie Lamport, extended by David Carlisle) định
nghĩa các lệnh điều kiện:
– \ifthenelse{test}{then text}{else text}
– \whiledo{test}{do text}
• Tham số test là biểu thức logic.
• Nếu test là true, then text hay do text sẽ được thực hiện.
• Nếu test là false, else text được thực hiện, hoặc khi dùng
\whiledo, vòng lặp kết thúc.
Previous Next First Last Back Index
234
• Đơn giản hơn các lệnh của TEX .
Các lệnh điều kiện
Gói ifthen
• Gói ifthen (by Leslie Lamport, extended by David Carlisle) định
nghĩa các lệnh điều kiện:
– \ifthenelse{test}{then text}{else text}
– \whiledo{test}{do text}
• Tham số test là biểu thức logic.
• Nếu test là true, then text hay do text sẽ được thực hiện.
• Nếu test là false, else text được thực hiện, hoặc khi dùng
\whiledo, vòng lặp kết thúc.
Previous Next First Last Back Index
234
• Đơn giản hơn các lệnh của TEX .
Các lệnh điều kiện
Gói ifthen
• Gói ifthen (by Leslie Lamport, extended by David Carlisle) định
nghĩa các lệnh điều kiện:
– \ifthenelse{test}{then text}{else text}
– \whiledo{test}{do text}
• Tham số test là biểu thức logic.
• Nếu test là true, then text hay do text sẽ được thực hiện.
• Nếu test là false, else text được thực hiện, hoặc khi dùng
\whiledo, vòng lặp kết thúc.
Previous Next First Last Back Index
234
• Đơn giản hơn các lệnh của TEX .
Các lệnh điều kiện
Gói ifthen
• Gói ifthen (by Leslie Lamport, extended by David Carlisle) định
nghĩa các lệnh điều kiện:
– \ifthenelse{test}{then text}{else text}
– \whiledo{test}{do text}
• Tham số test là biểu thức logic.
• Nếu test là true, then text hay do text sẽ được thực hiện.
• Nếu test là false, else text được thực hiện, hoặc khi dùng
\whiledo, vòng lặp kết thúc.
Previous Next First Last Back Index
234
• Đơn giản hơn các lệnh của TEX .
Các lệnh điều kiện
Gói ifthen
• Gói ifthen (by Leslie Lamport, extended by David Carlisle) định
nghĩa các lệnh điều kiện:
– \ifthenelse{test}{then text}{else text}
– \whiledo{test}{do text}
• Tham số test là biểu thức logic.
• Nếu test là true, then text hay do text sẽ được thực hiện.
• Nếu test là false, else text được thực hiện, hoặc khi dùng
\whiledo, vòng lặp kết thúc.
Previous Next First Last Back Index
234
• Đơn giản hơn các lệnh của TEX .
Các lệnh điều kiện
Các lệnh logic
• Các biến được định nghĩa bằng:
\newboolean{name}
trong đó name (no backslash) là tên biến mới.
• Gán giá trị bằng lệnh
\setboolean{name}{value}
trogn đó name tên biến, còn value là true hoặc false.
• Giá trị của biến Boolean có thể được sử dụng:
Previous Next First Last Back Index
235
\boolean{name}
Các lệnh điều kiện
Các lệnh logic
• Các biến được định nghĩa bằng:
\newboolean{name}
trong đó name (no backslash) là tên biến mới.
• Gán giá trị bằng lệnh
\setboolean{name}{value}
trogn đó name tên biến, còn value là true hoặc false.
• Giá trị của biến Boolean có thể được sử dụng:
Previous Next First Last Back Index
235
\boolean{name}
Các lệnh điều kiện
Các lệnh logic
• Các biến được định nghĩa bằng:
\newboolean{name}
trong đó name (no backslash) là tên biến mới.
• Gán giá trị bằng lệnh
\setboolean{name}{value}
trogn đó name tên biến, còn value là true hoặc false.
• Giá trị của biến Boolean có thể được sử dụng:
Previous Next First Last Back Index
235
\boolean{name}
Các lệnh điều kiện
Ví dụ
• Dạy cùng môn học co 2 lớp. Slide, note không thay đổi, chỉ có
thời gian thay đổi.
• Giả sử một lóp học thứ sau, 9:00AM và và thứ năm 13:00am.
• Định nghĩa biến logic
\newboolean{friday}
• Định nghĩa giá trị của biến. e.g.:
\setboolean{friday}{true}
• Can now use \ifthenelse and \boolean:
Previous Next First Last Back Index
236
Classes are on \ifthenelse{\boolean{friday}}{Fridays}{Mondays} at \ifthenelse{\boolean{friday}}{9:00am}{10:00am}.
Các lệnh điều kiện
Ví dụ
• Tất cả các lệnh có điều kiện của TEX như \ifpdf có giá trị tương
ứng, such as pdf.
• \ifthenelse đơn giản hơn câu lệnh bậc thấp \ifpdf etc.
• Đoạn earlier example có thể viêt thành:
Output
A PDFLATEX docu- ment
Input
Previous Next First Last Back Index
237
\ifthenelse{\boolean{pdf}}{% A PDF\LaTeX\ document }{% A \LaTeX\ document }
Các lệnh điều kiện
Kiểm tra văn bản Text
• so sánh cai câu, dùng:
\equal{string 1}{string 2}
• Ví dụ:
The work is written in \ifthenelse{\equal{\lang}{English}}
{English} {another language}
Nếu \lang có giá trị English, đầu ra:
The work is written in English.
Output
If \lang has been defined as something else:
The work is written in another language.
Output
Previous Next First Last Back Index
238
Các lệnh điều kiện
Các số kiểm tra
• Các số có thể được cấp từ <, = and >
• Giá trị các counter bằng:\value{name}
• Ví dụ:
This \ifthenelse{\value{page}=42}{is}{isn’t} my favourite page.
• To test whether a number is odd or even use
\isodd{value}
• Example:
Previous Next First Last Back Index
239
This page is an \ifthenelse{\isodd{\value{page}}}{odd}{even} numbered page.
Các lệnh điều kiện
\whiledo bài tập
\newcounter{lines} \whiledo{\value{lines}<6}
{I will hand my homework in on time.\par
Input
\stepcounter{lines}}
Output
Previous Next First Last Back Index
240
I will hand my homework in on time. I will hand my homework in on time. I will hand my homework in on time. I will hand my homework in on time. I will hand my homework in on time. I will hand my homework in on time.
Các lệnh điều kiện
Kiểm tra chiều dài
• Các chiều dài do các câu lệnh sau cung cấp
\lengthtest{relation}
• Ví dụ:
This page is in \ifthenelse{\lengthtest{\textwidth > \textheight}}
Input
{landscape} {portrait}
Input
Previous Next First Last Back Index
241
This page is in landscape
Viết các gói mới và các lớp mới
Viết gói LATEX
• Tên file phải tuân theo chuẩn của HĐH với phần mở rộng .sty .
• Các gói đều bắt đầu bằng dòng sau
\NeedsTeXFormat{LaTeX2e}
• Chỉ ra tên của gói bằng
\ProvidesPackage{name}[version]
Ví dụ nếu file tên trunghq.
\ProvidesPackage{trunghq}
Có thể chỉ ra version trong các tham số thêm:
\ProvidesPackage{example}[2004/05/21 v1.0 (A.N. Other)]
Previous Next First Last Back Index
242
• Dòng cuối cùng của fiel cần là \endinput
Viết các gói mới và các lớp mới
Viết gói LATEX
• Tên file phải tuân theo chuẩn của HĐH với phần mở rộng .sty .
• Các gói đều bắt đầu bằng dòng sau
\NeedsTeXFormat{LaTeX2e}
• Chỉ ra tên của gói bằng
\ProvidesPackage{name}[version]
Ví dụ nếu file tên trunghq.
\ProvidesPackage{trunghq}
Có thể chỉ ra version trong các tham số thêm:
\ProvidesPackage{example}[2004/05/21 v1.0 (A.N. Other)]
Previous Next First Last Back Index
242
• Dòng cuối cùng của fiel cần là \endinput
Viết các gói mới và các lớp mới
Viết gói LATEX
• Tên file phải tuân theo chuẩn của HĐH với phần mở rộng .sty .
• Các gói đều bắt đầu bằng dòng sau
\NeedsTeXFormat{LaTeX2e}
• Chỉ ra tên của gói bằng
\ProvidesPackage{name}[version]
Ví dụ nếu file tên trunghq.
\ProvidesPackage{trunghq}
Có thể chỉ ra version trong các tham số thêm:
\ProvidesPackage{example}[2004/05/21 v1.0 (A.N. Other)]
Previous Next First Last Back Index
242
• Dòng cuối cùng của fiel cần là \endinput
Viết các gói mới và các lớp mới
Viết gói LATEX
• Tên file phải tuân theo chuẩn của HĐH với phần mở rộng .sty .
• Các gói đều bắt đầu bằng dòng sau
\NeedsTeXFormat{LaTeX2e}
• Chỉ ra tên của gói bằng
\ProvidesPackage{name}[version]
Ví dụ nếu file tên trunghq.
\ProvidesPackage{trunghq}
Có thể chỉ ra version trong các tham số thêm:
\ProvidesPackage{example}[2004/05/21 v1.0 (A.N. Other)]
Previous Next First Last Back Index
242
• Dòng cuối cùng của fiel cần là \endinput
Viết các gói mới và các lớp mới
Viết gói LATEX
• Tên file phải tuân theo chuẩn của HĐH với phần mở rộng .sty .
• Các gói đều bắt đầu bằng dòng sau
\NeedsTeXFormat{LaTeX2e}
• Chỉ ra tên của gói bằng
\ProvidesPackage{name}[version]
Ví dụ nếu file tên trunghq.
\ProvidesPackage{trunghq}
Có thể chỉ ra version trong các tham số thêm:
\ProvidesPackage{example}[2004/05/21 v1.0 (A.N. Other)]
Previous Next First Last Back Index
242
• Dòng cuối cùng của fiel cần là \endinput
Viết các gói mới và các lớp mới
Viết gói LATEX
• Tên file phải tuân theo chuẩn của HĐH với phần mở rộng .sty .
• Các gói đều bắt đầu bằng dòng sau
\NeedsTeXFormat{LaTeX2e}
• Chỉ ra tên của gói bằng
\ProvidesPackage{name}[version]
Ví dụ nếu file tên trunghq.
\ProvidesPackage{trunghq}
Có thể chỉ ra version trong các tham số thêm:
\ProvidesPackage{example}[2004/05/21 v1.0 (A.N. Other)]
Previous Next First Last Back Index
242
• Dòng cuối cùng của fiel cần là \endinput
Viết các gói mới và các lớp mới
Ví dụ
Đây là một gói rất đơn giản. Định nghĩa lại lệnh \todayđể hiển thị ngày dưới dạng 21-5-2006.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{vardate}[2006/05/21 v1.0 (H.Q Trung)]
\renewcommand{\today}{\the\day-\the\month-\the\year}
vardate.sty
Previous Next First Last Back Index
243
\endinput
Viết các gói mới và các lớp mới
Tham số của gói
• Một số gói (v.d. graphicx) có các tham số được truyền vào gói
• Các tham số mới có thể được định nghĩa bằng
\DeclareOption{option}{code}
trong đó option là giới hạn của cáo code. Vậy LATEX có thể thực hiện khi có tham số này .
• Thao tác mặc định với các tham số chưa định nghĩa được khai báo bằng
\DeclareOption*{code}
Trong code, các lệnh sau có thể được sử dụng:
tên của tham số
\CurrentOption
\OptionNotUsed Đánh dấu tham số chưa xử lý.
Previous Next First Last Back Index
244
Viết các gói mới và các lớp mới
Tham số của gói
• Một số gói (v.d. graphicx) có các tham số được truyền vào gói
• Các tham số mới có thể được định nghĩa bằng
\DeclareOption{option}{code}
trong đó option là giới hạn của cáo code. Vậy LATEX có thể thực hiện khi có tham số này .
• Thao tác mặc định với các tham số chưa định nghĩa được khai báo bằng
\DeclareOption*{code}
Trong code, các lệnh sau có thể được sử dụng:
tên của tham số
\CurrentOption
\OptionNotUsed Đánh dấu tham số chưa xử lý.
Previous Next First Last Back Index
244
Viết các gói mới và các lớp mới
Tham số của gói
• Một số gói (v.d. graphicx) có các tham số được truyền vào gói
• Các tham số mới có thể được định nghĩa bằng
\DeclareOption{option}{code}
trong đó option là giới hạn của cáo code. Vậy LATEX có thể thực hiện khi có tham số này .
• Thao tác mặc định với các tham số chưa định nghĩa được khai báo bằng
\DeclareOption*{code}
Trong code, các lệnh sau có thể được sử dụng:
tên của tham số
\CurrentOption
\OptionNotUsed Đánh dấu tham số chưa xử lý.
Previous Next First Last Back Index
244
Viết các gói mới và các lớp mới
Tham số của gói
• Các lệnh được xử lý bằng
danh sách các tham só \ExecuteOptions{options}
xử lý theo thứ tự định nghĩa \ProcessOptions
xử lý theo thứ tự gán giá trị. \ProcessOptions*
• Có thể pass các tham số cho các gói khác:
\PassOptionsToPackage{option list}{package name}
• Có thể tải các gói khác dùng
Previous Next First Last Back Index
245
\RequirePackage{package name}
Viết các gói mới và các lớp mới
Tham số của gói
• Các lệnh được xử lý bằng
danh sách các tham só \ExecuteOptions{options}
xử lý theo thứ tự định nghĩa \ProcessOptions
xử lý theo thứ tự gán giá trị. \ProcessOptions*
• Có thể pass các tham số cho các gói khác:
\PassOptionsToPackage{option list}{package name}
• Có thể tải các gói khác dùng
Previous Next First Last Back Index
245
\RequirePackage{package name}
Viết các gói mới và các lớp mới
Tham số của gói
• Các lệnh được xử lý bằng
danh sách các tham só \ExecuteOptions{options}
xử lý theo thứ tự định nghĩa \ProcessOptions
xử lý theo thứ tự gán giá trị. \ProcessOptions*
• Có thể pass các tham số cho các gói khác:
\PassOptionsToPackage{option list}{package name}
• Có thể tải các gói khác dùng
Previous Next First Last Back Index
245
\RequirePackage{package name}
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Mở rộng gói datetime — vardate.sty
\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vardate}
\RequirePackage{ifthen}
\newboolean{dashdate}
\DeclareOption{dashdate}{\setboolean{dashdate}{true}} \DeclareOption{nodashdate}{\setboolean{dashdate}{false}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime}}
\ExecuteOptions{dashdate} \ProcessOptions
\RequirePackage{datetime}
\newdateformat{dashdate}{\THEDAY-\THEMONTH-\THEYEAR} \ifthenelse{\boolean{dashdate}}{\dashdate}{} \endinput
Previous Next First Last Back Index
246
Viết các gói mới và các lớp mới
Viết các lớp tài liệu
Rất giống viết các gói, nhưng:
• Dùng \ProvidesClass thay cho \ProvidesPackage
• Dùng lệnh
\PassOptionsToClass{options}{class name}
để truyền tham số options vào lớp mà sau đó được tải bằng
Previous Next First Last Back Index
247
\LoadClass{class name}
Viết các gói mới và các lớp mới
Mở rộng lớp report — myrep.cls
\NeedsTeXFormat{LaTeX2e} \ProvidesClass{myrep}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
\ProcessOptions \LoadClass{report} \RequirePackage[margins=1in]{geometry}
Previous Next First Last Back Index
248
\renewcommand{\thechapter}{\Roman{chapter}} \endinput
Viết các gói mới và các lớp mới
@ Commands
• Ký hiệu @ có ý nghĩa khác nhau trong gó và trong lớp
(.cls/.sty), hay trong tài liệu (.tex).
• Trong tài liệu .tex file, @ là ký hiệu, không được dùng cho tên
lệnh. V.d. \c@page sẽ tạo ra: @¸ page.
• Trong lớp .cls or .sty , @ là ký hiệu có thể có trong tên lệnh. V.d. \c@page là lệnh (biểu diễn nội bộ của con đếmpage.)
Previous Next First Last Back Index
249
• Các lệnh có @ là các lệnh nội bộ, chỉ dùng trong các tệp gói và lớp.
Viết các gói mới và các lớp mới
@ Commands
• Ký hiệu @ có ý nghĩa khác nhau trong gó và trong lớp
(.cls/.sty), hay trong tài liệu (.tex).
• Trong tài liệu .tex file, @ là ký hiệu, không được dùng cho tên
lệnh. V.d. \c@page sẽ tạo ra: @¸ page.
• Trong lớp .cls or .sty , @ là ký hiệu có thể có trong tên lệnh. V.d. \c@page là lệnh (biểu diễn nội bộ của con đếmpage.)
Previous Next First Last Back Index
249
• Các lệnh có @ là các lệnh nội bộ, chỉ dùng trong các tệp gói và lớp.
Viết các gói mới và các lớp mới
@ Commands
• Ký hiệu @ có ý nghĩa khác nhau trong gó và trong lớp
(.cls/.sty), hay trong tài liệu (.tex).
• Trong tài liệu .tex file, @ là ký hiệu, không được dùng cho tên
lệnh. V.d. \c@page sẽ tạo ra: @¸ page.
• Trong lớp .cls or .sty , @ là ký hiệu có thể có trong tên lệnh. V.d. \c@page là lệnh (biểu diễn nội bộ của con đếmpage.)
Previous Next First Last Back Index
249
• Các lệnh có @ là các lệnh nội bộ, chỉ dùng trong các tệp gói và lớp.
Viết các gói mới và các lớp mới
@ Commands
• Ký hiệu @ có ý nghĩa khác nhau trong gó và trong lớp
(.cls/.sty), hay trong tài liệu (.tex).
• Trong tài liệu .tex file, @ là ký hiệu, không được dùng cho tên
lệnh. V.d. \c@page sẽ tạo ra: @¸ page.
• Trong lớp .cls or .sty , @ là ký hiệu có thể có trong tên lệnh. V.d. \c@page là lệnh (biểu diễn nội bộ của con đếmpage.)
Previous Next First Last Back Index
249
• Các lệnh có @ là các lệnh nội bộ, chỉ dùng trong các tệp gói và lớp.
Viết các gói mới và các lớp mới
Định nghĩa lại kiểu trang
• Lệnh \pagestyle{style} gọi lệnh \ps@style là một lệnh định
nghĩa lại phần đầu và cuối của một trang.
• Khai báo phần đầu và phần cuối: \@oddhead, \@evenhead,
\@oddfoot và \@evenfoot. Đây là các lệnh cần định nghĩa lại.
• Ví dụ: định nghĩa kiểu trang mới example:
\newcommand{\ps@example}{%
\renewcommand{\@oddhead}{} \renewcommand{\@evenhead}{} \renewcommand{\@oddfoot}{\hfill\thepage} \renewcommand{\@evenfoot}{\thepage\hfill}
Previous Next First Last Back Index
250
}
Viết các gói mới và các lớp mới
Định nghĩa lại kiểu trang
• Lệnh \pagestyle{style} gọi lệnh \ps@style là một lệnh định
nghĩa lại phần đầu và cuối của một trang.
• Khai báo phần đầu và phần cuối: \@oddhead, \@evenhead,
\@oddfoot và \@evenfoot. Đây là các lệnh cần định nghĩa lại.
• Ví dụ: định nghĩa kiểu trang mới example:
\newcommand{\ps@example}{%
\renewcommand{\@oddhead}{} \renewcommand{\@evenhead}{} \renewcommand{\@oddfoot}{\hfill\thepage} \renewcommand{\@evenfoot}{\thepage\hfill}
Previous Next First Last Back Index
250
}
Viết các gói mới và các lớp mới
Định nghĩa lại kiểu trang
• Lệnh \pagestyle{style} gọi lệnh \ps@style là một lệnh định
nghĩa lại phần đầu và cuối của một trang.
• Khai báo phần đầu và phần cuối: \@oddhead, \@evenhead,
\@oddfoot và \@evenfoot. Đây là các lệnh cần định nghĩa lại.
• Ví dụ: định nghĩa kiểu trang mới example:
\newcommand{\ps@example}{%
\renewcommand{\@oddhead}{} \renewcommand{\@evenhead}{} \renewcommand{\@oddfoot}{\hfill\thepage} \renewcommand{\@evenfoot}{\thepage\hfill}
Previous Next First Last Back Index
250
}
Viết các gói mới và các lớp mới
Thay đổi tiêu đề của các section
Tiêu đề của Sections, subsections có thể được thay đổi bằng cách định nghĩa lại \section, \subsection .... Trong các định nghĩa cần sử dụng
\@startsection{type}{level}{indent}{before}{after}{style}
để định dạng tiêu đề.
type Kiểu section. (section, subsection etc)
level Số biểu diễn mức section
indent Indentation từ lề trái
before Cách dòng trước tiêu đề.
after Cách dòng sau tiêu đề.
style Khai báo kiểu được dùng (e.g. \bfseries)
Previous Next First Last Back Index
251
Viết các gói mới và các lớp mới
Ví dụ
Cần thay đổi tiêu đề của section hiển thị bằng font nghieng to:
% the name % the level % the indent % the before skip % the after skip
Previous Next First Last Back Index
252
\renewcommand{\section}{\@startsection {section}% {1}% {0mm}% {-\baselineskip}% {0.5\baselineskip}% {\normalfont\large\itshape}} % the style
Viết các gói mới và các lớp mới
Thay đổi tiêu đề chường
Nếu dùng kiểu report tiêu đề chương có thể được thay đổi bằng cách định nghĩa lại:
• \@makechapterhead cho các chương đánh số(\chapter)
• \@makeschapterhead cho các chương không đánh số
(\chapter*)
Thay đổi tiêu đề của phần:
• \@part cho các phần đánh số (\part)
• \@spart có các phần không đánh số (\part*)
Previous Next First Last Back Index
253
Cách dễ nhất là lấy code từ file lớp cơ bản, sau đó thay đổi theo nhu cầu.
Viết các gói mới và các lớp mới
Ví dụ
Thay đổi tiêu đề chương để có một dòng kẻ trước và sau tiêu đề, tiêu đề hiển thị bằng chữ thường.
\renewcommand{\@makechapterhead}[1]{%
\vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont
% horizontal line % add some vertical space
\hrule \vspace{5pt}% \ifnum \c@secnumdepth >\m@ne
\huge\scshape \@chapapp\space \thechapter % Chapter followed by number \par\nobreak \vskip 20\p@
% chapter title % add some vertical space % horizontal rule
\fi \interlinepenalty\@M \Huge \scshape #1\par \vspace{5pt}% \hrule \nobreak \vskip 40\p@
Previous Next First Last Back Index
254
Viết các gói mới và các lớp mới
}}
Previous Next First Last Back Index
254
Viết các gói mới và các lớp mới
Bài tập 24 (trang 25)
• Viết một lớp tải lớp report và:
– thay đổi tiêu đề chương để có một dòng kẻ trước và sau tiêu
đề, tiêu đề hiển thị bằng chữ thường canh giữa.
– thay đổi tiêu đề section thành font sans-serif lớn.
Previous Next First Last Back Index
255
• Thay đổi tài liệu trong Bài tập 4 dùng kiểu tài liệu mới.
Bibliography
Recommended Reading
[1] “A Guide to LATEX 2ε: document preparation for beginners and
advanced users”, Helmut Kopka and Patrick W. Daly, Addison-Wesley (1995).
[2] “The LATEX Companion”, Michel Goossens, Frank Mittelbach and
Alexander Samarin (Addison-Wesley, 1994).
[3] “The LATEX Graphics Companion”, Michel Goossens, Sebastian
Rahtz and Frank Mittelbach, Addison-Wesley (1997).
[4] “The LATEX Web Companion”, Michel Goossens and Sebastian
Previous Next First Last Back Index
256
Rahtz, Addison-Wesley (1999).
Index
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index
!‘, 110 ’, 110 \’, 112–118 ”, 110 (, 243 \(, 210–215 ), 243 \), 210–215 \,, 110 -, 110 –, 110 –-, 110 ., 243 \., 112 /, 243 =, 476 \=, 67–72, 112 ?‘, 110 @, 507–510 \@evenfoot, 511–513 \@evenhead, 511–513 \@makechapterhead, 516 \@makeschapterhead, 516 \@oddfoot, 511–513 \@oddhead, 511–513 \@part, 516 \@spart, 516 \@startsection, 514 [, 243 \[, 217–222 \#, 108 $, 67–72, 210–215
Previous Next First Last Back Index 257
Index
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
\], 217–222 ], 243 \‘, 112–118 ‘, 110 “, 110
\$, 108 %, 66 \%, 108 &, 195–200 \&, 108 \\, 160, 195–199 _, 224–230, 233 \_, 108 \", 112–118 ^, 224–230 \^, 112–118 ~, 163 \~, 112 \|, 243 |, 201–204, 243 >, 476 <, 476 \{, 108, 243 \}, 108, 243 A, \AA, 119 \aa, 119 \aaalph, 453 \abalph, 453 abstract environment, 135, 150–154 \addtocounter, 438 \addtolength, 320–323 \AE, 119–124 \ae, 119 \Alph, 445 \alph, 445–450 \alpha, 235
Previous Next First Last Back Index 257
Index
\appendix, 138 \approx, 258 \arabic, 445–450 \arccos, 233 \arcsin, 233 \arctan, 233 \arg, 233 array environment, 245 \author, 136, 417
BibTEX, 287, 302, 303, 309–312 \bigcap, 237 \bigcup, 237 \bigodot, 237 \bigoplus, 237 \bigotimes, 237 \bigsqcup, 237 \biguplus, 237 \bigvee, 237 \bigwedge, 237 \binary, 453 \boolean, 470–473, 492–504
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
299–301, B, \b, 112 \backslash, 243 \begin, 81–86 \beta, 235 \bfseries, 95–98, 100, 514 \bibliography, 299–301 \bibliographystyle,
304–308 C, \c, 112 \caption, 398–403, 433–437 \cdots, 249 center environment, 156 \centering, 156
Previous Next First Last Back Index 257
Index
\centerline, 159, 165, 208 \chapter, 133, 138, 150–154, 433–
437, 516
\d, 112 \dag, 108 \dashdate, 492–504 \date, 136, 417 \ddag, 108 \ddots, 249 \DeclareOption, 486–488, 492–
504
\DeclareOption*, 486–488, 492–
504, 506
\chapter*, 516 \chi, 235 \cite, 285, 312 \clearpage, 164 \cline, 201–204 \coprod, 237 \copyright, 108 \cos, 233 \cosh, 233 \cot, 233 \coth, 233 \csc, 233 \CurrentOption, 486–488, 492–
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
504, 506
D, \deg, 233 \Delta, 236 \delta, 235 \det, 233 \diamondpar, 366 \dim, 233 displaymath environment, 217–222, 240–242, 250–255 document environment, 91, 92, 277,
Previous Next First Last Back Index 257
Index
278 equation environment,
\documentclass, 91–93, 126–131,
217–222, 250–255, 259–263, 433– 437
416, 418–420 \doublebox, 355–359 \Downarrow, 243 \downarrow, 243
\eta, 235 \ExecuteOptions, 489–504 exercise environment, 432 \exp, 233 \externaldocument, 271–274
E, \else, 275, 276, 460–463 \em, 100 \emph, 99 \end, 81–86 \endinput, 479–484, 492–504, 506 enumerate environment, 190–192,
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
194, 433–437, 455–458
F, \fbox, 350–359 \fboxrule, 351–354 \fboxsep, 351–354 ffi, 119 ffl, 119 \fi, 275, 276, 460–463 fi, 119 figure environment, 398–403, 406 fl, 119 \epsilon, 235 eqnarray environment, 250–255 eqnarray* environment, 250–255 \equal, 475
Previous Next First Last Back Index 257
Index
flushleft environment, 156 flushright environment, 156 \fnsymbol, 445 \footnote, 433–437 footnotesize environment, 104 \footnotesize, 104 \footskip, 328 \frac, 232, 240–242 \framebox, 350–354
\heartpar, 368, 369 \hexadecimal, 453 \hfill, 511–513 \hline, 201–204 \hoffset, 328 \hom, 233 \href, 275, 276 Huge environment, 104 \Huge, 104 huge environment, 104 \huge, 104
G, \Gamma, 236 \gamma, 235 \gcd, 233
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
I, \i, 108, 113–118 \ifcase, 460–463 \ifpdf, 275, 276, 460–464, 474 \ifthenelse, 465–469, 473, 474,
492–504 \includegraphics, 389–392 H, \H, 112 \headheight, 328 \headsep, 328
Previous Next First Last Back Index 257
Index
\inf, 233 \int, 237 \iota, 235 \isodd, 476 itemize environment, 188, 189, 192,
194
\itshape, 100
J, \j, 108
K, \kappa, 235 \ker, 233
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
L, \L, 119 \l, 119 \label, 259–263, 266, 398–403,
438, 459 \labelenumi, 455 \labelenumii, 455 \labelenumiii, 455 \labelenumiv, 455 \Lambda, 236 \lambda, 235 \landscapeonly, 416 \langle, 243 LARGE environment, 104 \LARGE, 104 Large environment, 104 \Large, 104 large environment, 104 \large, 104 \LaTeX, 87–89, 275, 276 \lceil, 243 \ldots, 108 \left, 240–242 \lengthtest, 478
Previous Next First Last Back Index 257
Index
\marginparsep, 328 \marginparwidth, 328 math environment, 210–215 \max, 233 \mbox, 343–348, 350 \mdseries, 100 \min, 233 minipage environment, 365, 388 \month, 460–463 \mu, 235 \multicolumn, 206
\leq, 258 \lfloor, 243 \lg, 233 \lim, 233 \liminf, 233 \limsup, 233 \linebreak, 161 \listoffigures, 410–413 \listoftables, 410–413 \ln, 233 \LoadClass, 505, 506 \log, 233 lrbox environment, 379–383, 385
N, \NeedsTeXFormat, 479–484, 492–
504, 506
M, \makebox, 343–347, 349, 350, 372–
374, 376
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
\neq, 249 \newboolean, 470–472, 492–504 \newcommand, 166–171, 374, 376, \maketitle, 136, 140–144, 150–
511–513 155, 417
Previous Next First Last Back Index 257
Index
\nutshape, 369
372–374,
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
\newcounter, 433–437, 446–450 \newdateformat, 492–504 \newenvironment, 430 \newlength, 324–326, 376
O, \O, 119 \o, 119 \octal, 453 \oddsidemargin, 328 \OE, 119–124 \oe, 119–124 \oint, 237 \Omega, 236 \omega, 235 \OptionNotUsed, 486–488 \or, 460–463 \ordinal, 451 \Ordinalstring, 451 \ordinalstring, 451 \Ovalbox, 355–359 \ovalbox, 355–359 \newline, 160 \newpage, 164 \newpagestyle, 428 \newsavebox, 379–383 \noindent, 432 \nolinebreak, 162 \nonumber, 250–255 \nopagebreak, 164 \normalfont, 100 normalsize environment, 104 \normalsize, 104 \nu, 235 \Numberstring, 451 \numberstring, 451
Previous Next First Last Back Index 257
Index
\Phi, 236 \phi, 235 \Pi, 236 \pi, 235 \pm, 258 \portraitonly, 416 \pounds, 108 \Pr, 233 \ProcessOptions, 489–504, 506 \ProcessOptions*, 489–491 \prod, 237 \ProvidesClass, 505, 506 \ProvidesPackage, 479–484, 492–
505
\Psi, 236 \psi, 235
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Q, P, \P, 108 \pagebreak, 164 \pagenumbering, 150–154 \pageref, 259–263 \pagestyle, 145–149, 511–513 \par, 90 \paragraph, 133 \parbox, 364, 388 \parindent, 329 \parskip, 329 \part, 133, 516 \part*, 516 \partial, 258 \PassOptionsToClass, 505 \PassOptionsToPackage, 489–504 \pdfinfo, 464 PDFLATEX, 185–187, 275, 276, 284,
389–391, 393, 397, 464
Previous Next First Last Back Index 257
Index
\roman, 445 \rotatebox, 394 \rule, 371–374, 376
R, \raggedleft, 156 \raggedright, 156 \raisebox, 370 \rangle, 243 \rceil, 243 \ref, 259–263, 266, 271–274, 398–
403, 438, 459
\reflectbox, 394 \refstepcounter, 438 \renewcommand, 166–171, 439–444,
S, \S, 108 \sb, 224–230 \sbox, 379–384 \scalebox, 394 scriptsize environment, 104 \scriptsize, 104 \scshape, 100 \sec, 233 \section, 133, 138, 259–263, 433–
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
437, 514
\setboolean, 470–472, 492–504 \setcounter, 438 \setlength, 320–323, 351–354 \settodepth, 324–326 446–450, 506, 511–513 \RequirePackage, 489–504, 506 \resizebox, 394 \rfloor, 243 \rho, 235 \right, 240–242 \rmfamily, 100 \Roman, 445–450, 506
Previous Next First Last Back Index 257
Index
\settoheight, 324–326 \settowidth, 324–326, 372–374,
376
\sqrt, 232 \squarepar, 367 \SS, 119 \ss, 119 \stepcounter, 438 \strikethrough, 374, 376 \subfigure, 408 \subparagraph, 133 \subsection, 133, 514 \subsubsection, 133 \sum, 237 \sup, 233
T, \t, 112 table environment, 398–403 \tableofcontents, 140–144, 150–
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
155
tabular environment, 195–199, 201– sffamily environment, 81–86 \sffamily, 100 \shadowbox, 355–359 \shapepar, 366–369 \Sigma, 236 \sigma, 235 \sin, 233 \sinh, 233 slide environment, 416, 418–420 slide* environment, 416, 418–420 \slideframe, 421–423 \slidestyle, 429 \slshape, 100 small environment, 104 \small, 104 \sp, 224–230
Previous Next First Last Back Index 257
Index
204, 208, 245, 342
313–318, 320–323,
\textsc, 99 \textsf, 99 \textsl, 99 \texttrademark, 108 \texttt, 99 \textup, 99 \textvisiblespace, 108 \textwidth, 328
\the, 324–326 thebibliography environment, 285,
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
287
\thechapter, 446–450, 506 \THEDAY, 492–504 \theenumi, 455 \theenumii, 455 \theenumiii, 455 \theenumiv, 455 \thefootnote, 446–450 \tan, 233 \tanh, 233 \tau, 235 \TeX, 275, 276 \textasciicircum, 108 \textasciitilde, 108 \textbackslash, 108 \textbar, 108 \textbf, 76, 77, 95–99 \textbullet, 108 \textgreater, 108 \textheight, 328 \textit, 99 \textless, 108 \textmd, 99 \textnormal, 99 \textregistered, 108 \textrm, 99
Previous Next First Last Back Index 257
Index
\u, 112 \Uparrow, 243 \uparrow, 243 \Updownarrow, 243 \updownarrow, 243 \uppercase, 289–295 \upshape, 100 \Upsilon, 236 \upsilon, 235 \usebox, 379–383 \usepackage, 267–270, 277, 278
\thelemma, 446–450 \THEMONTH, 492–504 \thepage, 439–444, 511–513 \thesection, 439–444, 446–450 \theslide, 439–444 \Theta, 236 \theta, 235 \THEYEAR, 492–504 \thispagestyle, 145–149 tiny environment, 104 \tiny, 104 \title, 136, 417 \today, 67–72, 271–274, 277, 278,
485
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
\topmargin, 328 trang con environment, 12–21 \ttfamily, 100
U, V, \v, 112 \value, 438, 476 \varepsilon, 235, 258 \varphi, 235 \varpi, 235 \varrho, 235
Previous Next First Last Back Index 257
Index
X, \Xi, 236 \xi, 235
\varsigma, 235 \vartheta, 235 \vdots, 249 \voffset, 328 \vref, 271–274
Y, \yen, 108
W, \whiledo, 465–469, 477
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z, \zeta, 235
Previous Next First Last Back Index 257