레이블이 beamer인 게시물을 표시합니다. 모든 게시물 표시
레이블이 beamer인 게시물을 표시합니다. 모든 게시물 표시

2009년 6월 9일 화요일

beamer 에서 코드 인용하기

결국 코드를 긁어붙여야 할 필요도 생겼구먼..


그전에 현재 지금 환경이 windows 라서 windows 에 tex 설치 방법부터 짧게.. 적을것도 없다. 그냥 http://faq.ktug.or.kr/faq/KC2008 에서 다운받아 설치하면 그만. 이게 통합패키지인 모냥이라 이것저것 많이 깔던데 루비등은 왜 깔려고 하는건지.. 어쨌건 루비 깐다고 하는순간부터 계속 취소를 눌러서 일부 패키지는 깔지 않았지만 나야 콘솔만 돌아가면 되니 이걸로 충분. 하드를 많이 먹는 놈이라 집에선 못깔겠지만 사무실 PC 에는 문제없다.

사용법도 뭐.. 리눅스에서는 Makefile 에서 pdflatex foo.tex 등으로 실행을 했었는데 이제는 PDFLATEX=C:/texlive/2008/bin/win32/pdflatex.exe 로 잡아주고 $(PDFLATEX) foo.tex 정도로 실행하면 그만. 즉 path 만 잡아주면 그만이다.

어쨌건 인용... 이 인용도 여러가지 기능들이 있는 모양인데 다 필요없고 그냥 코드 몇줄 붙인거 화면에 보이기만 하면 된다. frame 에 fragile 옵션을 주고 verbatim 환경을 이용하면 끝. 보통 코드량이 좀 많을테니 shrink 정도도 같이 쓰이겠지.

\begin{frame}[fragile,shrink=10]
\frametitle{verbatim 예제}
\begin{verbatim}
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
블라블라
\end{verbatim}
\end{frame}



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}





2009년 5월 13일 수요일

beamer, latex 로 프리젠테이션 자료 급조하기

보통 문서작업은 org-mode doxygen 으로 얼렁뚱땅 하는 편인데 빔으로 쏴야 할경우엔 둘다 좀 안어울린다. 오피스계열은 ms 건 오픈쪽이건 써본적도 없고 쓸줄도 모르니 아예 논외고.. 그래서 찾다보니 beamer 에 도착을 했네.

먼저 내가 원하는건 그냥 위쪽에 제목 적히고 아래쪽에 적당히 몇줄 나열만 되면 끝. 내가 문서질에 소양이 있는놈도 아니고 말잘하는놈도 아니니 뭐 그냥 만들라길래 만들었다 정도의 생색내기만 가능하면 된다.

beamer 말고도 다른놈들 몇가지 있는데.. 각종 위키시스템들도 이런기능은 지원하고 있고.. 뭐 어쨌건 tex 는 전혀 모르지만 beamer 를 고르게 됐고 불편없이 쓰게됐다. 다른 후보들은 생략. (음 이건 기억해둘까.. 맨처음엔 구글 docs 가 제공하는 놈을 써봤는데 이거 정말 끔찍하게시리 불편하고 한글지원 개판(스페이스오동작)등등 쓸놈이 못되더라. 대실망하고 웹기반 툴들은 아예 제꼈다. 아 그리고 PLT scheme유사기능(slideshow)이 있는데 이건 체크못해봤다. 예전에 한번 살펴볼려고 기억해둔건데 흠. 나중에 다시 볼일이 생기면 이놈을 꼭 검토해보자. 예제 링크도 적어둬야지.)

tex 의 간단한 사용법은 http://en.wikibooks.org/wiki/LaTeX 에서 익혔다. ktug 에 한글문서도 있는데 대강 비슷한 내용이고 아무래도 위키쪽이 읽기는 더 편하지. 어쨌건 내가 원하는건 책을쓰거나 도표/수식으로 채워진 그럴듯한 페이퍼를 만드는게 아니니 명령어 몇개만 대강 알아두고 이스케이프할 문자 몇개 알아두고.. 하면 충분했다.

beamer 사용법은 http://latex-beamer.sourceforge.net/ 만 가지고는 좀 부족하고 패키지에 딸려오는 문서... (http://en.wikibooks.org/wiki/LaTeX/Presentations 에도 링크가 있다.) 를 읽어야 했는데.. 사실 읽지 않고 그냥 적당히 필요한걸 구글링 하니 잘 뜨더라. 내가 쓴건 최소한의 사용법에 allowframebreaks 옵션 더쓴것 뿐.

음.. 코드도 좀 적어둘려고 했는데 좀 바쁘네.
대강 기억해둘만한것만 적어둔다.
  • 한글쓰는게 좀 어렵던데.. ktug 봐도 잘 모르겠고 어쨌건 내 시스템(리눅스)에 kotex 패키지만 깔아주고 \usepackage{kotex} 해주면 되더라.
  • beamer 쓰려면 \documentclass{beamer} 로 시작. 이 클래스라는건 tex 가 어떤식으로 문서를 뽑아낼지 결정하는 중요한 요소같군. 다른놈들도 많던데 관심밖
  • 테마지정이 좀 애매하더라. 어떤 테마가 있고 어떤 모양인지 한눈에 보여주는 문서를 못찾았다. 그냥 적당히 몇개 넣다보니 Madrid 테마 정도가 맘에 드네. 컬러도 따로 지정할수 있다던데 관심없다.
  • frame 이란 용어가 나오는데 이게 화면에 보여지는 한 페이지를 말한다.
  • 제목을 보여주는 페이지는 요리 만들자. \titlepage 가 author 나 title 에 시간까지 적당히 박은 그럴듯한 페이지를 뽑아준다.
    \begin{frame}
      \titlepage
    \end{frame}
  • 내가 만든 허접한 자료는 모든 페이지가 제목한줄, 아이템 몇개나열. 이게 전부다. 이런 모양을 만드려면
    \begin{frame}
      \frametitle{프레임제목}
      \begin{itemize}
        \item 킹
        \item 왕
        \item 짱
      \end{itemize}
    \end{frame}
  • itemize 외에 description 도 자주 쓰이더라.
  • 위처럼 만들다 보면 한페이지를 넘어가는데 (특히나 나는 다른데서 왕창 copy-paste 해온거라) 이경우엔 allowframebreaks 옵션만 주면 된다. 으악! 이게 제일 맘에 들었다.
    \begin{frame}[allowframebreaks]
  • 출력된 pdf 에 목차를 박아넣고 싶으면 적당히 section 이나 subsecion 을 깔아두자. 이게 프레임에 보이지는 않는데.. 아마 beamer 클래스가 아니면 결과물엗도 보이겠지?
  • 링크를 걸기 위해선 url 패키지를 써봤다. 뭐 사실 링크는 의미없지만 적절히 이스케이프를 잘 해준다길래.
  • 제기랄! 글로만 좀 부족하더라. 그림을 박아봤다. 그래픽스 패키지 추가하고( beamer 는 이게 기본인거 같던데? 흠. )
    \includegraphics[width=0.9\linewidth]{foo}
  • 이미지와 .tex 가 섞이니 짱나더라. images 라는 서브폴더에서 그림을 찾도록 해줬다.
    \graphicspath{{./images/}}
  • 음 역시나 성의없는 pt 라.. 제목한줄에 이미지한장 큰거. 이런 모양이 자꾸 반복되더라. tex 에 매크로같은게 있나 해서 찾아보니 newcommand 라는게 나오네. 적당히 만들어봤다. 이게 상당히 추한데.. 더 나은방법이 있을거란 기분이 들지만 뭐 땜질에는 충분하다.
    \newcommand{\singleimageframe}[2]{
      \begin{frame}
        \frametitle{#1}
        \begin{center}
          \includegraphics[width=0.9\linewidth]{#2}
        \end{center}
      \end{frame}
    }
  • 위 커맨드를 만들고 아래처럼 세줄적으면 프레임 세장이 간단히 튀어나온다. 우왕ㅋ굳ㅋ 인자의미도 적어둘까.. 첫번째는 프레임타이틀. 두번째는 박을 이미지 파일명
    \singleimageframe{헬로우}{hello}
    \singleimageframe{갓댐}{damn}
    \singleimageframe{블라블라}{blahblah}
  • .tex 가 덩치가 커지면 좀 골때리니까 input 으로 적절히 여러파일로 나눠서 작성하면 관리가 좀더 편하더라.

beamer 는 이것외에도 아주 많은 기능을 지원하는 놈이던데 나한테는 전혀 필요없는 기능들이다. 그래도 혹시 모르니 \pause 등 몇몇 이펙트 넣는것은 읽어두면 좋을것 같다.