You are on page 1of 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}$} a b
= (1)
\end{equation} sin α sin β

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
\fboxrule=3\fboxrule
\fboxsep=3\fboxsep a b
=
\fbox{$\displaystyle sin α sin β
\frac{a}{\sin\alpha}=\frac{b}{\sin\beta}$}

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 hay
và đ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à trong
MiKTeX 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ại
http://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ư dashed lines .


\framebox, nhưng tùy chọn

\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 dashed lines


\dbox{dashed lines}

\dashlength=6pt
\dbox{dashed lines} dashed lines

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

\fboxrule=4pt dashed lines


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

2
\fboxsep=3pt dashed lines
\dbox{dashed lines}

\fboxsep=8pt
\dbox{dashed lines} dashed lines

abddbbbbbbbeec
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ó

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

H G
\begin{center}
\curlyframe[6cm]{
\begin{center} Nếu Anh không gặp Em

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

\artdecoframe[6cm]{%

JK
\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\\ Nếu Anh không gặp Em
Tỏa hương thơm đêm ngày Làm sao Anh với tới
\end{center} Một vầng mây đen mềm
} Tỏa hương thơm đêm ngày

\begin{minipage}{6cm} {\border\char’310}{\border\char’323}
\font\border=karta15 {\border\char’174}{\border\char’325}
\generalframe{\border\char’307} {\border\char’175}{
{\border\char’324}{\border\char’322} \begin{center}

3
Nếu Anh không gặp Em\\
Làm sao Anh nghe thấy\\
ÇÔÔÔÔÔÔÔÔÔÔÒ
ÈÈ ÓÓ
ÈÈ ÓÓ
Nếu Anh không gặp Em
Tiếng nói của đất trời\\
Làm sao Anh nghe thấy
Bắt đầu từ bàn tay
\end{center} ÈÈ ÓÓ
Tiếng nói của đất trời
Bắt đầu từ bàn tay
}
\end{minipage} È
|ÕÕÕÕÕÕÕÕÕÕ} Ó
\begin{minipage}{5cm} \end{center}
\font\border=umranda }
\generalframe{\border\char’136} \end{minipage}
{\border\char’137}{\border\char’140}
{\border\char’145}{\border\char’141}
^_______________`
{\border\char’144}{\border\char’143}
{\border\char’142}{
ee Nếu Anh không gặp Em aa
\begin{center}
Nếu Anh không gặp Em\\
ee NămTrái đất dù quay vội
tháng vẫn cứ dài
aa
e a
Trái đất dù quay vội\\
Năm tháng vẫn cứ dài\\ ee Cuộc đời chỉ lẻ loi
aa
Cuộc đời chỉ lẻ loi dcccccccccccccccb

\begin{minipage}{5cm} Nguyễn Hữu Điển


\font\border=umrandb
\generalframe{\border\char’165} \end{center}
{\border\char’151}{\border\char’164}% }
{\border\char’150}{\border\char’150}% \end{minipage}
{\border\char’166}{\border\char’151}
{\border\char’167}{
uiiiiiiiiiiiit
\vspace*{3cm} hh Nếu Anh không gặp Em... hh
\begin{center}
Nếu Anh không gặp Em... hh Nguyễn Hữu Điển hh
viiiiiiiiiiiiw
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ường
minipage 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 \fboxrule
và 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ài Thiếu phương pháp thì người tài
cũng lỗi. Có phương pháp thì cũng lỗi. Có phương pháp thì
người tầm thường cũng làm được người tầm thường cũng làm được
việc phi thường.\footnote{Descartes} việc phi thường.
\end{boxedminipage}

4
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ủa
LATEX 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ọc cho rộng.


Hỏi cho thật kỹ.\\
Hỏi cho thật kỹ.
\setlength{\sboxsep}{4pt}
\shabox{Suy nghĩ cho thật cẩn thận.}\\ Suy nghĩ cho thật cẩn thận.
Phân biệt cho thật rõ ràng.\\
Phân biệt cho thật rõ ràng.
\bigskip
{\renewcommand{\sdim}{ Làm việc cho hết sức.
1.2\fboxsep}\shabox{\parbox{5cm} Như thế mới thành người.
{Làm việc cho hết sức.\\
Như thế mới thành người.}}
(Trung - Dung)} (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 đã đưa
ra 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:

Khung có bóng
\shadowbox
Đườ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ủa
khung , 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ường
minipage.

5
\newenvironment{Oboxedminipage} \footnote{DESCARTES}
{\begin{Sbox}\begin{minipage}} \end{Oboxedminipage}
 
{\end{minipage}\end{Sbox}
\Ovalbox{\TheSbox}}
\begin{Oboxedminipage}{4.5cm} Làm việc gì bao giờ cũng đi
Làm việc gì bao giờ cũng đi từ dễ từ dễ đến khó. Từ đơn giản
đến khó. Từ đơn giản đến phức tạp. đế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ăn
phải.
• Bitemize, Benumerate và Bdescription sinh ra môi trường hộp cho các môi trường
itemize, 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} • Người "Trí" hay lo.


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

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

\shadowbox{\begin{Beqnarray} a2 = b2 + c2 − 2bc cos α (2)


a^2&=&b^2+c^2-2bc\cos \alpha\\
b2 = c2 + a2 − 2ca cos β (3)
b^2&=&c^2+a^2-2ca\cos \beta\\
c^2&=&a^2+b^2-2ab\cos \gamma c2 = a2 + b2 − 2ab cos γ (4)
\end{Beqnarray}}

Ta có thể định nghĩa một môi trường mà trong đó công thức được đóng khung theo suốt
chiề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 a 1 a 2 . . . an (5)
n

6
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{ Lệnh \shadowbox ở cấu trúc bên có


\setlength{\fboxsep}{1pt}% thể thay bằng \doublebox, \ovalbox hoặc
\setlength{\shadowsize}{4pt}% \Ovalbox.
\shadowbox}{}

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ắt
nhau 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.

You might also like