Có thể thay đổi font của một đoạn text sử dụng lệnh (Table 1), hoặc chuyển sang một font khác dùng khai báo (Table 2 trang 2). Có thể chuyển sang kích thước font khác bằng Table 3 trang 3. Có thể sử dụng các môi trường tương ứng không sử dụng dấu gạch chéo (Table 4 trang 3).
25 trang |
Chia sẻ: NamTDH | Lượt xem: 1682 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Nhập môn Latex, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ành 3ex.
17 Boxes và Minipages
Bất cứ nội dung nào có thể chia thành các hộp-khung nhỏ. Khung nhỏ nhất chứa một ký tự. Mỗi khung có chiều dài,
chiều rộng, và chiều sâu. Chiều cao là khoảng cách từ đường gốc-chân đến đỉnh của khung, còn chiều sâu là khoảng
cách từ chân đến đáy của khung. Xem minh họa trong Hình vẽ 15.
yheight
depth
width
aheight
width
Hình 15: Minh họa các chiều rộng sâu và cao.
Nhập môn LATEX FIT-HUT 17
Mỗi một box được xử lý như một đối tượng đơn, và không tách dòng. Như vậy có thể trnhs tách dòng bằng cách
đặt text vào một khung. Các loại khung cơ bản bao gồm:
\mbox{text}
Để đặt kích cỡ và canh lề trong box dùng:
\makebox[width][justification]{text}
Canh lề có thể là l (trái), r (phải) hoặc c (giữa). Khung có thể được đặt xung quanh box bằng:
\fbox{text}
\framebox[width][justification]{text}
Gói fancybox cung cấp các lệnh giống như \fbox:
\ovalbox{text}
\Ovalbox{text}
\doublebox{text}
\shadowbox{text}
Các box trên chỉ có thể chứa không quá một dòng. Để có thể có đoạn văn trong box, dùng:
\parbox[alignment][height]{width}{contents}
hoặc dùng môi trường:
\begin{minipage}[alignment][height]{width}{contents}
Có thể làm nổi hoặc làm chìm:
\raisebox{lift}[depth][height]{contents}
Có thể tạo ra các hình chữ nhật đen - rules - bằng:
\rule[lift]{width}{height}
Ví dụ:
\newlength\mylen
\settowidth{\mylen}{Some Text}%
\makebox[0pt][l]{\rule[0.5ex]{\mylen}{1pt}}%
Some Text
Some Text
Có thể ghi một vài đoạn text vào một savebox. Đàu tiên cần định nghĩa một savebox mới:
\newsavebox{cmd}
trong đó cmd là tên của box mới. Text có thể được ghi vào box bằng lệnh:
\sbox{cmd}{text}
hoặc bằng môi trường:
\begin{lrbox}{cmd}
text
\end{lrbox}
Nội dung của savebox có thể được hiển thị bằng:
\usebox{cmd}
Nhập môn LATEX FIT-HUT 18
Bài tập 17
e Tái tạo lại hình Hình vẽ 16, hoặc ! Tái tạo lại hình Hình vẽ 17. Gợi ý: lệnh \vfill tạo ra một dấu cách đứng
để điền đầy trang, còn \hfill dấu cách ngang. Lệnh \dotfill hiển thị các dấu chấm đến cuối dòng.
Once upon a
time there were
two minipages.
The first was 1
inch wide
whereas the other was two inches
wide, and they lived happily side
by side each inside an fbox.
Hình 16: Bài tập 17 — e Boxes và Minipages
Có thể tạo khung xung quanh box:
This is a minipage that
is one and a quarter
inches wide. . . . . . . . . . . . .
And two inches ////high in
height.
Hình 17: Bài tập 17 — ! Boxes và Minipages
Tự kiểm tra
• Thay đổi canh lề của minipage.
• Dùng \parbox thay cho minipage. So sánh\parbox và minipage!
• Thử các loại khung xung quanh minipage.
• Làm nổi và làm chìm bằng \raisebox.
• ! Làm thế nào để khai báo chiều cao của minipage?
18 Làm việc với ả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úng 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 dvips) và PDF hay PNG (với
PDFLATEX). Ví dụ câu lệnh:
\includegraphics{shapes}
Nhập môn LATEX FIT-HUT 19
dùng shapes.ps nếu dùng LATEX và shapes.pdf nếu dùng PDFLATEX.
Tham số phụ option-list dùng để quản lý ảnh. Các tham số hay dùng có trong Table 10 trang 20
Bảng 10: Các tham số thường dùng cho \includegraphics
angle=x quay ảnh một góc x◦
width=len phóng/thu về chiều rộng len.
height=len phóng/thu về chiều cao len.
scale=x phóng/thu.
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 không hiển thị ảnh, chỉ hiển thị khung xung quanh.
Gói graphicx còn cung cấp các lệnh sau:
\rotatebox{angle}{text}
Quay text một góc angle.
\scalebox{h scale}[v scale]{text}
Phóng/thu text. Nếu chỉ có h scale tỷ lệ tương đối được giữ.
\reflectbox{text}
Phản xạ text
\resizebox{h length}{v length}{text}
Thay đổi kích thước text để có kích thước h length và chiều cao v length. Dấu ! đảm bảo tỷ lệ tương đối khi chỉ có
một kích thước được đưa ra.
Bài tập 18
Copy các files shapes.ps and shapes.pdf, as described in the slides. tạo tài liệu exercise18.tex chứa ảnh
shapes.ps hoặc shapes.pdf, phụ thuộc vào engine Canh lề giữa dùng, \centerline. Đóng khung dùng \fbox.
Phóng to/thu nhỏ và xoay.
19 Hình vẽ và bảng
Hình vẽ và bảng là các đối tượng floats — được floated-treo vào một vị trí trogn tài liệu. Hình vẽ và bảng có tiêu đề
và có số thứ tự đi kèm. Tiêu đề được hiển thị bằng:
\caption[short caption]{caption text}
LATEX đánh số các đối tượng treo tự động, các đối tượn treo được tham chiếu bằng: \label và \ref.
Hình vẽ được tạo ra bằng: figure. Bảng được tạo ra bằng môi trường table. Cả figure và table đều không thể chứa
ngắt trang.
Các hình con được tạo bởi lệnh:
\subfigure[caption]{contents}
được định nghĩa trong gói subfigure.
Danh sách hình vẽ và danh sách bảng hiển thị bằng:
\listoffigures
\listoftables
Thông thường ở sau mục lục.
Nhập môn LATEX FIT-HUT 20
Bài tập 19
Copy circle.ps (hoặc circle.pdf) và rectangle.ps (hoặc rectangle.pdf). Tạo ra tài liệu exercise19.tex
Hình 18 và 19, và Table 11. Tham chiếu tới các đối tượng trên bằng \ref.
Hình 18: Some shapes
(a) A Circle (b) A Rectangle
Hình 19: (a) A Circle, (b) A Rectangle
Bảng 11: An example table
A B
I 0.5 1.0
II 12 14
20 Slides
Có nhiều lớp để tạo slides. Lớp đơn giản nhất là slides. Các lớp phức tạp beamer và prosper có thể tạo ra các slides
rất chuyên nghiệp. ở đây chúng ta dùng lớp seminar.
Mỗi slide được tạo ra bằng môi trường slide (landscape) hoặc slide* (portrait). Các đoạn text nằm ngoài slide đều
được coi là chú thích. Có thể chuyển đổi slides thành bài báo(v.d. cho handouts) dùng tùy biến article của lớp.
Có thể trộn các slide đứng và ngang với nhau, nhưng phải in chúng một cách riêng biệt. Có thể hiển thị riêng
biệt các slide bằng:
\landscapeonly
\portraitonly
tất cả các lệnh này phải đặt trong phần khai báo của tài liệu.
Có thể hiển thị riêng slide hoặc chú thích sử dụng tùy biến slidesonly hoặc notesonly.
Khung của slide có thể thay đổi bằng:
\slideframe{style}
Nhập môn LATEX FIT-HUT 21
Các kiểu khung cơ bản: none and plain. Gói fancyboxcung cấp các kiểu khung khác: shadow, double, oval and
Oval. Kiểu trang mới cho slide có thể được định nghĩa bởi:
\newpagestyle{name}{header}{footer}
Bài tập 20
Làm lại vài slide đã học. Đảm bảo các slide có tiêu đề, thêm các chú thích, ngoài môi trường slide. Thử các tùy
biến article cho lớp seminar : \documentclass[article]{seminar}.
21 Định nghĩa môi trường mới
Môi trường mới định nghĩa bằng lệnh:
\newenvironment{env-name}[n][default]{begin-code}{end-code}
trong đó n là số các tham số default là giá trị mặc định của tham số đầu tiên, nếu tham số bổ sung là cần thiết.
Giống lệnh \newcommand các tham số được biểu diễn bằng #1, #2 ..., và các biến này chỉ sử dụng được trong phần
begin-code.
Bài tập 21
Định nghĩa một môi trường mới, kẻ một đường kẻ ngang ở đầu và cuối một section.
Chú thích: Lệnh \noindent xóa qui định về thụt đầu dòng.
22 Con đếm
Tất cả các số thứ tự do LATEX tạo ra tự động đều được lưu vào các biến con đếm. Biến con đếm mới khai báo bằng:
\newcounter{ctr-name}[outer-ctr]
Ví dụ: \newcounter{exercise}. Tham số bổ sung outer-ctr khởi tạo lại con đếm mỗi khi outer-ctr tăng một đơn vị.
Ví dụ: \newcounter{exercise}[chapter] sẽ khởi động lại con đếm exercise tại đầu mỗi chương.
Các biến con đếm là các biến nguyêcn, có giá trị thay đối bằng:
\stepcounter{ctr}
tăng ctr 1.
\refstepcounter{ctr}
tăng 1, cho phép tham chiếu đến bằng \ref và \label.
\setcounter{ctr}{value}
đặt giá trị con đếm là value.
\addtocounter{ctr}{value}
cộng value vào con đếm. Nếu giá trị của con đếm khác cần hco value dùng
\value{ctr}
Giá trị của con đếm được hiển thị bằng \thectr. Ví dụ: \thepage hiển thị con đếm page. Mặc định, \thectr hiển
thị các giá trị bằng chữ số ả rập, tuy nhiên có thể định nghĩa lại bằng các lệnh:
Nhập môn LATEX FIT-HUT 22
\arabic{ctr}
\roman{ctr}
\Roman{ctr}
\alph{ctr}
\Alph{ctr}
\fnsymbol{ctr}
(Chú ý \fnsymbol chỉ có thể được dùng trong chế độ công thức toán.) Ví dụ:
\renewcommand{\thechapter}{\Roman{chapter}}
chuyển số chương sang chữ số La mã hoa.
Bài tập 22
Biến đổi môi trường tạo ra trong Bài tập 21 để hiển thị số thứ tự các bài tập như trong handouts. Tạo ra tối
thiểu 2 môi trường exercise để thấy con đếm tăng đúng. Tham chiếu đến các bài tập dùng \ref.
Gợi ý, khi bắt đầu exercise con đếm cần phải tăng trước khi giá trị được in ra.
Sau đó, định nghĩa lại \theexercise để hiển thị theo số La mã .
! Biến đổi để số thứ tự phụ thuộc vào section.
23 Các lệnh điều kiện
TEX có các lệnh điều kiện định nghĩa bởi gói ifthen :
\ifthenelse{test}{then text}{else text}
\whiledo{test}{do text}
test, là biểu thức Boolean. Các biến Boolean được định nghĩa bằng:
\newboolean{name}
Biến boolean được gán giá trị bằng:
\setboolean{name}{value}
trong đó value là true hoặc false. Giá trị của biến boolean variable được kiểm tra bằng:
\boolean{name}
Kiểm tra hai chuỗi có giống nhau không bằng:
\equal{string 1}{string 2}
Các số có thể được so sánh bằng . Để so sánh các con đếm dùng \value{counter-name}. Kiểm tra chẵn lẻ:
\isodd{counter-name}
Ví dụ:
\ifthenelse{\isodd{page}}{This page is odd}{This page is even}
hiển thị thành: This page is even
Các chiều dài được đánh giá bằng:
\lengthtest{relation}
Ví dụ:
This page is in
\ifthenelse{\lengthtest{\textwidth > \textheight}}{landscape}{portrait}
orientation.
hiển thị: This page is in portrait orientation.
Nhập môn LATEX FIT-HUT 23
24 Viết gói hoặc lớp mới
Gói mới được lưu trữ trong tệp có mở rộng .sty. Dòng đầu tiên của file là:
\NeedsTeXFormat{LaTeX2e}
Tên của gói được khai báo bằng:
\ProvidesPackage{name}
cần giống tên file .sty. Dòng cuối cùng của file:
\endinput
Các tham số được định nghĩa bằng
\DeclareOption{option name}{code}
Thao tác mặc định với bất cứ tùy biến chưa định nghĩa nào được khai báo bằng:
\DeclareOption*{default-code}
Trong default-code, Các lệnh sau có thể sử dụng:
\CurrentOption tên của tùy biến
\OptionNotUsed tùy biến không được xử lý.
sau khi được định nghĩa các tùy biến có thể được xử lý bởi các lệnh:
\ExecuteOptions{options} hiển thị các tùy biến mặc định
\ProcessOptions xử lý theo trật tự định nghĩa
\ProcessOptions* xử lý theo trật tự gán giá trị.
Có thể chuyển các giá trị của các tùy biến cho các gói khác sử dụng
\PassOptionsToPackage{option-list}{package-name}
Các gói cần sử dụng khai báo bằng:
\RequirePackage{package-name}
Viết một lớp mới tương tự như gói mới, nhưng phần mở rộng của file là .cls thay cho .sty, \ProvideClass
thay cho \ProvidePackage, và có thể dùng lệnh:
\PassOptionsToClass{option-list}{class-name}
khi đó phải tải lớp cần thiết bằng:
\LoadClass{class-name}
Có thể tải một lớp, nhưng có thể sử dụng nhiều gói(\RequirePackage).
Ký hiệu @ có các ý nghĩa khác nhau trong gói, lớp, và tài liệu. trong tài liệu .tex, @ giống như các dấu chấm
phẩy khác, tuy nhiên, trong một lớp hay gói, @ được coi như một chữ cái. Có nghĩa là trong .sty hay .cls file, tên
lệnh có thể chứa @ trong khi trong .texthì không thể. Ví dụ trong .sty hay .cls file, \c@page là lệnh, còn trong
.tex file, \c@page hiển thị thành: @¸page. Các lệnh chứa @ là các lệnh nội bộ.
Tiêu đề của Sections, subsections thay đổi bằng cách định nghĩa lại \section, \subsection. Các lệnh này cần
có:
\@startsection{type}{level}{indent}{before-skip}{after-skip}{style}
Tiêu đề chương và phần thay đổi bằng cách định nghĩa lại: \@makechapterhead (chương đánh số), \@makechapterhead*
(chương không đánh số), \@part (phần đánh số) and \@spart (phần không đánh số). Cách đơn giản nhất là copy
mã chuẩn trong các file lớp, gói chuẩn, sau đó biến đổi theo ý mính.
Nhập môn LATEX FIT-HUT 24
Bài tập 23
Viết một lớp tải lớp report và thay đổi tiêu đề chương sao cho có một đường kẻ trên và dưới tiêu đề, tiêu đề in
bằng chữ thường canh giữa, thay đổi tiêu đề mục (section) thành font sans-serif lớn.
Dùng lớp trong tài liệu của Bài tập 4 .
Recommended Reading
[1] “A Guide to LATEX2ε: 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 Rahtz, Addison-Wesley (1999).
Nhập môn LATEX FIT-HUT 25
Các file đính kèm theo tài liệu này:
- baitap_2_8156.pdf