Gói lệnh picinpar.sty

Một phần của tài liệu dethihelp32 (Trang 50)

Gói lệnhpinciparcủa Friedhelm Sowa cho phép một cửa sổ được đưa vào giữa đoạn văn bản. Môi trường cơ bản của gói lệnh này làwindowvà có hai môi trường khác làfigwindow,tabwindow. Chú ý môi trườngfigwindowvà môi trườngfigurevới một số môi trường khác cho ảnh hoặc đồ thị nhiều khi thứ tự lần lượt được xếp không đúng. Công thức chung là

\begin{window}[<số dòng>, <căn lề>, <văn bản>, <chú thích>] <vă bản bên cạnh>

\end{window}

<số dòng>Số dòng của đoạn mà cửa sổ bắt đầu xuất hiện.

<căn lề>Căn văn bản trong cửa sổ (lmặc định căn trái,ccăn vào giữa vàrcăn bên phải). <văn bản>Văn bản muốn đưa vào cửa sổ

<chú thích> Giải thích văn bản trong cửa sổ, lựa chọn này là các tiêu đề cho hai môi trường figwindowvàtabwindow

Ví dụ sau mô tả đưa hình vào bên cạch văn bản. \baitracnghiem{t2017:b01}{%

Đường cong trong hình bên là đồ thị của một hàm số trong \begin{window}[0,r,{

\hspace*{1cm}\includegraphics[scale=0.6]{toan01}\hspace*{1cm}},{\label{fig:b01}}] bốn hàm số được liệt kê ở bốn phương án $A, B, C, D$ dưới

đây. Hỏi hàm số đó là hàm số nào ? \end{window} }{ \datcot[4] \bonpa {\sai{$y=-x^2+x-1$.}} {\sai{$y=-x^3+3x+1$.}} {\dung{$y=x^3-3x+1$.}} {\sai {$y=x^4-x^2+1$.}} }}

1. Đường cong trong hình bên là đồ thị của một hàm số trong bốn hàm số được liệt kê ở bốn phương án A,B,C,Ddưới đây. Hỏi hàm số đó là hàm số nào ?

A. y =−x2+x−1.

B. y =−x3+3x+1.

C. y =x4−x2+1.

D. y =x3−3x+1.

\begin{figwindow}[<số dòng>, <căn lề>, <văn bản>, <chú thích>] <vă bản bên cạnh>

\end{figwindow}

Trong ví dụ sau ta dùng lệnh\shortstackđể đặt kí tự trên một ký tự khác.

7 8

\begin{window}[1,c,{

\fbox{\shortstack{H\\ a \\ y}}},{}] Con sóng dưới lòng sâu \\

Con sóng trên mặt nước \\ Ôi con sóng nhớ bờ \\ Ngày đêm không ngủ được\\ \end{window}

: 2

Con sóng dưới lòng sâu Con sóng trên mặt Ôi con sóng nhớ Ngày đêm không

H a y nước bờ ngủ được C. Gói lệnh enumitem.sty

Mục đích gói lệnh này là chủ động điều khiển các nhãn và khoảng cách trong môi trường enumerate, itemmize, description. Gói lệnh này không cùng với gói lệnh enumerate.sty, khi dùng chung sẽ báo lỗi, trong nó đã có đầy đủ các môi trường danh sách chuẩn rồi, tôi dùng gói lệnh làm nhãn và điều khiển các câu hỏi với khoảng cách thích hợp. Khi đưa gói lệnh \usepackage{enumitem} vào đầu văn bản, thì có thể thực hiện lệnh và môi trường. Khi dùng môi trường có tùy chọn

\begin{enumerate}[<Tùy chọn>] \item <Văn bản>

\end{enumerate}

Mặc định của tùy chọn như là không có gói lệnh, ta có thể gán lại 1. Thông số cho các khoảng cách đứng của danh sách:

topsep, partopsep, parsep, itemsep 2. Khoảng các theo chiều ngang:

leftmargin, rightmargin, listparindent, labelwidth, labelsep, itemindent 3. Có thể đặt lại khi thực hiện môi trường

\begin{enumerate}[ leftmargin=*,itemindent=12pt, ...] \item <Các danh sách văn bản>

\end{enumerate}

4. Có thể đặt lại chung cho toàn văn bản bằng lệnh

\setlist{topsep=0pt, partopsep=0pt, parsep=0pt, itemsep=0pt, ...}

5. \setlist{noitemsep}bỏ khoảng cách dòng trong danh sách và các dòng sát nhau hơn.

\setlist{nolistsep}tất cả các khoảng cách trong môi trường danh sách đều cho bằng 0. Dùng lệnh này để kéo sát các câu hỏi trắc nghiệm sát nhau.

6. Dùng với tùy chọn phong phú như sau

\begin{enumerate}[labelindent=\parindent, leftmargin=*, label=\Roman*., align=left, resume, start=8, widest=IV] \item <Danh sách>

\end{enumerate}

(a) labelindent=\parindentNhãn của danh sách được lùi vào đại lượng bao nhiêu so với mép trái tài liệu cho ở phía bên phải, có thể cho bằng 0pt, 2truecm, ...

(b) leftmargin=* Hoàn toàn tương tự như trên để nhãn lùi vào cho lề trái là bao nhiêu. Ngoài các số cụ thể như 2cm, có thể cho bằng * là giá trị mặc định.

(c) label=Roman*. Đánh số nhãn của danh sách, verb!label=Roman*.! chữ số la mã I, II, III, ... còn verb!label=arabic*.! cho chữ số thường dùng 1, 2, 3,.... Ta có thể cho nhãn label={\bf Câu \arabic*.\ }thêm từ vào trước số. Ứng dụng điều này các bạn xem mẫu tôi đã dùng để có các nhãn thích hợp.

(d) align=leftNhãn được dong thẳng hàng theo bên trái, ví dụ 5 và 13 thì số 5 và 1 thẳng hàng. Mặc định là thẳng hàng bên phải.

(e) resumeCho phép đánh số tiếp tục môi trường trước đó, ứng dụng tốt khi đề thi có nhiều phần.

(f) lstart=8Bắt đầu đánh số từ 8, mặc định bao giờ cũng đánh số từ 1 nếu không có resume. (g) widest=IVĐộ rộng của nhãn có thể ví dụ có 3 chữ số có thể dùngwidest=000

Ta đã dùng \setlist{noitemsep} \setlist{nolistsep} \setlist{labelwidth=40pt, itemindent=45pt,topsep=0pt, partopsep=0pt,parsep=0pt,leftmargin=0pt,align=right} D. Gói lệnh shortlst.sty

Gói lệnh nhằm mục đích đánh số danh sách chạy theo chiều ngang, tôi đã dùng gói lệnh làm các phương án cho câu hỏi trắc nghiệm. Khi đưa\usepackage{shortlst}ta có 3 môi trường

1. shortitemizeDanh sách chấm tròn đen. 2. shortenumerateDanh sách đánh số thứ tự.

3. runenumerateDanh sách đánh số chạy liên liên tục bên trong môi trường và cả ngoài môi trường nối liên tục.

Một số lệnh thông số điều khiển môi trường này như sau:

1. \runitemsepkhoảng cách giữa các danh sách được đặt lại với mặc định \setlength{\runitemsep}{1em plus .5em minus .5em}.

3. \labelwidthđộ rộng của nhãn.

4. \shortitemwidth độ rộng của một cột danh sách danh sách. giá trị mặc định là lấy độ rộng của văn bản trừ đi các chỗ để nhãn rồi chia cho 4. Có thể đặt lại cho thích hợp: \setlength{\shortitemwidth}{0.5\textwidth}

E. Gói lệnh float.sty

E.1. Tạo ra một môi trường động mới

Tạo ra môi trường có thể dùng một số lệnh khác nhau như\newtheorem, ta đã biết dùng lệnh này tạo ra môi trường Định lý, Mệnh đề, Bổ đề, Định nghĩa, ...Ta chú ý là trước lệnh này thường có lệnh\theoremstyle{...}để điều khiển nội dung in nghiêng hoặc không nghiêng trong các môi trường sử dụng sau này. Hoàn toàn tương tự như vậy gói lệnh float.sty có lệnh làm môi trường động\newfloat{<Tên môi trương>}và trước đó là lệnh\floatstyle{<Tùy chọn>}ví dụ

\floatstyle{plaintop} \newfloat{program}

Rồi dùng môi trường program như môi trường động với tiêu đề chú thích ở phia trên đoạn chương trình. <Tùy chọn> có các từ khóa:

1. plainChú thích động không già thay đổi so với LATEX mà ở dưới hình chỉnh vào giữa. 2. plaintopChú thích hình ở phía trên và tương tự như tùy chọn trên.

3. boxedKhối môi trường động được đóng khung, nhưng chú thích ngoài khung và ở phía dưới.

4. ruledChú thích nằm trong hai đường kẻ ngang và cuối khối cũng có đường kẻ ngang như.

Ví dụ

\floatstyle{ruled}

\newfloat{Program}{htbp}{lop}[section]

ta có thể dùng Lệnh và thông số đầy đủ như sau: required and one optional argument; it is of the form

\newfloat{<Tên môi trường>}{<Vị trí>}{<tệp chứa mục lục>}[<Trong đoạn>] 1. <Tên môi trường>Đặt tên cho môi trường để dùng.

2. <Vị trí>Là các quy định đơn lẻ chữ cái hoặc kết hợp để đặt khối: • t tại Đầu trang;

• b tại Cuối trang; • p tại Trang Di động; • h tại Đây, nếu có thể;

Program E.1Đây là chương trình dùng phong cáchruled. #include <stdio.h>

int main(int argc, char **argv) {

int i;

for (i = 0; i < argc; ++i)

printf("argv[%d] = %s\n", i, argv[i]); return 0;

}

• H Tại Đây, dứt khoát như vậy.

Chú ý là chỉ có tùy chọn H là mới còn, các tùy chọn khác giống như môi trường hình và bảng ta thường dùng.

3. <tệp chứa mục lục>Phần mở rộng của<Tên môi trường>.<tệp chứa mục lục>như là *.toc.

4. <Trong đoạn>Trong chapter, section, part. Ví dụ ở trên là

\floatstyle{ruled}

\newfloat{Program}{tbp}{lop}[section] \begin{Program}

\begin{verbatim}

\dots\ program text \dots \end{verbatim}

\caption{\dots\ caption \dots} \end{Program}

E.2. Những lệnh liên quan đến gói lệnh

Một số lệnh cơ bản ở phần trên đã nhắc tới, còn một số lệnh khác liên quan:

1. \floatnameMạc định tên môi trường là tên chú thích luôn như Figure 1.1 hoặc Table 1.2 ta cũng có thể đổi tên như ví du trên đặt\floatname{Program}{Chương trình}

Chương trình E.2Đây là chương trình dùng phong cáchruled. #include <stdio.h>

int main(int argc, char **argv) {

int i;

for (i = 0; i < argc; ++i)

printf("argv[%d] = %s\n", i, argv[i]); return 0;

2. \floatplacementMặc định hình được chỉ ra khi có tùy chọn. Nếu toàn bài đặt chú thích một kiểu thi đặt\floatplacement{figure}{tp}kiểu đầu trang di động.

3. \restylefloat Lệnh đặt lại phong cách của khối động, như ta đặt lại cho bảng đóng khung \floatstyle{boxed} \restylefloat{table} \begin{table}[H] \def\B#1{$\displaystyle{n\choose#1}$} \begin{center} \begin{tabular}{c|cccccccc} $n$&\B0&\B1&\B2&\B3&\B4&\B5&\B6&\B7\\ \hline 0 & 1\\ 1 & 1&1\\ 2 & 1&2&1\\ 3 & 1&3&3&1\\ 4 & 1&4&6&4&1\\ 5 & 1&5&10&10&5&1\\ 6 & 1&6&15&20&15&6&1\\ 7 & 1&7&21&35&35&21&7&1 \end{tabular} \end{center}

\caption{Pascal’s triangle. This is a re-styled \LaTeX\ \texttt{table}.% \label{table1}} \end{table} n n 0 n 1 n 2 n 3 n 4 n 5 n 6 n 7 0 1 1 1 1 2 1 2 1 3 1 3 3 1 4 1 4 6 4 1 5 1 5 10 10 5 1 6 1 6 15 20 15 6 1 7 1 7 21 35 35 21 7 1

Bảng 3:Pascal’s triangle. This is a re-styled LATEXtable.

4. \listof \listof{<Tên môi trường>}{<Tiêu đề>}tạo ra danh sách các môi trường đã sử dụng có cùng tên và thêm tiêu đề ở trên.Giống như lệnh\listoffiguresvà\listoftables

E.3. Sử dụng gói lệnh

1. Khi dùng gói lệnh này môi trường table và figure giữ nguyên giá trị và tăng thêm khả năng, ví dụ thêm tùy chọn cố định [H], dùng

\floatstyle{plaintop} \restylefloat{figure} đặt lại chú thích hình và bảng. \begin{figure}[H] \centering \includegraphics[height=4cm,width=6cm]{banco1} \caption{Dùng graphicx}\label{fig:} \end{figure} Hình 4: Dùng graphicx

2. Nhiều lớp hoặc môi trường cố định dùng được với tùy chọn [H] mà không bị báo lỗi. 3. Sáng tạo ra các khối như

\floatstyle{ruled} \newfloat{vidu}{htbp}{lop}[section] \floatname{vidu}{Ví dụ} \begin{vidu} $$A^2=B^2+C^2$$ \caption{Đây là ví dụ hay} \end{vidu}

Ví dụ E.1Đây là ví dụ hay

A2 =B2+C2

F. Gói lệnh nonfloat.sty

Trong chế độ LaTeX bình thường thì môi trường table và figure luôn để bảng và hình trong chế độ di động, nghĩa là với thông số

\begin{figure}[!ht] \centering

\includegraphics[height=2cm,width=3cm]{*} \caption{}\label{fig:}

\end{figure}

thì hình có thể đặt tại vị trí có lệnh nếu còn chỗ không thì chuyển sang đầu trang sau hoặc về cuối bài. Nhiều lớp hoặc gói lệnh không dùng chế độ động này, gói lệnh nonfloat.sty đáp ứng yêu cầu này, nhưng không dùng được môi trường table và figure nữa, mà phải thay đổi một chút. Đáng lẽ là \begin{table}[htbp] \caption{Table Caption}% \label{tab:supertitle}% \begin{tabular}{...} ... \end{tabular} \end{table} ta thay bằng \begin{minipage}{\linewidth} \centering%

\tabcaption{Commands for Table and Figure Captions}% \label{tab:Commands}% \begin{tabular}{c l c } ... \end{tabular} \end{minipage} Hình được thay bằng \begin{minipage}{\linewidth} \centering% \includegraphics[width=0.8\linewidth,clip=]{input}% \figcaption{Figure Caption}% \label{fig:input}% \end{minipage}

G. Các gói lệnh soạn đề thi hoặc câu hỏi kiểm tra khác

1. answers.styGói lệnh soạn câu hỏi và trả lời liên tục nhưng thi thực hiện có thể in câu hỏi riêng và trả lời riêng, tôi đã hướng dẫn làm sách theo các chương. Trang web của tôi có bài riêng về gói lệnh này. Bạn tham khảo nguyên bản tại tại địa chỉ

2. probsoln.styGói lệnh tao ra đề thi mà tôi đã sử dụng để làm ra gói lệnh này. Nguyên bản chỉ có các môi trường đơn giản tự luận, trắc nghiệm thô sơ. Gói lệnh có tại địa chỉ

http://tug.ctan.org/tex-archive/macros/latex/contrib/probsoln/

3. dethi.stycùng với việc sử đổi examdesign.cls tạo ra đề trắc nghiệm và một số loại đề thi với sự sáo trộn cả câu hỏi lẫn phương án trả lời. Chỉ dùng làm đề độc lập, tuy rất mạnh và đã được sử dụng nhiều. Gói lệnh đã được nói trong trang web của tôi và kèm vào với Chương trình VieTeX.

http://nhdien.wordpress.com

4. alterqcm.stylàm đề thi theo dạng bảng. Có tại địa chỉ http://tug.ctan.org/tex-archive/macros/latex/contrib/alterqcm/

Tài liệu

[1] Nguyễn Hữu Điển,Nguyễn Minh Tuấn,LaTeX tra cứu và soạn thảo, NXBĐHQG, 2001.

[2] Nguyễn Hữu Điển,LaTeX gói lệnh và phần mềm công cụ, NXBĐHQG, 2004.

[3] Jason Alexander,The examdesign class

http://www.ctan.org/tex-archive/macros/latex/contrib/examdesign [4] Nguyễn Hữu Điển,Gói lệnh dethi.sty 2.0 làm đề thi trắc nghiệm

https://nhdien.wordpress.com/2016/09/14/goi-lenh-dethi-sty-2-0-lam-de-thi-trac- nghiem/

[5] Nguyễn Hữu Điển,lamdethi.sty 1.0 gói lệnh mới làm đề thi và bài tập

https://nhdien.wordpress.com/2010/01/20/lamdethi.sty 1.0 gói lệnh mới làm đề thi và bài tập

Một phần của tài liệu dethihelp32 (Trang 50)

Tải bản đầy đủ (PDF)

(58 trang)