7
CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên, ĐHQG HN Mục lục 1 Giới thiệu các gói lệnh gói lệnh đóng khung 1 2 Những gói lệnh dashbox 2 3 Gói lệnh niceframe 3 4 Gói lệnh boxedminipage 4 5 Gói lệnh shadow 5 6 Gói lệnh fancybox 5 7 Định nghĩa những môi trường kẻ khung 5 1 Giới thiệu các gói lệnh gói lệnh đóng khung Trong gói lệnh \usepackage{amsmath} có lệnh đóng khung \fbox. Nhiều khi ta chỉ đóng khung một số kí tự trong công thức toán ta phải dùng lệnh \fbox. Có thể dùng trên dòng lệnh như ví dụ ở đây hoặc một chi tiết của công thức $$\alpha+\beta+\gamma=\fbox{$\pi$}$$ α + β + γ = π Có khả năng ta đánh số ngoài công thức đóng khung thì \begin{equation} \fbox{ $ \displaystyle \frac{a}{\sin\alpha}=\frac{b}{\sin\beta}$} \end{equation} a sin α = b sin β (1) Nét khung và khoảng cách từ công thức mực định là \fboxrule=0.4pt \fboxsep=3pt Để thay đổi đường kẻ đậm hơn và khung rộng hơn ta điều chỉnh 1

CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

Embed Size (px)

Citation preview

Page 1: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I)

Nguyễn Hữu ĐiểnKhoa Toán - Cơ - Tin học

Đại học Khoa học Tự nhiên, ĐHQG HN

Mục lục

1 Giới thiệu các gói lệnh gói lệnh đóng khung 1

2 Những gói lệnh dashbox 2

3 Gói lệnh niceframe 3

4 Gói lệnh boxedminipage 4

5 Gói lệnh shadow 5

6 Gói lệnh fancybox 5

7 Định nghĩa những môi trường kẻ khung 5

1 Giới thiệu các gói lệnh gói lệnh đóng khung

Trong gói lệnh \usepackage{amsmath} có lệnh đóng khung \fbox. Nhiều khi ta chỉ đóngkhung một số kí tự trong công thức toán ta phải dùng lệnh \fbox. Có thể dùng trên dòng lệnh

như ví dụ ở đây hoặc một chi tiết của công thức

$$\alpha+\beta+\gamma=\fbox{$\pi$}$$α + β + γ = π

Có khả năng ta đánh số ngoài công thức đóng khung thì

\begin{equation}\fbox{ $ \displaystyle\frac{a}{\sin\alpha}=\frac{b}{\sin\beta}$}\end{equation}

a

sin α=

b

sin β(1)

Nét khung và khoảng cách từ công thức mực định là

\fboxrule=0.4pt\fboxsep=3pt

Để thay đổi đường kẻ đậm hơn và khung rộng hơn ta điều chỉnh

1

Page 2: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

\fboxrule=3\fboxrule\fboxsep=3\fboxsep\fbox{$\displaystyle\frac{a}{\sin\alpha}=\frac{b}{\sin\beta}$}

a

sin α=

b

sin β

Trong cuốn sách: LaTeX với gói lệnh và phần mềm công cụ đã liệt kê một số gói lệnh kẻkhung đa dạng từ trang 178. Tôi chép lại ở đây một số gói lệnh đó và xem xét các gói lệnh hayvà đa dạng có trong MiKTeX. Nói chung các gói lệnh tôi dùng ở đây đều có trên mạng và trongMiKTeX rồi, khi có CD hoặc nối mạng VieTeX sẽ tự động lấy vào.

2 Những gói lệnh dashbox

Gói lệnh được viết bởi Reuben Thomas có tạihttp://tug.ctan.org/tex-archive/macros/latex/contrib/dashbox/Gói lệnh này cung cấp các lệnh sau đây:

\dbox{text} như \fbox, nhưng nét dashed lines .

\dashbox[width][pos]{text} như\framebox, nhưng tùy chọn

dashed lines .

\lbox[layers]{text} số khung mặc định 2 stack of boxes

\dlbox[layers]{text} như \lbox, dashed lines .

Đối số có thể thay đổi:

\dashlength cho nét đứt và khoẳng trắng, mặc định là 6pt.

\dashdash cho độ dài nét đứt, mặc định 3pt.

\layersize lớp khung bao nhiêu lần. Mặc định là \dashdash.

\dashlength=12pt\dbox{dashed lines}

\dashlength=6pt\dbox{dashed lines}

dashed lines

dashed lines

\dashdash=6pt\dbox{dashed lines}\dashdash=3pt\dbox{dashed lines}

dashed lines

dashed lines

\fboxrule=4pt\dbox{dashed lines}\fboxrule=.2pt\dbox{dashed lines}

dashed lines

dashed lines

2

Page 3: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

\fboxsep=3pt\dbox{dashed lines}

\fboxsep=8pt\dbox{dashed lines}

dashed lines

dashed lines

3 Gói lệnh niceframe

Tác giả của gói lệnh này là Marcus Ohlhaut có thể lấy gói lệnh ởhttp://tug.ctan.org/tex-archive/macros/latex/contrib/niceframe/có gói phông riêng của gói này để làm khung.Chỉ đưa vào lệnh \usepackage{niceframe} ta có

\niceframe[6cm]{%\begin{center}Nếu Anh không gặp Em\\Làm sao Anh thấy được\\Có một vầng trăng khác\\Lại sáng giữa ban ngày\end{center}}

abbbbbbbbbbbbbbbcdddddd Nếu Anh không gặp EmLàm sao Anh thấy đượcCó một vầng trăng khácLại sáng giữa ban ngày

eeeeeefgggggggggggggggh\begin{center}\curlyframe[6cm]{\begin{center}Nếu Anh không gặp Em\\Làm sao Anh biết dược\\Hai ngôi sao có nước\\Ở gần kề ngay bên\end{center}}\end{center}

EFNếu Anh không gặp EmLàm sao Anh biết dượcHai ngôi sao có nướcỞ gần kề ngay bênHG

\artdecoframe[6cm]{%\begin{center}Nếu Anh không gặp Em\\Làm sao Anh với tới \\Một vầng mây đen mềm\\Tỏa hương thơm đêm ngày\end{center}}

MLNếu Anh không gặp Em

Làm sao Anh với tớiMột vầng mây đen mềm

Tỏa hương thơm đêm ngàyJK\begin{minipage}{6cm}\font\border=karta15\generalframe{\border\char’307}{\border\char’324}{\border\char’322}

{\border\char’310}{\border\char’323}{\border\char’174}{\border\char’325}{\border\char’175}{\begin{center}

3

Page 4: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

Nếu Anh không gặp Em\\Làm sao Anh nghe thấy\\Tiếng nói của đất trời\\Bắt đầu từ bàn tay\end{center}}\end{minipage}

ÇÔÔÔÔÔÔÔÔÔÔÒÈÈÈÈÈÈÈ Nếu Anh không gặp EmLàm sao Anh nghe thấyTiếng nói của đất trờiBắt đầu từ bàn tay

ÓÓÓÓÓÓÓ|ÕÕÕÕÕÕÕÕÕÕ}\begin{minipage}{5cm}\font\border=umranda\generalframe{\border\char’136}{\border\char’137}{\border\char’140}{\border\char’145}{\border\char’141}{\border\char’144}{\border\char’143}{\border\char’142}{\begin{center}Nếu Anh không gặp Em\\Trái đất dù quay vội\\Năm tháng vẫn cứ dài\\Cuộc đời chỉ lẻ loi

\end{center}}\end{minipage}^_______________`eeeeeee Nếu Anh không gặp Em

Trái đất dù quay vộiNăm tháng vẫn cứ dài

Cuộc đời chỉ lẻ loi

aaaaaaadcccccccccccccccb\begin{minipage}{5cm}\font\border=umrandb\generalframe{\border\char’165}{\border\char’151}{\border\char’164}%{\border\char’150}{\border\char’150}%{\border\char’166}{\border\char’151}{\border\char’167}{

\vspace*{3cm}\begin{center}Nếu Anh không gặp Em...

Nguyễn Hữu Điển

\end{center}}\end{minipage}uiiiiiiiiiiiithhhh Nếu Anh không gặp Em...

Nguyễn Hữu Điểnhhhhviiiiiiiiiiiiw

4 Gói lệnh boxedminipage

Gói lệnh boxedminipage của Mario Wolczko có môi trường boxedminipage dựa trên môi trườngminipage chỉ có khác là đóng khung văn bản. Nét vẽ của khung kiểm soát bằng lệnh \fboxrulevà khoảng cách viền văn bản tới khung được thực hiện bằng \fboxsep.

\begin{boxedminipage}[t]{4cm}Thiếu phương pháp thì người tàicũng lỗi. Có phương pháp thìngười tầm thường cũng làm đượcviệc phi thường.\footnote{Descartes}\end{boxedminipage}

Thiếu phương pháp thì người tàicũng lỗi. Có phương pháp thìngười tầm thường cũng làm đượcviệc phi thường.

4

Page 5: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

5 Gói lệnh shadow

Gói lệnh shadow của Mauro Orlandini định nghĩa lệnh \shavox gần giống với lệnh \fbox củaLATEX nhưng có thêm vệt đen ở dưới và bên phải khung. Gói lệnh này có ba lệnh thông số:

\sboxrule Kiểm soát độ dày của đường kẻ khung (mặc định là 0.4pt).

\sboxsep Khoảng cách từ văn bản đến khung (mặc định là 10pt).

\sdim Chiều rộng của bóng khung (mặc định là 4pt).

\fbox{Học cho rộng.}\\Hỏi cho thật kỹ.\\\setlength{\sboxsep}{4pt}\shabox{Suy nghĩ cho thật cẩn thận.}\\Phân biệt cho thật rõ ràng.\\\bigskip{\renewcommand{\sdim}{1.2\fboxsep}\shabox{\parbox{5cm}{Làm việc cho hết sức.\\Như thế mới thành người.}}(Trung - Dung)}

Học cho rộng.

Hỏi cho thật kỹ.

Suy nghĩ cho thật cẩn thận.

Phân biệt cho thật rõ ràng.

Làm việc cho hết sức.Như thế mới thành người.

(Trung - Dung)

6 Gói lệnh fancybox

Gói lệnh fancybox nằm trong gói lệnh seminar của Timothy Van Zandt. Gói lệnh đã đưara phương án khác nhau của lệnh \fbox, lệnh khoảng cách giữa văn bản và khung vẫn bằng\fboxsep (mặc định là 3pt), còn các thông số khác được mô tả dưới đây:

\shadowboxKhung có bóng

Đường kẻ được xác định bởi \fboxrule (như là của lệnh \fbox). Độ rộng của bóng là\shadowsize (mặc định là 4pt).

\doublebox Khung kẻ đôi

Độ dày của đường kẻ khung trong và khung ngoài tương ứng là 0.75\fboxrule,1.5\fboxrule.Khoảng cách giữa hai khung là 1.5\fboxrule plus 0.5pt.

\ovalbox�

�Khung hình ô van

Độ dày của nét vẽ là \thinlines, còn đường kính của đường tròn tạo ra cung ở góc là\cornersize có một đối số. Đây là một số num theo độ phóng theo chiều dài rộng củakhung , mặc định num=0.5.

\Ovalbox��

��Khung hình ô van

Tương tự như \ovalbox nhưng nét vẽ được kiểm soát bởi \thicklines.

7 Định nghĩa những môi trường kẻ khung

Nhờ vào những gói kẻ khung trên ta có thể thiết lập các môi trường kẻ khung với môi trườngminipage.

5

Page 6: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

\newenvironment{Oboxedminipage}{\begin{Sbox}\begin{minipage}}{\end{minipage}\end{Sbox}\Ovalbox{\TheSbox}}\begin{Oboxedminipage}{4.5cm}Làm việc gì bao giờ cũng đi từ dễđến khó. Từ đơn giản đến phức tạp.

\footnote{DESCARTES}\end{Oboxedminipage}

Làm việc gì bao giờ cũng đitừ dễ đến khó. Từ đơn giảnđến phức tạp.

Trong gói lệnh cũng có những môi trường hộp sau đây:

• Bcenter, Bflushleft và Bflushright sinh ra môi trường hộp quy tâm, căn trái, cănphải.

• Bitemize, Benumerate và Bdescription sinh ra môi trường hộp cho các môi trườngitemize, enumerate, description.

• Beqnarray cho ra môi trường hộp của eqnarray. Tương tự cho môi trường hộp Beqnarray*.

Tất cả các môi trường trên đều kẻ khung được nhờ các lệnh ở trên.

\doublebox{\begin{Bitemize}\item Người "Trí" hay lo.\item Người "Nghĩa" hay làm.\item Người "Nhân" hay trì hoãn.\\(Cốc Lương)\end{Bitemize}}

• Người "Trí" hay lo.

• Người "Nghĩa" hay làm.

• Người "Nhân" hay trì hoãn.(Cốc Lương)

Các công thức toán

\shadowbox{\begin{Beqnarray}a^2&=&b^2+c^2-2bc\cos \alpha\\b^2&=&c^2+a^2-2ca\cos \beta\\c^2&=&a^2+b^2-2ab\cos \gamma\end{Beqnarray}}

a2= b2

+ c2 − 2bc cosα (2)b2

= c2+ a2 − 2ca cosβ (3)

c2= a2

+ b2 − 2ab cosγ (4)

Ta có thể định nghĩa một môi trường mà trong đó công thức được đóng khung theo suốtchiều rộng của trang.

\newlength{\mylength}\newenvironment{FramedEqn}%{\setlength{\fboxsep}{5pt} \setlength{\mylength}{\linewidth}%\addtolength{\mylength}{-2\fboxsep}\addtolength{\mylength}{-2\fboxrule}%\begin{Sbox}\begin{minipage}{\mylength}%\setlength{\abovedisplayskip}{0pt}\setlength{\belowdisplayskip}{0pt}

\begin{equation}}%\end{equation}\end{minipage}\end{Sbox} \[\fbox{\TheSbox}\]}\begin{FramedEqn}\frac{a_1+a_2+\cdots+a_n}{n}\ge \sqrt[n]{a_1a_2\ldots a_n}\end{FramedEqn}

a1 + a2 + · · · + an

n≥ n

√a1a2 . . . an (5)

6

Page 7: CÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) · PDF fileCÁC GÓI LỆNH LÀM KHUNG VĂN BẢN(I) Nguyễn Hữu Điển Khoa Toán - Cơ - Tin học Đại học Khoa học Tự nhiên,

Cũng bằng cách như vậy ta làm khung cho mỗi phát biểu định lý của ta

\newlength{\dllength}\newenvironment{Frameddl}%

{\setlength{\fboxsep}{10pt} \setlength{\dllength}{\linewidth}%\addtolength{\dllength}{-2\fboxsep}\addtolength{\dllength}{-2\fboxrule}%\begin{Sbox}\begin{minipage}{\dllength}\begin{theorem}}%

{\end{theorem}\end{minipage}\end{Sbox}\noindent\shadowbox{\TheSbox}}\begin{Frameddl}Ba đường trung tuyến trong một tam giác bất kỳ cắt nhau tại một điểm.\end{Frameddl}

Định lý 1 Ba đường trung tuyến trong một tam giác bất kỳ cắt nhau tại một điểm.

Gói lệnh này làm được cả khung cho một trang bằng cụm lệnh sau:

\thisfancypage{\setlength{\fboxsep}{1pt}%\setlength{\shadowsize}{4pt}%\shadowbox}{}

Lệnh \shadowbox ở cấu trúc bên cóthể thay bằng \doublebox, \ovalbox hoặc\Ovalbox.

Nhân đây ta cũng nhắc lại dùng gói lệnh mầu color để bôi đen phát biểu định lý

\definecolor{mygrey}{gray}{0.55}\colorbox{mygrey}{\begin{minipage}{10cm}\begin{theorem}Ba đường trung tuyến trong một tam giác bất kỳ cắt nhau tại một điểm.\end{theorem}\end{minipage}}

Định lý 2 Ba đường trung tuyến trong một tam giác bất kỳ cắtnhau tại một điểm.

Mầu đậm nhạt được thay trong định nghĩa \definecolor số càng lớn thì càng nhạt mầu.

7