2009년 6월 2일 화요일

beamer 에서 table 쓰기 - 한프레임안에 큰테이블 구겨넣기, shrink 옵션

전에는 그냥 그림만 열심히 잘라 붙였는데 figure 라면 모를까 table 정도는 직접 코딩해보자 싶어서 삽질을 해봤다. 끝난후 느끼는 건데.. 다음부턴 이짓 하지 말고 그냥 오려 붙이자. 어쨌건 span 때문에 열라 삽질을 하고 기념삼아 적어둔다. tex 로 만든 첫 테이블이니까.


테이블을 쓰기위한 기초적인 문법은 http://en.wikibooks.org/wiki/LaTeX/Tables 에서 볼수있는데 & 로 컬럼구분 \\ 로 로우구분 \hline 으로 가로선긋기 \begin{table}{...} 에 컬럼포맷 채우기 등 몇가지만 알면 일단 시작하는데는 문제 없더라.

간단한 표는 위 링크에 보면 나왔고...

정신없이 표를 만들다 보면 덩치가 커져서 frame 을 넘어서는 문제가 생기는데 이것때문에 beamer 문서를 재빨리 뒤져봤다. 처음엔 폰트조절이 있지 않을까 했는데 frame 옵션중에 shrink 라는 멋진 옵션이 있더라.  이거정말.. 지난번에는 allowframebreaks 때문에 감동을 받았는데 이번엔 이놈이 날 울리네.

정말 빡치는건 span 인데.. 이건 뭐라 설명하기도 애매하네. \multirow 와 \multicolumn 을 적절히 쌓아 올려야 한다. 여러번 시행착오를 거쳐서 결국 원하는 모양을 뽑아내긴 했다만.. 아마 내가 html 을 알면 좀더 쉽지 않았을까? html 테이블도 이렇게 쓰기 거북한가? 흠..


만들어본 코드 일부를 적어둔다.

\begin{frame}[shrink=10]
\frametitle{테이블 만들어봤다}

그다지 복잡하지 않은 테이블이지만 정말 어려웠다. span 이란게
사람잡더만.

\begin{center}
\begin{tabular}{| l | c | c |}
\hline
Address & Direct addressing & Indirect Addressing \\ \hline
0xFF & \multirow{2}{*}{SFRS} & \multirow{2}{*}{RAM} \\
0x80 & \multirow{2}{*}{} & \multirow{2}{*}{} \\ \hline
0x7F & \multicolumn{2}{|c|}{\multirow{2}{*}{Byte-addressible area}} \\
0x30 & \multicolumn{2}{|c|}{} \\ \hline
0x2F & \multicolumn{2}{|c|}{\multirow{2}{*}{Bit-addressible area}} \\
0x20 & \multicolumn{2}{|c|}{} \\ \hline
0x1F & \multicolumn{2}{|c|}{\multirow{2}{*}{Register banks R0...R7}} \\
0x00 & \multicolumn{2}{|c|}{} \\
\hline
\end{tabular}
\end{center}

\end{frame}





댓글 없음: