VieTeX

Chương trình soạn thảo TeX

Bảng và gói lệnh liên quan (IV)

Posted by nhdien on 12/06/2009

1. Một số loại bảng

– Bảng với chú thích ở dưới bảng

\begin{table}[htbp]
\caption{Chú thích}
\begin{center}
\begin{minipage}{4cm}
\renewcommand{\thempfootnote}{\fnsymbol{mpfootnote}}
\begin{center}
\begin{tabular}{|c|r|r|}
\hline
\multicolumn{1}{|c|}{A} & \multicolumn{1}{c|}{BB}
& \multicolumn{1}{c|}{CCC} \\ \hline
DDD & E & FF\footnote{Ba} \\ \hline
GG & HHH\footnote{Bốn} & I \\ \hline
\end{tabular}
\end{center}
\end{minipage}
\end{center}
\end{table}
bang34

– Bảng có viền bên ngoài

\begin{tabular}{|c|c|c|c|}
\multicolumn{1}{c}{} & \multicolumn{1}{c}{a} &
\multicolumn{1}{c}{b} & \multicolumn{1}{c}{c} \\ \cline{2-4}
\multicolumn{1}{c|}{x} &  & 2 & \\ \cline{2-4}
\multicolumn{1}{c|}{y} & 3 & 2 & \\ \cline{2-4}
\end{tabular}

bang35

– Bảng kẻ khung

\newcolumntype{I}{!{\vrule width 2pt}} % creates a vertical thick bar
\newlength\savedwidth
\newcommand{\wcline}[1]{\noalign{\global\savedwidth\arrayrulewidth\global
\arrayrulewidth 2pt}%
\cline{#1}
\noalign{\global\arrayrulewidth\savedwidth}}
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{|ccc|}
  \hline
  a & b & c \\
  \wcline{2-2}
  \multicolumn{1}{|cI}{c} & \multicolumn{1}{cI}{e} & f \\
  \wcline{2-2}
  g & h & i \\
  \hline
\end{tabular}

bang36

– Dóng hai bảng bằng 3 môi trường minipage

\begin{center}
\begin{table}[!h]
\begin{minipage}{.4\textwidth}
\centering
\caption{Chú thích trên}
\begin{tabular}{|c|c|}\hline
Một&Hai\\ \hline
Ba &Bốn\\ \hline
\end{tabular}
\end{minipage}
\begin{minipage}{.1\textwidth}
\hfill
\end{minipage}
\begin{minipage}{.4\textwidth}
\centering
\begin{tabular}{|c|c|} \hline
một&Hai\\ \hline
$\frac 34$ & $\frac 43$ \\ \hline
\end{tabular}
\caption{Chú thích dưới}
\end{minipage}
\end{table}
\end{center}
bang37

2. Gói lệnh listliketab.sty

Gói lệnh có tại địa chỉ
http://www.ctan.org/tex-archive/macros/latex/contrib/listliketab/
mục đích là dóng nhiều cột của danh sách trong một hàng như môi trường itemize hoặc enumerate.

ví dụ như dùng môi trường listliketab với các đánh số \nextnum, các dấu chấm \textbullet, … nhưng trước môi trường này phải lưu lại môi trường ví dụ như \storestyleof{enumerate}, \storestyleof{itemize}, xem ví dụ dưới đây

\storestyleof{enumerate}
\begin{listliketab}
\newcounter{lltenum}\setcounter{lltenum}{0}
\newcommand{\nextnum}{\addtocounter{lltenum}{1}\thelltenum.}
\begin{tabularx}{\linewidth}{LX@{\qquad}lR}
& & \multicolumn{1}{c}{Due date} \\ \cline{3-3}
\nextnum & Clean desk. & 2005/01/10 \\
\nextnum & Sort “in” pile. & 2005/01/11 \\
\nextnum & Discard random applications from “in” pile. & 2005/01/11 \\
\nextnum & Move applications from “in” pile to “out” pile, stamping
each one with a different official-looking stamp.
& 2005/01/15 \\
\nextnum & Write and mail meaningless memos. & 2005/01/16 \\
\nextnum & Update r\’esum\’e. & 2005/01/20 \\
\end{tabularx}
\end{listliketab}

bang38

– Ta có thể dóng theo các cột và đánh số

\storestyleof{enumerate}
   \begin{listliketab}
     \newcounter{tabenum}\setcounter{tabenum}{0}
     \newcommand{\nextnum}{\addtocounter{tabenum}{1}\thetabenum.}
     \begin{tabular}{L>{\bf}l@{~or~}>{\bf}l@{~or~}>{\bf}l}
       \nextnum & Red   & green & blue \\
       \nextnum & Short & stout & tall \\
       \nextnum & Happy & sad   & confused \\
     \end{tabular}
   \end{listliketab}

bang39

– Kết hợp với gói lệnh tabularx lập danh sách sau:

\storestyleof{itemize}
   \begin{listliketab}
     \begin{tabularx}{0.5\linewidth}{%
         LX@{\raisebox{-2pt}{\framebox(12,12){}}}R}
       \textbullet & Milk \\
       \textbullet & Flour \\
       \textbullet & Sugar \\
       \textbullet & Butter \\
       \textbullet & Eggs \\
     \end{tabularx}
   \end{listliketab}

bang40

– Danh sách đánh số theo bảng

\newcolumntype{A}{>{\columncolor[rgb]{0.8,0.8,0.8}}c}
\storestyleof{enumerate}
\begin{listliketab}
 \newcommand{\nextnum}{\addtocounter{tabenum}{1}\thetabenum }
\begin{tabular}{|A|p{70mm}|p{60mm}|}
\multicolumn{3}{c}{\textbf{Danh sách trong bảng}}\\
\hline
\nextnum & Metaphors from the real world &A\\
\nextnum & Direct manipulation           &B\\
\nextnum & See-and-point (instead of remember-and-type)&C\\
\nextnum & Consistency                   &D\\
\nextnum & WYSIWYG (What You See Is What You Get) &X\\
\nextnum & User Control                  &E\\
\nextnum & Feedback and Dialog&F \\
\nextnum & Forgiveness&G\\
\nextnum & Perceived Stablity            &H \\
\nextnum & Aesthetic Integrity&I\\
\hline
\end{tabular}
\end{listliketab}

bang41

– Danh sách theo kiểu kết hợp với bảng dài longtable.sty

\def\KOTAE{\mbox{Ví dụ:} \underline{\hspace*{3cm}} \underline{\hspace*{3cm}} \underline{\hspace*{3cm}}}
\def\iroh{Phần chữ không nhiều lắm ở đây còn gì nữa}
\long\def\juge{Phần này chữ hơi dài một chút,…Phần này chữ hơi dài một chút,…Phần này chữ hơi dài một chút,…Phần này chữ hơi dài một chút,…Phần này chữ hơi dài một chút,…Phần này chữ hơi dài một chút,…Phần này chữ hơi dài một chút,…}

\storestyleof{enumerate}
\begin{listliketab}
 %\newcounter{tabenum}
\setcounter{tabenum}{0}
 \newcommand{\nextnum}{\addtocounter{tabenum}{1}\fbox{\Large\thetabenum}}
{\renewcommand\arraystretch{2}
\begin{longtable}[c]{cp{0.5\textwidth}p{0.26\textwidth}}
\nextnum & \iroh  & \KOTAE \\
\nextnum & \juge  & \KOTAE \\
\nextnum & \iroh  & \KOTAE \\
\nextnum & \juge  & \KOTAE \\
\nextnum & \iroh  & \KOTAE \\
\nextnum & \juge  & \KOTAE \\
\nextnum & \iroh  & \KOTAE \\
\end{longtable}
}
\end{listliketab}

bang42

– Ví dụ cột thứ hai theo danh sách

\storestyleof{itemize}
\begin{table}[hbp]
\begin{tabular}{|p{0.2\columnwidth}|p{0.75\columnwidth}|}
\hline
\multicolumn{1}{|c}{\em Col1} & \multicolumn{1}{|c|}{\em Col2}\\
\hline
\hline
 Something & \textbullet \ Item 1\\
           & \textbullet \ Item 2\\
           & \textbullet \ Item 2\\
\hline
 Something & \textbullet \ Item 1\\
           & \textbullet \ Item 2\\
           & \textbullet \ Item 2\\
\hline
\end{tabular}
\end{table}

bang43

– Danh sách có hình

\def\iroh{Phần nhỏ}
\def\iroha{Phần lớn, Phần lớn, Phần lớn, Phần lớn, Phần lớn, Phần lớn}

\storestyleof{enumerate}
\begin{listliketab}
\setcounter{tabenum}{0}
 \newcommand{\nextnum}{\addtocounter{tabenum}{1}\thetabenum)}
\begin{longtable}[c]{rcp{0.6\textwidth}} \hline
\nextnum & \fbox{\includegraphics[width=15mm]{tiger.eps}} 
& \rule{0cm}{2cm}\parbox[b]{0.6\textwidth}{\iroh} \\ \hline
\nextnum & \fbox{\includegraphics[width=15mm]{tiger.eps}} 
& \rule{0cm}{2cm}\parbox[b]{0.6\textwidth}{\iroh\iroha} \\ \hline
\nextnum & \fbox{\includegraphics[width=15mm]{tiger.eps}} 
& \rule{0cm}{2cm}\parbox[b]{0.6\textwidth}{\iroh\iroha\iroh\iroha} \\
\hline
\nextnum & \fbox{\includegraphics[width=15mm]{tiger.eps}} 
& \rule{0cm}{2cm}\parbox[b]{0.6\textwidth}{\iroh} \\ \hline
\nextnum & \fbox{\includegraphics[width=15mm]{tiger.eps}} 
& \rule{0cm}{25mm}\parbox[b]{0.6\textwidth}{\iroh\iroha\iroh\iroha\iroh} \\
\hline
\nextnum & \fbox{\includegraphics[width=15mm]{tiger.eps}} 
& \rule{0cm}{30mm}\parbox[b]{0.6\textwidth}{\iroh\iroha\iroh\iroha\iroh} \\
\hline
\end{longtable}
\end{listliketab}

 

bang44

One Response to “Bảng và gói lệnh liên quan (IV)”

  1. Đỗ Viết Lân said

    Thầy ơi cho em hỏi ạ, làm thế nào để chèn một hệ phương trình vào bảng ạ?
    THầy có thể cho em một ví dụ được không ạ?
    Em cảm ơn thầy!
    Trả lời
    Bạn phải thử trong một ô đã chứ. Không ai có thời gian làm cho bạn đâu?
    Bạn thử
    \begin{tabular}{l l}
    \hline
    1&$\begin{cases}
    ax+by&=u\\
    cx+dy&=v
    \end{cases}$\\
    \hline
    2&$a^2+b^2=c^2$\\
    \hline
    \end{tabular}
    Trong bảng không dùng $$…$$ hoặc \begin{equation}…. hoặc align, gather,…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: