LATEX cho người sử dụng Word
Bạn đang xem 20 trang mẫu của tài liệu "LATEX cho người sử dụng Word", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- latex_cho_nguoi_su_dung_word.pdf
Nội dung text: LATEX cho người sử dụng Word
- LATEX cho người sử dụng Word
- LATEX cho người sử dụng Word phiên bản 1.0.0 — bản dịch Beta-1.0.335 Guido Gonzato, Ph.D. Biên dịch ∗: ccc 2004/07/17 – 2004/11/3 Tóm tắt nội dung LATEX có thể thay thế hoàn hảo bất kỳ chương trình soạn thảo văn bản nào. Tuy nhiên, với người mới sử dụng LATEX, thật khó để họ hình dung ra những điều phải làm. Tài liệu này so sánh những nét cơ bản giữa một chương trình soạn thảo văn bản thông thường, ví dụ Microsoft Word, và LATEX. Các chức năng của trình soạn thảo văn bản được liệt kê, cùng với cách làm tương đương trong LATEX. Mục lục 1 Introduction (giới thiệu) 1 1.1 Dẫn nhập 2 1.1.1 Các hỗ trợ của trình soạn thảo 3 1.1.2 Thêm các gói mới 3 1.2 Các Quy tắc vàng 4 2 The File Menu 4 2.1 File/New (tạo file mới) 4 2.2 File/Save As. . . 5 2.3 File/Save As Template 5 2.4 File/Import 5 2.5 File/Page Setup (định kiểu trang) 6 2.5.1 Page Setup/Headers and Footers 7 2.6 File/Printer Setup 7 2.7 File/Print Preview (xem trước) 7 2.8 File/Print (in ấn) 8 2.9 File/Versions (quản lý phiên bản) 8 3 The Edit Menu 8 3.1 Edit/Autotext (từ gõ tắt) 9 ∗Tài liệu này được dịch trong khi ccc đang làm đề thi Toán (khối D) cho kỳ thi Tuyển sinh Cao đẳng Chính quy năm 2004 tại trường CĐSP Quảng Nam. Khi biên dịch, ccc đã “typeset” tài liệu này 335 lần ;) i
- 4 The Insert Menu 9 4.1 Insert/Breaks (ngắt dòng) 9 4.2 Insert/Enumerated List (danh sách) 9 4.3 Insert/Special Character (ký tự đặc biệt) 11 4.3.1 Đồng Euro: ¤ 12 4.4 Insert/Formula (công thức) 12 4.5 Insert/Footnote (chú thích cuối trang) 13 4.6 Insert/Indices (Mục lục) 13 4.7 Insert/Vertical and Horizontal Space 14 4.8 Insert/Tabs 14 4.9 Insert/Cross Reference (tham khảo chéo) 14 4.10 Insert/Margin Notes (chú thích bên lề) 15 4.11 Insert/Frame (khung) 15 4.12 Insert/Figure (hình) 15 4.13 Insert/Shapes (đường) 17 4.14 Insert/Line (đoạn thẳng) 18 4.15 Insert/Hyperlink (siêu liên kết) 18 4.16 Insert/Comment (chú thích) 19 5 The Format Menu 19 5.1 Format/Line Spacing (dãn dòng) 19 5.2 Format/Character (ký tự) 19 5.2.1 Format/Character Size (cỡ chữ) 20 5.2.2 Format/Character Font (kiểu chữ) 21 5.2.3 Format/Character Colour (màu chữ) 22 5.3 Format/Paragraph (đoạn văn) 23 5.3.1 Format/Paragraph Horizontal Alignment (canh theo chiều ngang) 23 5.3.2 Format/Paragraph Vertical Alignment (canh theo chiều đứng) 23 5.3.3 Format/Paragraph Margins (margin của đoạn văn) 25 5.3.4 Format/Paragraph Indentation (thụt đầu dòng) 26 5.4 Format/Paragraph Border and Shade (Kẻ khung và tạo bóng) 26 5.5 Format/Colour (màu) 27 5.6 Format/Columns (cột) 27 6 The Table Menu (tạo bảng) 28 7 The Tools Menu 30 7.1 Tools/Default Language (ngôn ngữ) 30 7.2 Tools/Hyphenation 30 7.3 Tools/Spell Check 31 8 The Help Menu (giúp đỡ) 31 ii
- 1 INTRODUCTION (GIỚI THIỆU) 9 The End (Lời cuối) 31 A Các mẫu tài liệu 33 Danh sách bảng 1 Menu Edit trong một số Editor. 8 2 Các ký tự đặc biệt trong LATEX. 11 3 Một số ký tự trong gói marvosym. 12 4 Thuộc tính của ký tự. 20 5 Các cỡ font logic khác nhau. 21 6 Họ các font hay dùng. 22 7 Các môi trường chuẩn của LATEX. 24 8 Ví dụ về bảng. 29 Danh sách hình vẽ 1 Hình vẽ này được tác giả yêu thích. 15 2 Đồ thị Gnuplot. 16 3 Mẫu để tạo cuốn sách. 33 4 Mẫu tạo báo cáo. 34 5 Mẫu tạo lá thư. 34 6 Mẫu tạo thông báo. 35 7 Cách thiết kế một “poster”. 36 1 Introduction (giới thiệu) Để đọc tài liệu này, bạn được giả sử là đã biết về LATEX và các lệnh cơ bản của nó. Trong tài liệu này, chúng tôi lý giải tại sao LATEX có thể thay thế một trình xử lý văn bản, ví dụ Microsoft Word. Thật sự, LATEX làm được rất nhiều việc hơn một chương trình xử lý văn bản, đặc biệt khi bạn cần soạn các tài liệu phức tạp với nhiều hình vẽ, nhiều biểu thức Toán học, Vật lý, Trong thực tế, các chương trình xử lý văn bản là “killer app” trong thế giới văn phòng hiện đại. Chúng được xem là dễ hơn LATEX, bởi có được giao diện WYSIWYG (what you see is what you get) thân thiện, và một thư ký với trình độ trung bình có thể học sử dụng chúng trong thời gian ngắn. Vấn đề là, các chương trình này vướng phải nhiều nhược điểm: xử lý chậm, yêu cầu không gian lưu trữ lớn1, sự tấn công của virus, đầy lỗi (buggy), đắt (bạn phải trả tiền trong khi LATEX hoàn toàn miễn phí), không tương thích (ví dụ giữa các hệ điều hành khác nhau). LATEX có thể thay thế tốt cho các chương trình soạn thảo văn bản. Điều này là sự thật; tuy nhiên, nếu bạn dùng LATEX để soạn thảo các văn bản lộn xộn, không có cấu trúc, thì LATEX lại 1Tác giả (ccc) đã từng soạn một luận văn thạc sỹ 63 trang A4 với không gian lưu trữ chỉ là 143 KB (chưa nén). Một đĩa mềm 1.44 MB có thể chứa hơn 10 luận văn (630 trang) như vậy! Điều này hoàn toàn không thể làm được với Microsoft Word! 1
- 1.1 Dẫn nhập 1 INTRODUCTION (GIỚI THIỆU) trở thành một nỗi phiền toái, ví như đem dao trâu cắt tiết gà. Trong trường hợp này, bạn có thể dùng TEX; nhưng khi đó, bạn không tận dụng được các tiện nghi mà LATEX đem lại. Đôi khi, bạn muốn một số tính năng của một chương trình soạn thảo văn bản mà không muốn dùng LATEX. Như vậy, cần phải biết cách có được các tính năng đó với LATEX. Đó là lý do tại sao tôi viết tài liệu hướng dẫn nhanh này. Như tôi đã nói, để đọc tài liệu này, bạn trước hết cần có các kiến thức cơ bản về LATEX. Bạn có thể thăm trang web http: //vntex.sarovar.org/ để tải về một số tài liệu hướng dẫn nếu bạn bạn chưa biết gì về LATEX. Trong các mục tiếp theo của tài liệu, chúng ta sẽ xem xét các menu và menu con của một chương trình xử lý văn bản tưởng tượng (các menu này được tìm thấy, chẳng hạn, trong Microsoft Word), và chỉ ra cách thực hiện công việc tương ứng trong LATEX. Nếu bạn đã khá rành về LATEX và cách tiếp cận vấn đề này làm bạn buồn ngủ xin bạn vui lòng bỏ qua tài liệu hướng dẫn này ;) 1.1 Dẫn nhập Nhiều tính năng của một chương trình soạn thảo văn bản được hỗ trợ bởi trình soạn thảo; một số tính năng khác có được bằng các macro LATEX chuẩn; một số khác thì có được bằng cách dùng các gói (package). Các gói là tập hợp một số macro nhằm mở rộng khả năng của LATEX. Có rất nhiều gói khác nhau cung cấp cho bạn nhiều công cụ khác nhau khi làm việc với LATEX. Và cũng có rất nhiều gói khác nhau cung cấp cho bạn các cách khác nhau để làm cùng một công việc trong LATEX. Vấn đề là phải biết các gói này ở đâu để lấy khi cần, cũng như cách thêm các gói này vào LATEX. Vui lòng xem mục 1.1.2 để biết thêm về các gói. Các gói cho LATEX (và TEX) được tìm thấy ở nhiều địa chỉ khác nhau. Bạn hãy thăm trang web CTAN để biết thêm chi tiết. Mặc dù bất kỳ chương trình nào có khả năng lưu tập tin dưới dạng “plain text” đều có thể trở thành một chương trình soạn thảo dành cho TEX, nhưng hầu hết những người dùng TEX đều khuyên bạn cài đặt và dùng các chương trình dưới đây: • GNU Emacs hoặc Xemacs; • vi hoặc phiên bản nâng cao của vi là Vim; • Jed; • (Lyx) gần như một chương trình soạn thảo TeX WYSIWYG, rất thích hợp cho người mới làm quen với LATEX; • GNU TEXmacs là một chương trình soạn thảo WYSIWYG LATEX (chỉ có cho Unix); • WinEdt là chương trình soạn thảo rất mạnh dành riêng cho LATEX. Đây là một “share-ware”, chỉ dành cho người dùng Windows. Các chương trình soạn thảo trên đều cho phép đổi màu các từ khóa, các macro, lệnh của (La)TEX và các macro, lệnh do bạn định nghĩa; chúng giúp ích cho bạn rất nhiều khi viết mã nguồn của tài liệu. 2
- 1.1 Dẫn nhập 1 INTRODUCTION (GIỚI THIỆU) 1.1.1 Các hỗ trợ của trình soạn thảo Các tính năng sau đây không phải là các tính chất của LATEX, mà được hỗ trợ bởi các chương trình soạn thảo: • cut, copy and paste (cắt, chép, dán) • search and replace (tìm kiếm, thay thế) • blocks: moving, filtering, etc (di chuyển, lọc) • spell checking (kiểm tra chính tả) • word counting (đếm số từ) • macros • vân vân Khi cần thiết, chúng tôi sẽ giúp bạn làm thế nào để thực hiện các công việc nêu trên với một số chương trình soạn thảo đặc biệt: GNU Emacs, vi, jec. (Nếu bạn sử dụng WinEdt hay TeXnicCenter, các công việc trên đơn giản hơn nhiều.) 1.1.2 Thêm các gói mới Các bản phân phối của teTeX hay MikTeX chứa hầu hết các gói quan trọng mà bạn có thể dùng đến. Tuy nhiên, có rất nhiều gói thường không có trong các bản phân phối này; chúng được tìm thấy tại CTAN, đĩa TeXLive, Bạn cần phải biết cách thêm các gói mới để tăng cường sức mạnh cho LATEX. Bạn cũng phải biết cách thêm các gói khi bạn muốn dùng phiên bản mới của một gói. Dưới đây là hướng dẫn đối với teTeX. Hướng dẫn cho người dùng MikTeX xin xem ở bên dưới. 1. Tải về gói mới (thường ở dạng nén gzip) từ CTAN. 2. Tìm nơi lưu các gói của LATEX. Thông thường, thư mục này là $TEXMF/tex/latex 3. Xả nén gói mới tải về vào thư mục ở trên 4. Nếu bạn không tìm thấy tập tin .sty nào trong gói mới tải về, hãy thực hiện lệnh latex newstyle.ins để tạo gói mới từ file nguồn newstyle.dtx. (Ở đây, newstyle là tên của gói mới; ví dụ, gói vntex) 5. Cập nhật cơ sở dữ liệu của teTeX bằng cách thực hiện lệnh texhash Thư mục $TEXMF phụ thuộc vào hệ thống của bạn; trong hầu hết các bản phân phối GNU/Linux, thư mục này là /usr/share/texmf. Để thêm các gói mới đối với MikTeX, trước hết, bạn hãy tạo thư mục (nếu thư mục này chưa tồn tại) \latex\newpacakge (ở đây, newpacakge là tên của gói mới; ví dụ là gói vntex) bên dưới thư mục C:\localtexmf\tex và chép các file của gói mới vào trong thư mục này. Sau đó, chạy chương trình mo.exe và chọn “’Refresh now’ để cập nhật cơ sở dữ liệu cho MikTeX. Bạn cũng có thể thực hiện lệnh initexmf -u để làm công việc này. 3
- 1.2 Các Quy tắc vàng 2 THE FILE MENU 1.2 Các Quy tắc vàng Trước khi chúng ta bắt đầu, bạn hãy ghi nhớ những điều sau đây. 1. Giữ thói quen cấu trúc hóa tài liệu của bạn: hãy nghĩ đến cách chia tài liệu ra các phần, chương, mục, Thói quen này nên giữ ngay cả khi bạn không soạn các tài liệu khoa học. 2. Đừng lo lắng về cách dàn trang của tài liệu; LATEX đã lo giúp bạn việc này. Bạn hãy tập trung vào nội dung của tài liệu. Chúng tôi khuyến cáo bạn nên tuân thủ các quy tắc này. Nhờ đó, bạn có thể in được các tài liệu đầy tính chuyên nghiệp. Hai quy tắc trên áp dụng cho hầu hết các tài liệu. Tuy nhiên, nếu có ý định viết các tài liệu không có cấu trúc (một ghi chú, bài thơ, ), bạn có thể bỏ qua phần này và đọc các phần tiếp theo của hướng dẫn này. ✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍ 2 The File Menu Rõ ràng, các menu này không có nghĩa gì đối với LATEX: File/Open, File/Save, File/Close phụ thuộc vào chương trình bạn dùng để soạn các file *.tex. 2.1 File/New (tạo file mới) Tạo tài liệu mới \documentclass{article} \begin{document} % ghi những gì bạn muốn ở đây \end{document} Các tài liệu được soạn với LATEX luôn được cấu trúc rõ ràng. Ví dụ \documentclass[a4paper,12pt]{article} \title{Tài liệu của tôi} % tiêu đề \author{ccc} % tên tác giả \date{Quảng Nam, \today} % ngày tháng \begin{document} \maketitle % in tiêu đề \begin{abstract} Nội dung tóm tắt. \end{abstract} 4
- 2.2 File/Save As. . . 2 THE FILE MENU \tableofcontents % mục lục \listoftables % danh sách các bảng \listoffigures % danh sách các hình \section{Mục 1} \label{sec:start} Nội dung của phần này. Xem \cite{KyAnh} để biết thêm. \section{Mục cuối} \label{sec:end} Nội dung của phần cuối. Vui lòng xem mục \ref{sec:start} để biết. \begin{thebibliography}{99} % danh sách tài liệu tham khảo \bibitem{KyAnh} ccc. \textit{\LaTeX{} cho người dùng Word}. CTAN, 2004. \end{thebibliography} \end{document} Các mẫu tài liệu khác được liệt kê ở Phụ lục A. 2.2 File/Save As. . . Nếu bạn muốn chuyển tài liệu LATEX sang các dạng khác: • tex4ht: chuyển tài liệu LATEX sang dạng HTML. • latex2rtf: chuyển tài liệu LATEX sang dạng đọc được bởi Microsoft Word. CTAN://tex/support/latex2rtf 2.3 File/Save As Template Lưu tài liệu LATEX dưới dạng “mẫu” đồng nghĩa với tạo ra một gói mới cho LATEX. Điều này đòi hỏi bạn là một chuyên gia về LATEX; do đó, chúng tôi không bàn về vấn đề này. 2.4 File/Import Có nhiều công cụ chuyển các dạng tài liệu khác thành mã LATEX: • rtf2latex: CTAN://tex/support/rtf2latex • html2latex: CTAN://tex/support/html2latex • wvware chuyển tập tin Word thành các dạng khác nhau, trong đó có dạng LATEX. 5
- 2.5 File/Page Setup (định kiểu trang) 2 THE FILE MENU 2.5 File/Page Setup (định kiểu trang) Cách thông thường để xác định cỡ giấy, hướng giấy, lề (margins), là dùng các tham số khi gọi \documentclass. Cỡ giấy có thể là a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper; hướng giấy là hướng chân dung (portrait) theo mặc định, hoặc là hướng landscape. Ví dụ \documentclass[a5paper,landscape,12pt]{article} Chiều rộng của các lề giấy được thay đổi bằng các lệnh sau: \setlength{\leftmargin}{2cm} % lề trái \setlength{\rightmargin}{2cm} % lề phải \setlength{\oddsidemargin}{2cm} % lề cho trang lẻ \setlength{\evensidemargin}{2cm}% lề cho trang chẵn \setlength{\topmargin}{-1cm} % lề trên \setlength{\textwidth}{18cm} % chiều rộng phần giấy được dùng để gõ văn bản \setlength{\textheight}{25cm} % chiều cao phần giấy được dùng để gõ văn bản Bạn có thể dùng gói geometry để việc thay đổi cỡ giấy, độ rộng lề được dễ dàng và trực quan hơn. Bạn nên đọc tài liệu hướng dẫn của gói geometry để biết thêm chi tiết. Dưới đây là ví dụ. \geometry{paperwidth=25cm} \geometry{paperheigth=35cm} % hoặc: \geometry{papersize={25cm,35cm}} \geometry{width=20cm} % chiều rộng tổng cộng \geometry{heigth=30cm} % chiều cao tổng cộng % hoặc: \geometry{total={20cm,30cm}} \geometry{textwidth=18cm} % chiều rộng phần giấy được dùng để gõ văn bản \geometry{textheigth=25cm} % chiều cao phần giấy được dùng để gõ văn bản % hoặc: \geometry{body={18cm,25cm}} \geometry{left=3cm} % lề trái \geometry{rigth=1.5cm} % lề phải % hoặc: \geometry{hmargin={3cm,2cm}} \geometry{top=2cm} % lề trên \geometry{bottom=3cm} % lề dưới % hoặc: \geometry{vmargin={2cm,3cm}} \geometry{marginparwidth=2cm} \geometry{head=1cm} % chiều cao của phần HEADER Bạn cũng có thể dùng các tham số khi tải gói geometry: \usepackage[left=3cm, right=2cm]{geometry} 6
- 2.6 File/Printer Setup 2 THE FILE MENU 2.5.1 Page Setup/Headers and Footers Gói fancyhdr cung cấp cho bạn macro mới \pagestyle{fancy}. Khi dùng macro này (trước \begin{document}), các dòng \lhead{} % empty \chead{Hello, world!} \rhead{Page \thepage} % page number \lfoot{} \cfoot{\textbf{Hello!}} \rfoot{} 2.6 File/Printer Setup This is highly OS-dependent, and definitely outside of the scopes of LATEX. Assuming that you’re using a Unix-like system, these tips may come in handy: • lpr -P printername prints to the specified printer; • lpr -# 10 prints 10 copies; • lpr -r removes the file after printing it Other tips will come soon. 2.7 File/Print Preview (xem trước) Trong khi viết mã nguồn TEX cho tài liệu, bạn có muốn xem trước, xem thử kết quả. Có thể dùng các cách sau: • chuyển từ tập tin *.tex qua dạng tập tin .dvi (bằng latex file.tex) và xem tập tin *.dvi bằng xdvi, yap, v.v ; • chuyển từ tập tin .dvi sang dạng PostScript bằng chương trình dvips, sau đó xem kết quả bằng chẳng hạn Ghostview; • tạo tập tin .pdf từ kết quả *.dvi bằng ứng dụng dvipdfm hoặc từ (trực tiếp) tập tin *.tex bằng chương trình pdflatex. Theo ý kiến của tác giả, việc tạo ra kết quả ở dạng *.pdf là giải pháp tốt nhất, vì nhờ đó tài liệu của bạn có tính tương thích, khả chuyển rất cao (có thể gửi đi xa, đến các máy tính với các hệ điều hành khác nhau, mà vẫn đảm bảo tài liệu của bạn có thể đọc được). Hơn nữa, gói hyperref dùng cùng với ứng dụng pdflatex làm cho kết quả *.pdf có thêm các siêu liên kết, rất linh hoạt (xem Mục 4.15). Tuy nhiên, việc dùng pdflatex có thể sẽ mang lại một số xung đột Chú ý với một số gói. Xin xem chi tiết ở Mục 4.12. 7
- 2.8 File/Print (in ấn) 3 THE EDIT MENU 2.8 File/Print (in ấn) Kết quả của việc biên dịch tập tin .tex có thể ở các dạng *.dvi, *.ps hay *.pdf. Với mối dạng, có các chương trình khác nhau để xem tập tin kết quả (ví dụ, kdvi để xem kết quả .dvi). Các chương trình này đều cho phép bạn in; hãy để ý đến menu File/Print. 2.9 File/Versions (quản lý phiên bản) Đây không phải là khả năng của LATEX. Dưới các hệ điều hành Unix hay Win32, bạn có thể dùng các công cụ như RCS (Revision Control System) hay CVS (Concurrent Version Control System); các công cụ này có thể tích hợp trong các chương trình soạn thảo. TODO: gói version, gói ktv-texdata. 3 The Edit Menu Menu này thể hiện khả năng của chương trình soạn thảo hơn là khả năng của LATEX. Hãy tham khảo bảng 1 để biết các tổ hợp phím tương ứng với các menu Edit/Cut, Edit/Copy, Edit/Paste, Edit/Find, và Edit/Replace trong một số chương trình soạn thảo. Action Emacs vi jed WinEdt start selection Ctrl-@ or n/a Ctrl-KB n/a Ctrl-SPACE end selection n/a n/a Ctrl-KK n/a cut Ctrl-W nD Ctrl-KY Ctrl-X copy Alt-W nY Ctrl-KH Ctrl-C paste Ctrl-Y P Ctrl-KC Ctrl-V find Ctrl-S / Ctrl-QF Ctrl-F replace Ctrl-% s/old/new/gc Ctrl-QA Ctrl-H Bảng 1: Menu Edit trong một số Editor. Việc lựa chọn (select) một đoạn văn không chỉ cho phép thực hiện các thao tác như cắt, dán, mà còn cho phép áp dụng các kiểu cho đoạn văn đó. Tương ứng với điều này của các bộ xử lý văn bản, trong LATEX ta đặt đoạn văn cần thay đổi kiểu dáng trong cặp dấu ngoặc, hoặc trong môi trường. Ví dụ, để tô đậm một đoạn văn, bạn có thể làm như sau: Đoạn văn này được \textbf{tô đậm;}\\ Đoạn văn sau Đoạn văn này được tô đậm; {\bfseries cũng được tô đậm;}\\ Đoạn văn sau cũng được tô đậm; \begin{bfseries} Dòng này được tô đậm! Dòng này được tô đậm! \end{bfseries} 8
- 3.1 Edit/Autotext (từ gõ tắt) 4 THE INSERT MENU 3.1 Edit/Autotext (từ gõ tắt) Gõ tắt giúp bạn tiết kiệm thời gian khi soạn thảo. Ví dụ, bạn chỉ cần gõ “TC” để có “Truyện Cười Dân Gian Việt Nam” một cách tự động. Tính năng này phụ thuộc vào chương trình soạn thảo. Tuy nhiên, bạn có thể làm được với LATEX: \def\TC{\textsc{Truyện Cười Dân Gian Việt Nam}} Sau khi định nghĩa như trên, mỗi lần bạn gọi \TC, bạn sẽ được Truyện Cười Dân Gian Việt Nam. Lưu ý rằng, bạn phải gõ chính xác \TC, không được dùng \Tc, \tc, (trừ khi có định nghĩa khác cho các macro này). Điều đáng lưu ý là, việc dùng các macro gõ tắt với LATEX như trên có nhiều điểm tiện lợi. Chẳng hạn, nếu một lúc nào đó, bạn thay “Truyện Cười Dân Gian” trong “Truyện Cười Dân Gian Việt Nam” bởi “’Truyện Ngắn”, bạn chỉ việc định nghĩa lại \TC: \def\TC{\textsc{Truyện Ngắn Việt Nam}} Bây giờ, \TC sẽ cho bạn “Truyện Ngắn Việt Nam”. 4 The Insert Menu 4.1 Insert/Breaks (ngắt dòng) • một khoảng trắng không bị vỡ được cho bởi ∼ • thêm một dòng mới: dùng \linebreak hoặc \newline; xem dưới đây để biết thêm chi tiết. • để bắt đầu một đọan văn mới, dùng một dòng trắng, hoặc \\, hoặc \par • để sang trang mới, dùng \newpage hoặc \clearpage Macro \linebreak sẽ kéo dãn dòng văn bản, còng \newline không có tác dụng này: Dòng này bị kéo dãn!\linebreak Dòng này bị kéo dãn! Dòng này thì không.\newline Dòng này thì không. Ok, bạn đã hiểu rồi. Ok, bạn đã hiểu rồi. Finally, \clearpage differs from \newpage in that it prints all pending floats (figures and tables). Floats will be explained in Section 4.12. 4.2 Insert/Enumerated List (danh sách) Danh sách liệt kê hoặc danh sách có thứ tự được cho bởi các môi trường itemize và enumerate. Có thể dùng tham số bổ sung cho \item để thay đổi kiểu hiển thị (xem dưới đây) \begin{itemize} \item[*] bắt đầu bằng dấu sao; * bắt đầu bằng dấu sao; \item[-] bắt đầu bằng dấu gạch ngang. \end{itemize} - bắt đầu bằng dấu gạch ngang 9
- 4.2 Insert/Enumerated List (danh sách) 4 THE INSERT MENU Cách khác để thay đổi kiểu (số La Mã, số Ả-rập, ) của các số thứ tự trong danh sách là dùng các macro: \labelitemi, \labelitemii, \labelitemiii, \labelitemiv phối hợp với các macro để thay đổi kiểu con số: \arabic cho kiểu số ả-rập, \Roman cho kiểu số La mã viết hoa, \roman cho kiểu số La mã viết thường, \Alph và \alph cho kiểu số dùng chữ cái. \begin{itemize} \renewcommand{\labelitemi}{*} \renewcommand{\labelitemii}{-} * mức một, phần tử 1 \item mức một, phần tử 1 * mức một, phần tử 2 \item mức một, phần tử 2 \begin{itemize} - mức hai, phần tử 1 \item mức hai, phần tử 1 \item mức hai, phần tử 2 - mức hai, phần tử 2 \end{itemize} \item mức một, phần tử 3 * mức một, phần tử 3 \end{itemize} Ví dụ về danh sách có thứ tự: \begin{enumerate} \renewcommand{\labelenumi}{% \Alph{enumi}} \renewcommand{\labelenumii}{% A mức một, phần tử 1 \roman{enumii}} B mức một, phần tử 2 \item mức một, phần tử 1 \item mức một, phần tử 2 i mức hai, phần tử 1 \begin{enumerate} \item mức hai, phần tử 1 ii mức hai, phần tử 2 \item mức hai, phần tử 2 \end{enumerate} C mức một, phần tử 3 \item mức một, phần tử 3 \end{enumerate} Một cách gọn nhẹ hơn là dùng gói enumerate. Bạn chỉ việc thêm tham số khi gọi \begin{enumerate}. Hãy quan sát ví dụ dưới đây. \begin{enumerate}[a)] \item mức một, phần tử 1 a) mức một, phần tử 1 \item mức một, phần tử 2 b) mức một, phần tử 2 \begin{enumerate} \item mức hai, phần tử 1 (a) mức hai, phần tử 1 \item mức hai, phần tử 2 \end{enumerate} (b) mức hai, phần tử 2 \item mức một, phần tử 3 \end{enumerate} c) mức một, phần tử 3 Cũng danh sách trên, dùng các số La mã (viết thường) để đánh số: 10
- 4.3 Insert/Special Character (ký tự đặc biệt) 4 THE INSERT MENU Ký tự Macro tạo ký tự $ \$ or \textdollar & \& % \% _ \_ or \textunderscore { \{ or \textbraceleft } \} or \textbraceright $>$ or \textgreater \ \textbackslash | \textbar • \textbullet ‡ \textdaggerdbl † \textdagger ¶ \textparagraph § \textsection c \textcopyright ^ \textasciicircum ~ \textasciitilde ∼ $\sim$ r \textregistered TM \texttrademark a \textordfeminine o \textordmasculine Bảng 2: Các ký tự đặc biệt trong LATEX. \begin{enumerate}[i.] \item mức một, phần tử 1 i. mức một, phần tử 1 \item mức một, phần tử 2 ii. mức một, phần tử 2 \begin{enumerate} \item mức hai, phần tử 1 (a) mức hai, phần tử 1 \item mức hai, phần tử 2 \end{enumerate} (b) mức hai, phần tử 2 \item mức một, phần tử 3 \end{enumerate} iii. mức một, phần tử 3 4.3 Insert/Special Character (ký tự đặc biệt) Các ký tự đặc biệt ở đây, được hiểu là đặc biệt đối với LATEX. Những ký tự này bạn phải gõ kèm với dấu gạch ngược (\), hoặc dùng chúng khi gõ các công thức toán, hoặc khi viết các macro. Xem Bảng 2 về các ký tự đặc biệt. Nếu bạn muốn có thêm các ký tự đặc biệt, hãy dùng gói pifont. Gói này cung cấp các macro: \ding (ví dụ \ding{100} sẽ cho bạn ❄), \dingfill, \dingline và môi trường dinglist. Hãy xem ví dụ dưới đây. 11
- 4.4 Insert/Formula (công thức) 4 THE INSERT MENU Y \Yingyang B \Letter E \Lightning H \Mobilefone K \Coffeecup o \Football q \Cutright u \FAX v \Faxmachine Œ \Heart © \Smiley ® \Bicycle é \Capricorn ý \Bat þ \Womanface Bảng 3: Một số ký tự trong gói marvosym. \begin{dinglist}{43} ☞ một \item một \item hai ☞ hai \item ba \end{dinglist} ☞ ba Với các danh sách có thứ tự, bạn dùng môi trường dingautolist: \begin{dingautolist}{172} ① một \item một \item hai ② hai \item ba \end{dingautolist} ③ ba 4.3.1 Đồng Euro: ¤ Gói marvosym cung cấp cho bạn một số ký tự đặc biệt, trong đó có ký hiệu đồng Euro ¤ (\EUR). Xem Bảng 3 để biết một số ký tự cho bởi gói marvosym. Xem tài liệu của gói này để có danh sách đầy đủ các ký hiệu. [TODO: thêm bảng ký tự Dingbat.] 4.4 Insert/Formula (công thức) Thể hiện các công thức toán học có thể nói là sức mạnh chủ yếu của LATEX. Để chèn các ký hiệu, biểu thức toán học vào chung một dòng với văn bản, dùng cặp dấu ngoặc $. Bạn có thể thấy việc biểu diễn công thức có nét tương tự với việc viết một chương trình Pascal. 12
- 4.5 Insert/Footnote (chú thích cuối trang) 4 THE INSERT MENU Tôi yêu toán: $x^n + x^n \neq Tôi yêu toán: xn + xn 6= zn∀n 6= 2 là định lý z^n \forall n \neq 2$ là định lý Fermat lớn. Fermat lớn. Để biểu diễn các công thức toán học ở chỗ riêng, không cùng dòng với các văn bản, dùng môi trường displaymath, hoặc equation (các phương trình có đánh số), hoặc equation* (phương trình không đánh số). Định lý Fermat lớn: \begin{equation} Định lý Fermat lớn: x^n + x^n \neq z^n \quad\forall n \neq 2 xn + xn 6= zn ∀n 6= 2 (1) \label{eq:fermat} \end{equation} Bạn có thể chứng minh bất đẳng thức (1)? Bạn có thể chứng minh bất đẳng thức (\ref{eq:fermat})? Các biểu thức, phương trình phức tạp hơn đòi hỏi một nỗ lực rất lớn khi dùng LATEX. Thật may! Đã có gói amsmath giúp bạn rất nhiều. Xem tài liệu của gói này để biết thêm chi tiết. 4.5 Insert/Footnote (chú thích cuối trang) Dùng macro \footnote{Chú thích 123456}2 sẽ tạo chú thích cuối trang (xem phía dưới trang này). Nếu bạn muốn thay đổi số thứ tự của chú thích, hãy định nghĩa lại macro \footnote. Ví dụ: \renewcommand{\thefootnote}{ } Đây là chú thích\footnote Đây là chú thích cuối trang ;). {Đây là chú thích.} Đây là chú thích. cuối trang ;). Cũng có thể dùng thay đổi kiểu con số được dùng: \renewcommand{\thefootnote}{% a b \Alph{footnote}} Đây là chú thích thứ nhất, và đây là chú thích Đây là chú thích\footnote{thứ nhất.} thứ hai. thứ nhất, athứ nhất. và đây là chú thích\footnote{thứ hai.} bthứ hai. thứ hai. 4.6 Insert/Indices (Mục lục) Để tạo Mục lục, danh sách các bảng, dánh sách các hình vẽ, chỉ việc dùng các macro dưới đây (nhớ đặt các macro này trước khi gọi đến bất kỳ macro \section, \chapter nào) \tableofcontents % mục lục \listoffigures % danh sách các hình vẽ \listoftables % danh sách các bảng 2Chú thích 123456 13
- 4.7 Insert/Vertical and Horizontal Space 4 THE INSERT MENU 4.7 Insert/Vertical and Horizontal Space Menu này thực tế không tồn tại trong bất kỳ chương trình xử lý văn bản nào tác giả từng gặp. Đây quả là một hạn chế mà LATEX đã khắc phục. Kỹ thuật Thêm các khoảng trắng thường được dùng để canh văn bản nằm giữa theo chiều đứng, chiều ngang, hay cả hai; đây quả là một công việc khó khăn với bất kỳ chương trình xử lý văn bản nào, đòi hỏi rất nhiều cố gắng thử, xóa và thử để có được kết quả như ý. Trong LATEX, các macro \null hay ~ dùng để đánh dấu vị trí, theo sau là các macro \vfill để canh theo chiều đứng hoặc \hfill để canh theo chiều ngang. Xem ví dụ dưới đây: một \hfill hai\\ một hai \vfill ~ \hfill ba \hfill ~\\ ba \vfill bốn \hfill năm \null bốn năm Thông thường, LATEX sẽ không cho phép bạn đặt các khoảng trắng như ý của bạn. Tuy nhiên, nếu bạn muốn làm cho tài liệu của mình có vẻ lộn xộn, hãy dùng ~ để tạo các khoảng trắng không vỡ: Ngoài ra, macro \hspace cho phép thêm các khoảng trắng như ví dụ dưới đây: Sau đây là khoảng cách\hspace{2cm} Sau đây là khoảng cách rộng 2-cm. rộng 2-cm. 4.8 Insert/Tabs Môi trường tabbing cung cấp ta khả năng của phím TAB. Xem ví dụ dưới đây. \begin{tabbing} % đặt vị trí của TAB ~ \hskip 1cm \= ~ \hskip 2cm \= Zero One Two Three ~ \hskip 3cm \= \kill % bỏ qua văn bản Zero \> One \> Two \> Three \\ Zero One Three Zero \> One \> \> Three \+ \\ % qua phải Zero Two Three Zero \> Two \> Three \- \\ % qua trái Zero One Two Zero \> One \> Two \\ tab mới 1. . . tab mới 2 \pushtabs % Lưu vị trí TAB tab mới tab tab mới 1{\ldots} \= tab mới 2 \\ Zero One Two Three tab mới \> tab \\ \poptabs % phục hồi vị trí TAB Zero \> One \> Two \> Three \\ \end{tabbing} Xem thêm các môi trường tabular và table. 4.9 Insert/Cross Reference (tham khảo chéo) Các macro \label, \ref, \pageref giúp cho bạn có thể tham khảo chéo đến các phần khác nhau của tài liệu. Các nhãn (để đánh dấu đích - nơi tham khảo) thường có dạng prefix:nhãn. 14
- 4.10 Insert/Margin Notes (chú thích bên lề) 4 THE INSERT MENU Trong đó, prefix là tiền tố đặc trưng cho kiểu nhãn; tiền tố này do bạn quy định, nhưng thông thường là eq cho các phương trình, fig cho các hình vẽ, sec các mục và mục con (section và subsection), tab cho các bảng, cha cho chương Còn nhãn là một tên gợi nhớ. Ví dụ dưới đây, ta sử dụng \label và \ref để tham khảo đến số trang. \paragraph{Ví dụ.} \label{par:vidu} Đây là đoạn văn trong Đây là đoạn văn trong Mục 4.9 ở trang 15. Mục~\ref{par:vidu} ở trang \pageref{par:vidu}. Dưới đây là ví dụ về tham khảo đến các phần tử của danh sách có thứ tự. \begin{enumerate} \item\label{item:batdau} bước một: nhảy đến bước 1. bước một: nhảy đến bước 4 \ref{item:ketthuc} \item{bước khác} 2. bước khác \item{bước khác} \item\label{item:ketthuc} 3. bước khác bước cuối: nhảy đến bước 4. bước cuối: nhảy đến bước 1 \ref{item:batdau} \end{enumerate} 4.10 Insert/Margin Notes (chú thích bên lề) Rất đơn giản: dùng \marginpar{đoạn văn}. đoạn văn 4.11 Insert/Frame (khung) Giả sử bạn cần tạo một “poster”: bạn cần phải đặt các câu và các hình vẽ tại những vị trí cố định trên trang giấy. Để có được điều này, bạn hãy dùng gói textpos. Hãy xem ví dụ được cho ở hình vẽ 7 (xem Phụ lục A). 4.12 Insert/Figure (hình) Một “hình vẽ” trong LATEX không đơn giản là một hình, mà có thể là một đoạn văn, một bảng, hay bất cứ thứ gì khác mà bạn để trong môi trường figure. Hãy xem ví dụ dưới đây. \begin{figure}[htbp] % [htbp] cho biết thứ tự ưu tiên % khi tìm chỗ đặt hình vẽ: here (ở đây), % top (bên trên), bottom (bên dưới), =8-) % hoặc ở trang riêng. \begin{center} \texttt{=8-)} Hình 1: Hình vẽ này được tác giả yêu \end{center} thích. \caption{Hình vẽ này được tác giả yêu thích.} \label{fig:mysmiley} \end{figure} 15
- 4.12 Insert/Figure (hình) 4 THE INSERT MENU Hãy chú ý rằng các hình vẽ sẽ không chắc chắn xuất hiện ở nơi mà bạn đặt mã LATEX. Thực tế, Ghi chú sự khác nhau cơ bản giữa bộ xử lý văn bản và LATEX là hình vẽ không có vị trí cố định; chúng là “float”, có khả năng dịch chuyển vào vị trí thích hợp – do LATEX xác định. Vì vậy, bạn không nên dùng các câu tham khảo, ví dụ như, “xem hình vẽ ở trên”, hay “xem hình vẽ bên dưới”; tốt nhất là hãy dùng đơn giản “xem Hình vẽ~\ref{fig:label}”. Nếu bạn muốn đặt các hình vẽ ở đúng nơi bạn muốn, hãy dùng gói here; gói này cung cấp tham số bổ sung H (here, ở đây) để ngăn cho hình vẽ, bảng khỏi bị “float”. Đối với các hình vẽ “Encapsulate PostScript”(.eps), bạn có thể nhúng chúng vào tài liệu LATEX bằng cách dùng gói graphicx và dùng các macro như trong Hình vẽ 2. Gnuplot 3D graph sin(x*x + y*y)/(x*x + y*y) \begin{figure} Z \begin{center} 1 0.8 \fbox{\includegraphics 0.6 0.4 [width=0.5\textwidth, angle=-90] 0.2 0 -0.2 {gnuplot.ps}} -0.4 4 3 \caption{Đồ thị Gnuplot.} 2 1 -4 -3 0 -2 -1 -1 Y \label{fig:gnuplot} 0 -2 1 2 -3 X 3 \end{center} 4 -4 \end{figure} Hình 2: Đồ thị Gnuplot. Việc tải các hình vẽ chỉ thích hợp với dạng file .eps. Có một vài gói khác cho phép chuyển các hình vẽ .jpg, .gif, .png, sang dạng .eps: một trong nhưng chương trình tốt nhất là ImageMagik thích hợp cho nhiều hệ thống máy tính. Bên cạnh đó, còn có một công cụ rất hay để chuyển các file .jpg sang dạng .eps là jpeg2ps. Nếu bạn dùng PDFLATEX, bạn phải chuyển cách hình vẽ qua dạng .pdf bằng công cụ epstopdf Chú ý và thay đổi việc tải các hình tương ứng. Nếu bạn muốn dùng cả hai dạng .pdf và .eps của cùng một hình vẽ, hãy làm như dưới đây. % tạo biến boolean \ifpdf \newif\ifpdf \ifx\pdfoutput\undefined \pdffalse \else \pdftrue \pdfoutput=1 \fi \documentclass{ } % phải để \documentclass ở đây % nạp gói thích hợp \ifpdf \usepackage[pdftex]{graphicx} 16
- 4.13 Insert/Shapes (đường) 4 THE INSERT MENU \pdfcompresslevel=9 \else \usepackage{graphicx} \fi % nạp hình vẽ thích hợp \ifpdf \includegraphics{file.pdf} \else \includegraphics{file.eps} \fi [TODO: xem gói wrapfig] Nếu bạn nạp liên tiếp 18 hình vẽ mà không đặt bất kỳ câu chữ nào giữa chúng, bạn sẽ gặp lỗi Chú ý “Too many unprocessed floats”. Giải pháp đơn giản nhất3 cho vấn đề này là đặt lệnh \clearpage cứ sau mỗi hoặc 4 hình vẽ. 4.13 Insert/Shapes (đường) Môi trường picture giúp bạn vẽ các đường tròn (\circle), hình ô-van (\oval), v.v Theo ý tác giả, việc vẽ các hình không dùng với các môi trường đồ họa là rất khó, và môi trường picture cũng có những hạn chế như vậy. Có giải pháp hay hơn là dùng gói epic và gói eepic (tải hai gói này theo thứ tự đã chỉ ra), cùng với chương trình vẽ hình Xfig (chỉ thích hợp với hệ thống Unix). Chương trình Xfig trông có vẻ xấu xí, nhưng thực tế là một chương trình rất mạnh. Một trong những tiện lợi của nó là khả năng chuyển hình do nó vẽ thành các dạng khác nhau, kể cả các file PostScript. Một khả năng khác, là chương trình có khả năng chuyển các mã LATEX nhúng, nhờ đó, bạn có thể nhập vào các mã lệnh LATEX để tạo bảng, ký hiệu khi vẽ. Bây giờ, giả sử bạn đã vẽ xong hình vẽ small.fig với chương trình Xfig. Từ Xfig, chọn menu File/Export. . . và sau đó chọn “LaTeX picture + eepic macros” từ menu Language. Khi đó, bạn sẽ thu được tập tin small.eepic có thể nhúng vào tài liệu LATEX. Đây là hình vẽ bằng Xfig: This is a picture drawn with Xfig:\\ % \input{small.eepic} ¢¡¤£¦¥¨§ % sẽ không làm việc với ‘pdflatex’! \input{small.eepic} © Điều không may, là eepic không làm việc với pdflatex. Vì vậy, từ chương trình Xfig, bạn chọn dạng xuất (export) là “Combined PS/LaTeX (both parts)”. Nhờ đó, bạn sẽ nhận được hai tập tin khác nhau: small.pstex và small.pstex_t. Đổi tập tin thứ hai thành small.tex, mở file này và thêm các dòng sau đây vào đầu file: \documentclass{article} 3nhưng không phải là tốt nhất 17
- 4.14 Insert/Line (đoạn thẳng) 4 THE INSERT MENU \usepackage{graphicx} \pagestyle{empty} \begin{document} sau đó, thêm các dòng sau vào cuối file small.tex: \end{document} Bây giờ, biên dịch file small.tex, rồi chuyển kết quả từ dạng .ps sang dạng .eps và nạp hình thu được như đã nói ở Mục 4.12. 4.14 Insert/Line (đoạn thẳng) Bạn có thể vẽ các đoạn thẳng với chiều dài và độ rộng tùy ý nhờ macro \rule: Dài bằng chiều rộng trang:\\ Dài bằng chiều rộng trang: \rule{\linewidth}{1pt} Đoạn này ngắn hơn, dày hơn:\\ Đoạn này ngắn hơn, mỏng hơn: \rule{2cm}{2mm} Một loại đường vẽ thú vị là đường các dấu chấm (\dotfill): Họ và Tên: \dotfill\dotfill Họ và Tên: . . . . . . . . . . . . . .Số báo danh:. . . . . . . Số báo danh:\dotfill 4.15 Insert/Hyperlink (siêu liên kết) Để chèn các liên kết vào tài liệu, bạn có thể dùng gói url. Gói này thường được dùng với các gói hyperref và các chương trình dvipdf, pdflatex (chuyển file *.tex qua dạng *.pdf) nhờ đó, các file kết quả ở dạng *.pdf trở nên linh hoạt hơn nhờ liên kết được với các tài liệu khác hoặc liên kết với các phần khác của cùng tài liệu. (Nếu bạng dùng YAP để xem các file kết quả *.dvi, các siêu liên kết cũng được hiểu.) \usepackage{url} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} Đây là một siêu liên kết đến trang chủ của VnTeX: Đây là một siêu liên kết đến trang chủ của VnTeX: \url{ } Khi dùng gói hyperref, bạn có được macro \href cung cấp nhiều tiện nghi hơn khi chèn các siêu liên kết. \href{ }{% Liên kết đến trang chủ của VnTeX} Liên kết đến trang chủ của VnTeX 18
- 4.16 Insert/Comment (chú thích) 5 THE FORMAT MENU 4.16 Insert/Comment (chú thích) Khi soạn các tài liệu với LATEX, một việc làm rất thường xuyên là thêm các chú thích. Cũng xảy ra trường hợp bạn không muốn một phần tài liệu nào đó được in ra, nhưng lại muốn giữ chúng lại trong tập tin nguồn để tiện theo dõi. Khi đó, bạn cần biến phần muốn che đi thành chú thích. Các đơn giản nhất là thêm ký tự % trước dòng cần chú thích. Mọi thứ kể từ ký tự % cho đến cuối dòng đều biến mất. Bạn cũng có thể dùng gói comment; gói này cung cấp môi trường comment để biến một phần nào đó (tùy ý) thành chú thích. Không thể đọc được % các chữ này Không thể đọc được % Đây là dòng chú thích Để in ra ký tự %, bạn dùng dấu gạch ngược: \% sẽ cho %. 5 The Format Menu Nói chung, kiểu dáng (định dạng) chính của tài liệu được cài đặt tự động khi bạn gọi \documentclass: cỡ font chung cho toàn tài liệu (10, 11 hoặc 12 pt), kiểu giấy (a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper), chiều giấy (portrait, landscape). Ví dụ: \documentclass[a5paper,landscape,12pt]{article} Nếu bạn chỉ gọi macro \documentclass mà không có thêm tham số bổ sung, tức là \documentclass{article}, thì các giá trị mặc định mà LATEX lựa chọn là: cỡ giấy A4, cỡ chữ 10 điểm (10pt), chiều giấy portrait. Để chọn lựa các cỡ font khác nhau, xem Mục 5.2.1. 5.1 Format/Line Spacing (dãn dòng) Khoảng cách giữa các dòng có thể thay đổi nhờ \baselinestretch. Ví dụ \baselinestretch 7 mm Có một cách khác, là dùng gói doublespace hoặc gói setspace (một trong hai gói này đều được). Các môi trường được cung cấp là singlespace (cho khoảng cách đơn), onehalfspace (cho khoảng cách bằng 1.5 lần so với bình thường) và doublespace (gấp đôi). 5.2 Format/Character (ký tự) Các tính chất chuẩn của ký tự được liệt kê ở bảng 4. Chú ý rằng, có sự khác biệt khi dùng kiểu chữ in nghiêng (italic) và khi dùng macro \emph (để nhấn mạnh - emphasize). Việc dùng các font chữ in nghiêng luôn cho tác dụng in nghiêng. Trong khi đó, macro \emph thông minh hơn, sẽ in nghiêng khi đoạn văn muốn nhấn mạnh đang ở kiểu bình thường, và sẽ bình thường khi đoạn văn muốn nhấn mạnh đang ở kiểu in nghiêng. Ví dụ 19
- 5.2 Format/Character (ký tự) 5 THE FORMAT MENU Tính chất Môi trường Ví dụ \textnormal textnormal kiểu chữ chính của tài liệu \textrm rmfamily roman \textit itshape in nghiêng \emph n/a emphasis \textmd mdseries trung bình (mặc định) \textbf bfseries in đậm \textup upshape upright (mặc định) \textsl slshape slanted \textsf sffamily sans serif \textsc scshape chữ hoa nhỏ \texttt ttfamily kiểu đánh máy \underline underline gạch chân \mathrm n/a xn + xn 6= zn ∀n 6= 2 \mathbf n/a xn + xn 6= zn ∀n 6= 2 \mathsf n/a xn + xn 6= zn ∀n 6= 2 \mathtt n/a xn + xn 6= zn ∀n 6= 2 \mathit n/a x n + x n 6= z n ∀n 6= 2 \mathnormal n/a xn + xn 6= zn ∀n 6= \mathcal n/a ABCDEFGHIJ Bảng 4: Thuộc tính của ký tự. Bình thường \emph{nhấn mạnh} \\ Bình thường nhấn mạnh bình thường \emph{Nhấn mạnh \emph{bình thường} nhấn mạnh} Nhấn mạnh bình thường nhấn mạnh Các cỡ (logic - tương đối) font chuẩn được liệt kê ở bảng 5. 5.2.1 Format/Character Size (cỡ chữ) Nếu các cỡ chữ mặc định (10, 11 và 12) mà LATEX cung cấp không thỏa mãn nhu cầu của bạn, bạn có thể dùng gói extsizes. Gói này cung cấp nhiều cỡ chữ khác nhau, gồm: cỡ từ 8 đến 12, cỡ 14, cỡ 17 và cỡ 20. Chẳng hạn, bạn muốn viết một bài báo nhỏ (article) dùng cỡ chữ 17 (17pt), bạn hãy khai báo như sau: \documentclass[17pt]{extarticle} Có một cách khác để có được các cỡ font lớn là dùng gói type1cm. Sau khi tải gói này, bạn có thể chọn cỡ font như sau: \fontsize{72pt}{72pt}\selectfont Không hút thuốc Không hút thuốc 20
- 5.2 Format/Character (ký tự) 5 THE FORMAT MENU Font size Example tiny ví dụ scriptsize ví dụ footnotesize ví dụ small ví dụ normalsize ví dụ large ví dụ Large ví dụ LARGE ví dụ huge ví dụ Huge ví dụ Bảng 5: Các cỡ font logic khác nhau. 5.2.2 Format/Character Font (kiểu chữ) Về các font tiếng Việt trong LATEX, bạn có thể xem ở: Chú ý font/. Để bảo đảm tính tương thích, khả chuyển và cho kết quả tốt nhất, LATEX dùng font riêng của mình, các font METAFONT. Điều may mắn là LATEX có thể dùng các PostScript font. Bạn hãy thử dùng một trong các gói sau đây: avant, avangar, bookman, chancery, charter, courier, helvet, helvetic, ncntrsbk, newcent, palatcm, palatino, pifont, times, utopia, zapfchan. Hãy lưu ý rằng, các công thức toán luôn dùng các font riêng của LATEX; nghĩa là việc dùng các kiểu font khác nhau của bạn không ảnh hưởng đến các biểu thức toán. Các gói vừa kể trên có ảnh hưởng đến toàn tài liệu. Để dùng các font PostScript chỉ cho một vùng nào của tài liệu, bạn hãy dùng các macro thay đổi font như trong ví dụ dưới đây. Các họ (kiểu) font hay dùng nhất được liệt kê trong bảng 6. Chú ý rằng, một số font có thể không có Chú ý trên một số hệ thống. Đây là font Việt Nam CMR\\ Đây là font Việt Nam CMR {\fontfamily{cmss}\selectfont Đây là font Việt Nam CMSS!} Đây là font Việt Nam CMSS! Dưới đây là các macro lưu trữ các font mặc định. • \rmdefault (roman) • \sfdefault (sans serif) • \ttdefault (typewriter - kiểu đánh máy) • \bfdefault (boldface - kiểu in đậm) 21
- 5.2 Format/Character (ký tự) 5 THE FORMAT MENU Family Name cmr Computer Modern Roman cmss Computer Modern Sans Serif cmtt Computer Modern Typewriter pag Avantgarde pbk Bookman phv Helvetica pnc New Century Schoolbook ppl Palatino ptm Times pcr Courier Bảng 6: Họ các font hay dùng. • \mddefault (medium - kiểu trung bình) • \itdefault (italics - kiểu in nghiêng) • \sldefault (slanted) • \scdefault (small caps - kiểu chữ hoa cỡ nhỏ) • \updefault (upright) Đôi khi, bạn muốn thay thế toàn bộ một kiểu font nào đó bởi một kiểu khác. Chẳng hạn, nếu bạn muốn thay thế các font cmr trong văn bản bởi cmss, bạn có thể dùng \renewcommand{\rmdefault}{cmss} 5.2.3 Format/Character Colour (màu chữ) Bạn có thể dùng gói color để thay đổi màu chữ. Các màu được định nghĩa trước là black, white, red, green, blue, cyan, magenta, và yellow. Bạn cũng có thể định nghĩa màu của riêng bạn. \textcolor{red}{Đây là màu đỏ.}\\ \color{blue} Đây là màu xanh!\\ Đây là màu đỏ. Dòng này cũng có màu xanh.\\ Đây là màu xanh! \definecolor{mygreen}{rgb}{0.1,1,0.1} Dòng này cũng có màu xanh. \color{mygreen} Đây là màu mới được định nghĩa Đây là màu mới được định nghĩa\\ Hộp màu xanh da trời \color{black}% chữ bây giờ có màu đen \colorbox{cyan}{Hộp màu xanh da trời}\\ Khung văn bản nền xanh lá cây, viền xanh \fcolorbox{blue}{green}{% Khung văn bản nền xanh lá cây, viền xanh} 22
- 5.3 Format/Paragraph (đoạn văn) 5 THE FORMAT MENU Gói color còn cung cấp cho bạn macro \pagecolor. Bạn có thể đoán ra macro này để làm gì chứ? 5.3 Format/Paragraph (đoạn văn) Trước hết, bạn phải nhớ rằng “đoạn” trong LATEX là phần tài liệu trong tập tin nguồn được kết thúc bằng \\, hoặc theo sau bởi một dòng trắng. Môi trường là cách LATEX thiết lập các thuộc tính cho một phần của tài liệu, ví dụ thuộc tính cỡ chữ, canh lề, v.v Điều này giống như khi trong Microsoft Word, bạn chọn một phần tài liệu với chuột, rồi chọn tính chất (properties) của phần văn bản đó (từ menu ngữ cảnh - chuột phải). Một cách khác để thiết lập môi trường là đặt đoạn tài liệu vào trong cặp dấu ngoặc. Các môi trường được sử dụng dưới dạng \begin{tên-môi-trường} văn bản thuộc môi trường \end{tên-môi-trường} Chẳng hạn, nếu bạn muốn canh giữa cho một đoạn văn, bạn có thể dùng môi trường center: \begin{center} Đoạn văn này được canh giữa Đoạn văn này được canh giữa \end{center} Các môi trường chuẩn của LATEX được liệt kê trong bảng 7. Trong các mục tiếp theo của tài liệu này, bạn sẽ biết dùng chúng như thế nào và khi nào. 5.3.1 Format/Paragraph Horizontal Alignment (canh theo chiều ngang) Theo mặc định, văn bản sẽ được canh đều (justify). Để canh trái, canh phải, canh giữa bạn dùng các môi trường flushleft, flushright, center tương ứng. Bạn có thể dùng các macro \raggedleft, \raggedright, hoặc \centering (với tham số là phần văn bản cần canh lề). Lưu ý rằng, các macro này không bắt đầu một đoạn văn mới. 5.3.2 Format/Paragraph Vertical Alignment (canh theo chiều đứng) Cách LATEX chia ra các đoạn văn có thể nói là khó hiểu đối với các người quen sử dụng các chương trình xử lý văn bản. Hãy nhớ rằng, các dòng trống, chuỗi từ hai khoảng trắng liên tiếp nhau đều được bỏ qua. Để thay đổi khoảng cách giữa các đoạn văn, hãy dùng các macro \smallskip, \medskip, \bigskip. Nếu bạn muốn có thêm khoảng cách, bạn có thể dùng macro \vskip như ví dụ dưới đây: 23
- 5.3 Format/Paragraph (đoạn văn) 5 THE FORMAT MENU Môi trường Mục đích array Tạo các mảng toán học center Canh giữa description Danh sách mô tả enumerate Danh sách có thứ tự (có đánh số) eqnarray Chuỗi các phương trình được canh thẳng equation Phương trình, biểu thức toán figure Hình vẽ (float) flushleft Canh trái flushright Canh phải itemize Danh sách liệt kê letter Thư từ list Danh sách tổng quát minipage Tạo một trang giấy nhỏ picture Hình ảnh gồm văn bản, mũi tên, đường kẻ, đường tròn quotation Trích dẫn (có thụt đầu dòng) quote Trích dẫn (không thụt đầu dòng) tabbing Canh thẳng các đoạn văn bất kỳ table Tạo bảng tabular Canh văn bản theo cột thebibliography Tạo thư mục, danh sách tài liệu tham khảo theorem Định lý, bổ đề, định nghĩa, titlepage Tạo trang tiêu đề verbatim Giả lập bàn phím máy tính verse Bài thơ, câu trích, v.v Bảng 7: Các môi trường chuẩn của LATEX. 24
- 5.3 Format/Paragraph (đoạn văn) 5 THE FORMAT MENU Đoặn văn này sẽ cách đoạn văn bên dưới một khoảng chính xác là 1.3 cm: Đoặn văn này sẽ cách đoạn văn bên dưới một khoảng chính xác là 1.3 cm:\\ \vskip 1.3cm phía trên đoạn văn này là một khoảng trắng rộng chính xác 1.3cm. phía trên đoạn văn này là một khoảng trắng rộng chính xác 1.3cm. Để ý rằng macro \vskip chỉ làm việc nếu bạn đặt nó giữa các đoạn văn. Do đó, nếu ngay sau khi bắt đầu một trang mới (chẳng hạn bằng \newpage), bạn sẽ không thấy tác dụng của việc dùng macro \vskip. Có một cách giải quyết, là đánh dấu bằng macro \null. Macro này, đúng như tên của nó, chỉ có tác dụng đánh dấu mà không in ra bất cứ điều gì. \null \vskip 1.3 cm Phía trên là khoảng trắng 1.3 cm Phía trên là khoảng trắng 1.3 cm Cuối cùng, macro \vfill được dùng để chèn tự động các dòng trắng giữa các đoạn văn và đẩy lùi đoạn văn đi sau \vfill về tận cuối trang. Đoạn văn ở đầu trang Đoạn văn ở đầu trang\\\vfill Đoạn văn ở giữa trang\\\vfill Đoạn văn ở giữa trang Đoạn văn ở cuối trang Đoạn văn ở cuối trang 5.3.3 Format/Paragraph Margins (margin của đoạn văn) Các margin được thiết lập trong toàn tài liệu như đã nói ở Mục 2.5. Việc thay đổi các thiết lập này cho một phần của tài liệu sẽ không có tác dụng. Nếu muốn, bạn phải tạo môi trường riêng, như trong ví dụ dưới đây: % Tạo môi trường mới có tên là margins % Môi trường có hai tham số: #1: margin trái; #2: margin phải \newenvironment{margins}[2] {% bắt đầu môi trường \begin{list}{}{% \setlength{\leftmargin}{#1} % margin trái \setlength{\rightmargin}{#2}% margin phải } \item } {% kết thúc môi trường \end{list} } 25
- 5.4 Format/Paragraph Border and Shade (Kẻ khung và tạo bóng) 5 THE FORMAT MENU Việc dùng môi trường mới được cho ở ví dụ sau: Như bạn thấy, đoạn văn này bình thường Như bạn thấy, đoạn văn này bình thường \begin{margins}{0.5cm}{1cm} Nhưng đoạn văn này dùng margin riêng Nhưng đoạn văn này dùng margin \end{margins} riêng 5.3.4 Format/Paragraph Indentation (thụt đầu dòng) Để thay đổi cách thụt dòng đầu tiên của một đoạn văn, dùng macro \parindent. Trong ví dụ sau, ta đặt khoảng cách thụt đầu dòng là 1 cm: \setlength{\parindent}{1cm} Macro \indent và macro \noindent cho phép hay không việc thụt đầu dòng ở đoạn văn kế tiếp. Cuối cùng, khoảng cách giữa hai đoạn văn được thay đổi bởi \parskip: \setlength{\parskip}{3pt} 5.4 Format/Paragraph Border and Shade (Kẻ khung và tạo bóng) Để đóng khung một đoạn văn hay một từ, bạn có thể gói framed, hoặc dùng lệnh \parbox. (Trong trường hợp sau, bạn phải nạp thêm gói cal.) Dưới đây là cách đơn giản nhất, dùng gói framed: \setlength{\FrameRule}{2pt} \setlength{\FrameSep}{5pt} \begin{framed} đây là đoạn văn được đóng khung! đây là đoạn văn được đóng khung! \end{framed} \definecolor{shadecolor}{rgb}{0.9,0.8,1} \begin{shaded} đây là đoạn văn được tô bóng, bạn có thích nó đây là đoạn văn được tô bóng, không? bạn có thích nó không? \end{shaded} Một cách khác, là dùng gói boxedminipage và dùng các môi trường tương đương. Cụ thể hơn, nhóm lệnh sau \framebox{ \begin{minipage}[c]{\linewidth} văn bản được đóng khung \end{minipage} } có hiệu quả tương đương với việc dùng môi trường boxedminipage. Dưới đây là ví dụ dùng macro \parbox: 26
- 5.5 Format/Colour (màu) 5 THE FORMAT MENU \noindent \fbox{ \parbox{\linewidth đoạn văn được đóng khung! -2 \fboxsep -2 \fboxrule} {đoạn văn được đóng khung!} } Macro \linewidth dùng để xác định chiều rộng (tương đối) của khung theo độ rộng của dòng. Tất nhiên, thay vì dùng \linewidth -2 \fboxsep -2 \fboxrul như trên, bạn có thể chỉ ra độ rộng (tuyệt đối) của khung nếu bạn thích. Cuối cùng, bạn có thể tạo một khung với độ rộng bằng với độ rộng của văn bản được đóng khung (việc tính toán này là tự động, bạn không phải quan tâm): khung rộng bằng độ rộng của từ khung rộng bằng độ rộng của từ Đi câu \framebox[\width]{Đi câu} Nếu bạn muốn, chẳng hạn, khung có độ rộng bằng hai lần độ rộng của từ “Đi Câu”, bạn có thể dùng: khung rộng bằng hai lần độ rộng của từ khung rộng bằng hai lần độ rộng của từ \framebox[2\width][l]{Đi câu} Đi câu Trong ví dụ trên, macro \framebox được gọi với tham số bổ sung thứ hai ([l]). Tham số này cho biết cách canh lề văn bản bên trong khung (ở ví dụ trên là canh trái). 5.5 Format/Colour (màu) Bây giờ, bạn đã biết cách đóng khung một đoạn văn. Làm thế nào để tô màu (nền) cho khung văn bản đó? \colorbox{yellow}{ \begin{minipage} {0.8\linewidth} Đoạn văn trong khung này được tô Đoạn văn trong khung này được tô màu vàng! màu vàng! \end{minipage} } Vui lòng xem Mục 5.2.3 để biết thêm chi tiết về việc dùng màu. 5.6 Format/Columns (cột) Các macro \twocolumn và \onecolumn sẽ bắt đầu một trang mới với số cột văn bản là một hoặc hai tương ứng. Các macro này có thể đặt bất cứ đâu trong tài liệu, và có thể đặt như là tham số khi gọi \documentclass. Nếu chừng đó vẫn chưa đủ, bạn có thể dùng gói multicol; gói này cung cấp môi trường multicols giúp bạn chia trang giấy ra hai cột hay nhiều hơn. Tham số đầu tiên của môi trường cho biết số cột, như ví dụ dưới đây là 2. 27
- 6 THE TABLE MENU (TẠO BẢNG) \columnseprule=2pt \begin{multicols}{2} Chiều rộng khoảng cách giữa các cột văn bản được điều khiển bởi tham số \cmd{columnsep}, và chiều rộng của dòng kẻ giữa các cột được điều khiển bởi tham số \cmd{columnseprule}. Trong ví dụ này, tác giả đã dùng \verb!\columnseprule=2pt!. \end{multicols} Chiều rộng khoảng cách giữa các cột văn bản khiển bởi tham số \columnseprule. Trong ví được điều khiển bởi tham số \columnsep, và dụ này, tác giả đã dùng \columnseprule=2pt. chiều rộng của dòng kẻ giữa các cột được điều \columnseprule=1pt \begin{multicols}{2}[Chú ý: đặt ra ngoài các cột ] Đôi khi, có một phần văn bản nào đó bạn muốn đặt ra ngoài các cột, ví dụ khi tạo các mục với \verb!\section{ }! Hãy dùng tham số bổ sung cho môi trường. \end{multicols} Chú ý: đặt ra ngoài các cột Đôi khi, có một phần văn bản nào đó bạn muốn \section{ } Hãy dùng tham số bổ sung đặt ra ngoài các cột, ví dụ khi tạo các mục với cho môi trường. 6 The Table Menu (tạo bảng) Đây là một chủ đề khá phức tạp Dưới đây là ví dụ về bảng. \begin{table}[htbp] % thứ tự ưu tiên: here, top, bottom, separate page % \begin{small} % font cho bảng \begin{center} % để bảng vào giữa trang % % tạo bảng với 4 cột, canh theo tứ tự: trái-giữ-phải-cố định % \begin{tabular}{|l|c|r|p{4cm}|} \hline % đường kẻ ngang \textbf{Trái} & \textbf{Giữa} & \textbf{Phải} & \textbf{4 cm} \\ \hline dòng 1, cột 1 & dòng 1, cột 2 & dòng 1, cột 3 & dòng 1, cột 4 \\ \cline{1-2} % đường kẻ giữa giữa các cột 1-2 dòng 2, cột 1 & dòng 2, cột 2 & dòng 2, cột 3 & dòng 2, cột 4 \\ \cline{1-2} \multicolumn{2}{|c|}{trộn hai cột} & dòng 3, cột 3 & dòng 3, cột 4 \\ \cline{1-3} dòng 4, cột 1 & dòng 4, cột 2 & dòng 4, cột 3 & ~ \hfill phải \\ % thêm một khoảng trắng bằng "\ " dòng 5, cột 1 & dòng 5, cột 2 & dòng 5, cột 3 & trái \hfill ~ \\ dòng 5, cột 1 & dòng 5, cột 2 & dòng 5, cột 3 & ~ \hfill giữa \hfill ~ \\ \hline \end{tabular} 28
- 6 THE TABLE MENU (TẠO BẢNG) \caption{Ví dụ về bảng.} % đặt nhãn ở đây, để có thể tham khảo chéo % ví dụ, "xem Bảng~\ref{tab:sampletab}" \label{tab:sampletab} \end{center} % \end{small} \end{table} Kết quả của các mã ở trên là bảng 8. Hãy nhớ rằng các bảng là “float”, có thể được đặt vào vị trí theo ý của LATEX (chứ không phải của bạn!); xem Mục 4.12. Trái Giữa Phải 4 cm dòng 1, cột 1 dòng 1, cột 2 dòng 1, cột 3 dòng 1, cột 4 dòng 2, cột 1 dòng 2, cột 2 dòng 2, cột 3 dòng 2, cột 4 trộn hai cột dòng 3, cột 3 dòng 3, cột 4 dòng 4, cột 1 dòng 4, cột 2 dòng 4, cột 3 phải dòng 5, cột 1 dòng 5, cột 2 dòng 5, cột 3 trái dòng 5, cột 1 dòng 5, cột 2 dòng 5, cột 3 giữa Bảng 8: Ví dụ về bảng. Đôi khi, một bản quá rộng sẽ không vừa khít trong một trang giấy. Trong trường hợp này, gói rotating cung cấp môi trường sidewaystables để xoay các bảng theo chiều ngang hay học. Ngoài ra, gói longtable cung cấp các bảng có thể tự động “cắt” ra nhiều phần ở các trang khác nhau nếu bảng quá dài. [TODO: thêm các ví dụ.] Để thêm màu cho các ô trong bảng, bạn có thể dùng gói colortbl: Đổi màu theo dòng:\\\vskip 2mm \begin{tabular}{|l|c|r|} \hline Đổi màu theo dòng: \rowcolor{cyan} một & hai & ba\\ \rowcolor{green} một hai ba một & hai & ba\\ một hai ba \rowcolor{yellow} một hai ba một & hai & ba\\ \hline \end{tabular} 29
- 7 THE TOOLS MENU Đổi màu theo cột:\\\vskip 2mm \begin{tabular} {|>{\columncolor{cyan}}l |>{% màu chữ: đỏ; màu cột: green; canh: giữa \color{red} Đổi màu theo cột: \columncolor{green}}c |>{\columncolor{yellow}}r| một hai ba } \hline một hai ba một & hai & ba\\ một hai ba một & hai & ba\\ một & hai & ba\\ \hline \end{tabular} [TODO: gói floatflt để thay đổi “float” của bảng.] 7 The Tools Menu 7.1 Tools/Default Language (ngôn ngữ) Ngôn ngữ mặc định dành cho LATEX là tiếng Anh, tuy nhiên, các ngôn ngữ khác cũng được hỗ trợ. Nếu bạn muốn dùng tiếng Việt với LATEX, bạn có thể sử dụng gói VnTeX (xem http: //vntex.sarovar.org/ để biết thêm chi tiết). Một số các tập tin mẫu có kèm theo tài liệu này cho bạn ví dụ về sử dụng tiếng Việt trong LATEX. Nếu bạn dùng nhiều ngôn ngữ trong cùng một tài liệu, bạn có thể dùng gói babel như sau: \usepackage[english,vietnam]{babel} Trong ví dụ trên, ngôn ngữ được dùng sau cùng là tiếng Việt. [TODO: ví dụ sử dụng gói babel] 7.2 Tools/Hyphenation Although LATEX does a good job at hyphenating words, sometimes manual intervention may yield better results. Manual hyphenations are specified inserting \- where we want the word to be broken. A better way is to declare hyphenation rules: \hyphenation{ge-o-phy-sics, ge-o-lo-gy, earth} The above declaration instructs LATEX not to hyphen the word “earth”. Another way to prevent a word to be hyphenated is to enclose it in \mbox: Do not hyphen \mbox{internationalisation}. 30
- 7.3 Tools/Spell Check 9 THE END (LỜI CUỐI) 7.3 Tools/Spell Check Spell checking the text is not something LATEX is aware of; it is another tool’s work. Under Unix, you can use ispell this way: shell> ispell -t mydocument.tex The -t switch instructs ispell to ignore TEX and LATEX commands. If your language is different than English, specify the appropriate dictionary with the -d switch: shell> ispell -d italiano -t mydocument.tex 8 The Help Menu (giúp đỡ) Khi bạn cần sự giúp đỡ trong việc sử dụng LATEX, bạn có thể có được tài liệu bằng nhiều cách khác nhau, bao gồm “online” và “offline”. Bạn nên tham khảo địa chỉ tex-archive/info/ để có thêm các thông tin rất hữu ích. • info latex (hệ thống Unix) cho bạn các thông tin khá đầy đủ về LATEX; • chứa tài liệu tham khảo (online) và rất nhiều liên kết có ích. • chứa các giúp đỡ về LATEX, thích hợp cho người dùng Windows. • nhóm tin news:comp.text.latex. Nhiều bản phân phối GNU/Linux có đóng gói teTeX, một trong những hệ thống TEX/LATEX đầy đủ và khá phổ biến. Rất nhiều tài liệu đi cùng với phân phối của teTeX và chúng thường được đặt trong thư mục TeXMF/doc. Đối với người dùng MikTeX (Windows), hãy để ý đến các thư mục TeXMF/doc và TeXMF/source. Các thư mục này chứa rất nhiều tài liệu, ví dụ, mã nguồn giúp đỡ bạn sử dụng LATEX. Ngoài ra, nếu bạn có thể tham gia cộng đồng ViệtTUG (nhóm người Việt Nam sử dụng TEX) để có được sự giúp đỡ hoàn toàn miễn phí. 9 The End (Lời cuối) This document is c Guido Gonzato, 2001, and released under the GNU General Public Licence. I really hope you’ll find this guide useful. For any suggestions or comments, please feel free to contact me. ccc giữ bản quyền bản dịch tiếng Việt của tài liệu này, c 2004. Tài liệu hướng dẫn này được ccc biên dịch sang tiếng Việt từ bản gốc (tiếng Anh) của tác giả Guido Gonzato và phân phối lại theo giấy phép GNU LGPL (Lesser General Public License). 31
- 9 THE END (LỜI CUỐI) Bạn nên tham khảo giấy phép GNU LGPL để biết thêm chi tiết về các điều kiện sử dụng, phân phối và thay đổi tài liệu này cùng mã nguồn của nó. Hy vọng rằng tài liệu này sẽ có ích cho bạn. Nếu bạn có ý kiến, đề nghị gì đóng góp, xin vui lòng liên lạc với ccc. Xin cám ơn. 32
- A CÁC MẪU TÀI LIỆU A Các mẫu tài liệu Mẫu tài liệu tương ứng với lớp article đã được giới thiệu ở Mục 2.1. Dưới đây là một số mẫu ứng với các lớp khác của LATEX. Bạn có thể tự đánh máy các mẫu này, hoặc chép mã nguồn từ địa chỉ \documentclass[twoside,11pt]{book} \usepackage[tcvn]{vietnam} % URL: \begin{document} \frontmatter \begin{titlepage} \title{Cuốn sách đầu tiên} \end{titlepage} \author{ccc} \maketitle \tableofcontents \mainmatter \part{Phần Mở đầu} \chapter{Chương Giới thiệu} \section{Mục Bắt đầu} Nội dung chương đầu tiên. \part{Phần Kết thúc} \backmatter Cám ơn bạn đã đọc cuốn sách này. \end{document} Hình 3: Mẫu để tạo cuốn sách. 33
- A CÁC MẪU TÀI LIỆU \documentclass[twoside,12pt]{report} \usepackage[tcvn]{vietnam} % URL: % liệt kê các bảng và hình vẽ ‘‘float’’ ở cuối \usepackage{endfloat} \begin{document} \frontmatter \title{Báo cáo cuối cùng} \author{ccc} \date{Quảng Nam, \today} \maketitle \begin{abstract} Đây là báo cáo cuối cùng. \end{abstract} \tableofcontents \listoftables \listoffigures \mainmatter \part{Phần bắt đầu} \section{Giới thiệu} Bắt đầu nội dung báo cáo. \end{document} Hình 4: Mẫu tạo báo cáo. \documentclass[12pt]{letter} \usepackage[tcvn]{vietnam} % URL: \begin{document} \address{Địa chỉ người gửi} \signature{Chữ ký} \begin{letter}{Địa chỉ người nhận} \opening{Nga thân mến!} Thank you for being my friend. \closing{Mong sớm gặp lại bạn!} \ps{P.S. Cho tớ gửi lời thăm My!} \encl{Hình vẽ của gia đình tôi!} \end{letter} \end{document} Hình 5: Mẫu tạo lá thư. 34
- A CÁC MẪU TÀI LIỆU \documentclass[a4paper]{article} \usepackage{type1cm} \usepackage[tcvn]{vietnam} \usepackage{times} \usepackage{color} \usepackage{rotating} \pagestyle{empty} \begin{document} \begin{sidewaysfigure} \fontsize{2.5cm}{2.5cm}\selectfont \centerline{\textcolor{blue}{\textbf{Vui lòng:}}} \vskip 1cm \fontsize{4cm}{3cm}\selectfont \centerline{\textcolor{red}{\MakeUppercase{Không}}} \centerline{\textcolor{red}{\MakeUppercase{hút}}} \centerline{\textcolor{red}{\MakeUppercase{ở đây!}}} \vskip 1cm \fontsize{2cm}{2cm}\selectfont \centerline{\textcolor{magenta}{Nếu bạn hút,}} \centerline{\textcolor{magenta}{bạn sẽ \emph{bị phạt!}}} \end{sidewaysfigure} \end{document} Hình 6: Mẫu tạo thông báo. 35
- A CÁC MẪU TÀI LIỆU \newif\ifpdf \ifx\pdfoutput\undefined \pdffalse \else \pdftrue \pdfoutput=1 \fi \documentclass{article} \usepackage[tcvn]{vietnam} % để viết tiếng Việt % xem: \usepackage[absolute,showboxes]{textpos} \usepackage{color} % để có màu \usepackage{framed} % để tạo khung \ifpdf \usepackage[pdftex]{graphicx} \pdfcompresslevel=9 \else \usepackage{graphicx} \fi \usepackage{graphicx} % để nạp hình vẽ \setlength{\TPHorizModule}{10mm} % đơn vị tính chiều dài \setlength{\TPVertModule}{\TPHorizModule} \setlength{\TPboxrulesize}{1pt} % chiều rộng của đường viền khung % bắt đầu mọi thứ từ gần góc trên bên trái của trang \textblockorigin{0mm}{0mm} \begin{document} \setlength{\parindent}{0pt} \definecolor{shadecolor}{rgb}{0.9,1,1} \begin{textblock}{5}(0,0) % Khối này có độ rộng là 5 đơn vị % Chiều cao của khối được tính tự động. \begin{center} \begin{minipage}[c]{0.8 \linewidth} \begin{shaded} Góc phía trên bên trái của khối văn bản này trùng với \emph{gốc} tính tọa độ của trang; gốc này được đặt tọa độ (0mm,0mm). \MakeUppercase{ở} khối này, thì \emph{khung}, \emph{chiều rộng} của ‘‘margin’’, \emph{màu và bóng} có được nhờ dùng môi trường \texttt{minipage} và \texttt{shaded}. \end{shaded} \end{minipage} \end{center} \end{textblock} \begin{textblock}{6}(10,1) \ifpdf \includegraphics[width=6cm,angle=-90]{gnuplot.pdf} \else \includegraphics[width=6cm,angle=-90]{gnuplot.ps} \fi Hình vẽ này được đặt ở tọa độ (10,1). Lưu ý rằng việc xoay nó một góc $90^0$ theo chiều kim đồng hồ làm hình vẽ bị tràn ra ngoài khung. \end{textblock} \begin{textblock}{5}[0.5,0.5](2.5,8) Khối này được đặt ở vị trí (2.5,8), nhưng vì ta sử dụng tham số bổ sung [0.5,0.5], nên tâm của khối được đặt vào vị trí (2.5,8), chứ không phải là góc trên bên trái của khối. \end{textblock} \begin{textblock}{3,4}(6,4) Kích thước của khối này là $3cm\times 4cm$. Gốc tọa độ (tương đối) của khối này được đặt ở vị trí (6,7) trên trang. \emph{Chú ý rằng các chữ bị tràn ra ngoài khối. Bạn có thể dùng \texttt{minipage} để tránh điều này.} \end{textblock} \end{document} Hình 7: Cách thiết kế một “poster”. 36