KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Someone is unenthusiastic about your work.
FrontPage › WinEdtTip/표만들기

WinEdt Template을 이용한 표 만들기

WinEdtTip/Templates에서 언급한 표만들기를 더 자세히 알아봅니다.

목차

1 WinEdt Template을 이용한 표 만들기
1.1 tabular 환경 넣기
1.2 booktabs 환경 넣기
1.3 한 셀에 여러 행 넣기
1.4 셀 정렬
2 minipage를 이용하여 표에 각주 붙이기

1.1 tabular 환경 넣기


tabular 환경(cf. Tabular환경)을 넣는 방법은 WinEdt의 메뉴에서 Insert를 누르고
Tabular (n x m) 
를 누른 후 Dimensions 대화상자가 나타나면 행(Rows)과 열(Columns)을 정해 주고 OK를 누르면 tabular 환경이 입력된다. 가령 행 4, 열 4로 하였을 때 다음과 같이 입력된다.
\begin{tabular}{|c|c|c|c|}%세로줄이 필요 없으면 |을 제거, 두 줄은 ||
  \hline
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
  ★ & ★ & ★ & ★ \\
  \hline%\hline을 한 번 더 넣어 주면 두 줄로 됩니다.
  ★ & ★ & ★ & ★ \\
  ★ & ★ & ★ & ★ \\
  ★ & ★ & ★ & ★ \\
  \hline%필요 없으면 \hline을 제거
\end{tabular}
위의 뽄(Template)에서 c를 빼고 p{0.2\textwidth} 또는 p{25mm}를 넣고 열의 너비(width)를 조정하면 된다. 셀 안에서는 \\ 대신에 \par를 써야합니다. 이렇게 하면 한 셀에 여러 행이 들어간다.

<!> WinEdt에서는 [http]Table Designer를 Plugin으로 설치하여 매크로로 "Table/Array Environment" 대화상자를 열어 tabular 환경 또는 array 환경을 만들 수 있습니다. 설치법은 WinEdt의 소항목 "Table Designer의 설치 및 사용법"을 참조하십시요. 사용법은 WinEdt 창에 열려 있는 문서의 필요한 곳에 커서를 두고 WinEdt 창의 메뉴에서
 Tools|Table Designer...
를 클릭하여 "Table/Array Environment" 대화상자를 엽니다(아래 그림 참조). 우선 행(Lines)의 갯수, 열(Columns)의 갯수, Tabular 환경으로 할 것인지, Array 환경으로 할 것인지를 정하고, 각 열의 윗쪽에 있는 세 개의 동그라미 중 하나를 선택하여 왼쪽(l), 가운데(c), 오른쪽(r)을 결정합니다. 또 실선을 넣을 것이면 각 행 또는 각 열 사이에 있는 네모 상자를 체크합니다. 나머지 사용법은 아래 그림을 보면 알 수 있습니다. 완성되었으면 "Send" 단추를 누르면 커서가 있던 자리에 원하는 환경이 입력됩니다. plugin_array1.jpg

1.2 booktabs 환경 넣기

(cf. KTUGOperate:277, KTUGOperate:150759)

LaTeX에서 booktabs 패키지를 쓰지 않고 그냥 tabular 환경을 쓰면 표에서 가로 줄과 글자의 사이가 좀 좁아 보인다. 또 맨위와 맨아래는 약간 굵은 선, 첫 행 다음은 보통 굵기, 나머지 행은 가는 선을 넣거나 경우에 따라서는 어떤 특정 행 사이를 다른 행 사이보다 조금 더 띄워서 구분하고 싶을 때가 있다. booktabs 패키지는 이런 요구를 한꺼번에 해결하는 패키지이다. 즉, 가로 줄과 글자 사이의 간격을 0.65ex(default)로 띄우도록 되어 있고 여러 위치에 여러 굵기의 가로 줄을 쉽게 쓸 수 있도록 되어 있다.
booktabs 패키지를 쓰지 않았을 때 tabular 환경에서는 가로 줄은 보통 \hline 밖에 없지만 booktabs 패키지에서는 아래의 예에서 보듯이 \toprule (default 0.08em 굵기), \midrule (default 0.05em 굵기), \bottomrule (default 0.08em 굵기) 등으로 다른 굵기로 되어 있을 뿐만 아니라 \midrule[0.5pt] 와 같이 조정할 수 있다. 그리고 특정한 행 사이를 조금 더 띄우고 싶으면 \addlinespace를 넣어면 된다. 또 \cmidrule(lr){2-3} 과 같이 2열에서 3열까지 \midrule을 넣되 왼쪽과 오른쪽에 약간의 여유를 둘 수도 있다. 가령 1열에서 4열까지 그은 가로 줄이 2열과 3열 사이에 약간 끊어지게 하려면 \cmidrule(r){1-2}\cmidrule(l){3-4} 로 하면 된다. 이것은 그냥 tabular 환경에서 \cline과 비슷하나 \cline은 양쪽 모두에 조금씩 여유를 두는데 \cmidrule은 여유를 두지 않을 둘 수도 있고 한 쪽에만 둘 수도 있다. 다만 세로 줄을 쓰면 세로 줄과 가로 줄이 바싹 붙지 않고 약간의 간격이 생겨 엉성하게 보인다.

CTAN:/macros/latex/contrib/booktabs/booktabs.pdf에 설명이 있다. 뽄(Template)이 필요하면 Mittelbach가 쓴 The LaTeX Companion, 2nd ed.의 269--272쪽을 참조하여 CTAN:/info/examples/tlc2/에 있는 5-6-7.ltx, 5-6-8.ltx 등을 복사하여서 쓰면 된다.

\usepackage{booktabs}          %preamble
\usepackage{multirow}          %preamble    

\renewcommand{\multirowsetup}{\centering}
\begin{tabular}{cccc}
 \toprule
  Case & Box A & Box B & Remarks \\
 \midrule
  \multirow{2}{10mm}{A}
   & $+X$ & $-1.0$ & \multirow{2}{10mm}{B} \\
    \cmidrule(lr){2-3}
   & $-X$ & $-7.9$ & \\
 \bottomrule
\end{tabular}
\makeatletter
\input{booktabs.sty}%
\input{multirow.sty}%
\makeatother

\renewcommand{\multirowsetup}{\centering}
\begin{tabular}{cccc}
 \toprule
  Case & Box A & Box B & Remarks \\ 
 \midrule
  \multirow{2}{10mm}{A}
   & $+X$ & $-1.0$ & \multirow{2}{10mm}{B} \\ 
    \cmidrule(lr){2-3}
   & $-X$ & $-7.9$ & \\
 \bottomrule
\end{tabular}

1.3 한 셀에 여러 행 넣기

http://www.ktug.or.kr/jsboard/data/operate/files/20031105163340/raisebox.jpg

표를 2단 조판내에 각단에 들어갈 수 있도록 너비를 줄이고 한 셀에 여러 행이 들어 가도록 하였습니다. text가 한 행 밖에 없을 때 상하 중앙에 오게하려고 Preamble에
 \usepackage{array}
 \newcommand{\rb}[1]{\raisebox{-1.5ex}[0pt]{#1}}
를 넣었습니다. 표1(그림 참조)은
\begin{tabular}{|m{45pt}|m{28pt}|m{28pt}|m{33pt}|m{33pt}|}
\hline
  & Tree-\par based & Mesh-\par based
          & Stateless \par multicast& Overlay \par multicast \\ \hline
 Periodic \par message & Yes & Yes & No  & No \\ \hline
 Robustness \par for mobility
                       & No  & Yes & Yes & Yes \\ \hline
 Resource \par efficiency
                       & High & Low & High & Medium \\ \hline
 Type of \par data packet &
 Multi-\par cast& Multi-\par cast& Broad-\par cast & Unicast \\ \hline
 Control \par overhead & High & High & Low & Medium \\ \hline
\end{tabular}
로 하여 보세요. 표2는
\begin{tabular}{|p{50pt}|p{150pt}|}
 \hline
\emph{Parameters} & \emph{Values} \\ \hline
 Simulation \par
 model        & A flat space network with 50 hosts within
                1000 * 1000 meters \\
 1 &\hspace{15mm}0 \\
 1 &\hspace{15mm}1 \\
 0 &\hspace{15mm}1 \\
 1 &\hspace{15mm}1 \\
 0 &\hspace{15mm}1 \\
 1 &\hspace{15mm}0 \\
 0 &\hspace{15mm}0 \\ \hline
\end{tabular}
로 하여 보세요. 표3은
\begin{tabular}{|p{100pt}|p{100pt}|}
 \hline
 ODMRP & \emph{Value} \\ \hline
 Interval between join query \par floods & \rb{3 seconds} \\ \hline
 Waiting time before \par sending/forwarding a join \par reply
               node wait & \raisebox{-3ex}{0.025 seconds} \\ \hline
 Longevity of the group \par forwarding state
  & 9 seconds (3 times of join \par query floods interval) \\ \hline
 Maximum Join Table \par retransmission & \rb{3} \\ \hline
\end{tabular}
로 하여 보세요.

1.4 셀 정렬

위의 \begin{tabular}{|c|c|c|c|}에서 c는 좌우 가운데(center)로 입니다, 이것을 l (왼쪽), r (오른쪽) 또는 다음과 같이 바꿀 수 있습니다. c 또는 l, r을 쓰면 \par를 넣어도 두 행(行)으로 되지 않고 모든 입력 자료가 한 행(行)에 들어 가도록 셀의 너비가 좌우로 늘어납니다.

  • p{25mm} p 정렬로 너비를 25mm, 여기서 p는 paragraph으로 행 마감 명령 \\ 직전의 baseline을 paragraph 첫 줄의 baseline과 맞춘다는 뜻입니다.

  • m{30mm} m 정렬로 너비를 30mm, 여기서 m는 middle로 행 마감 명령 \\ 직전의 baseline을 전체 paragraph의 baseline들의 평균과 맞춘다는 뜻입니다.

  • b{20mm} b 정렬로 너비를 20mm, 여기서 b는 bottom으로 행 마감 명령 \\ 직전의 baseline을 paragraph 맨 끝 줄의 baseline과 맞춘다는 뜻입니다.

이들의 사용예가 KTUGOperate:3655에 있습니다.

또 위치 옵션 m 또는 b를 쓸려면 Preamble에
 \usepackage{array}
를 넣어야 합니다. 한편 표에 캡션과 번호를 붙이고, 이것을 다른 곳에서 참조하기 위하여 Label을 붙이려면 tabular 환경을 table 환경 속에 넣으면 됩니다.

또 위의 뽄(Template)에서
  % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
로 되어 있는 것은 가로 줄을 넣는 방법을 예시한 것으로 조금의 설명을 붙이면 \\ 다음에 \hline을 넣으면 표 왼쪽 끝에서 오른 쪽 끝까지 가로 선이 생기고, \\ 다음에 \cline{col1-col2}을 넣으면 1열 왼쪽 끝에서 2열 오른 쪽 끝까지 가로 선이 생깁니다. 필요하면 여러 개 넣어도 됩니다.

Tabular환경에 가면 기본 환경에 여러가지 변화를 주는 방법이 나와 있습니다.

2 minipage를 이용하여 표에 각주 붙이기

http://www.ktug.or.kr/jsboard/data/operate/files/20030203180442/minipage-footnote.jpg

Helmut Kopka & Patrick w. Daly: A Guide To LaTeX (3판: 1999)의 113쪽의 글은 미니페이지 속에 들어 있는 "각주"는 미니페이지가 끝날 때 들어 간다고 하였네요. 그래서 "Source: Energy Balance Study Group" 라는 글을 미니페이지 밖으로 끄집어 내고 그 앞에
 \\ \hrulefill \\[0.5ex]
을 넣었습니다.

107 쪽에 있는 floating table의 예제와 같이 하려면 다음과 같이 해보세요.
--------------------------------
\begin{table}[h]
\flushleft {\bfseries Primary Energy Consumption}\\[1ex]
%\begin{center}
\begin{minipage}{\textwidth}
\begin{tabular*}{\textwidth}{@{}l@{\hspace{4cm}}r@{\extracolsep\fill}rr@{}}
\hline
 Energy Source & 1975 & 1980  & 1986\\\hline
 Total Consumption & & & \\
 (in million tons of BCU\footnote{\, BCU = Bituminous Coal Unit (1 ton
   BCU corresponds to the heating equivalent of 1 ton of bituminous
   coal=8140.}\, )& 347.7 & 390.2 & 385.0\\
 of which \hspace{3mm}(percentages) & & & \\
 \hspace{18mm}petroleum & 52.1 & 47.6 & 43.2\\
 \hspace{18mm}bituminous coal & 19.1 & 19.8 & 20.0\\
 \hspace{18mm}brown coal & 9.9 & 10.0 & 8.6 \\
 \hspace{18mm}natural gas & 14.2 & 16.5 & 15.1 \\
 \hspace{18mm}nuclear energy & 2.0 & 3.7 & 10.1 \\
 \hspace{18mm}other\footnote{\, Wind, water, solar energy, etc.}
  & 2.7 & 2.3 & 3.0\\
\end{tabular*}
\end{minipage}\\
\hrulefill
\\[0.5ex]
\emph{Source:} Energy Balance Study Group
%\end{center}
\end{table}


WinEdtTip Project

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-11-14 19:12:43
Processing time 0.0589 sec