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

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

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

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

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

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

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

\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