LaTeX2012. 10. 17. 20:39

TeX Live 2012에서 repository 관리 기능이 생겼다고 한다.


Repository 추가

tlmgr repository add http://ftp.ktug.or.kr/KTUG/texlive/2012 kotex


참고: 카이스트 미러

http://ftp.kaist.ac.kr/pub/tex-archive/systems/texlive/tlnet


texmf-local/tlpkg/pinning.txt을 만들고 "kotex: *"이라고 적음.


설치

tlmgr install collection-kotex


참고:

KTUG 게시물 (http://www.ktug.or.kr/xe/index.php?document_srl=157152)

tlmgr 매뉴얼 (http://tug.org/texlive/doc/tlmgr.html)


Posted by asdfzxcv
LaTeX2011. 7. 21. 22:10
http://www.cs.dartmouth.edu/~dfk/latex-squeeze.html

예를 들면,
\addtolength{\floatsep}{-5mm}
\addtolength{\dblfloatsep}{-5mm}
\addtolength{\textfloatsep}{-5mm}
\addtolength{\intextsep}{-5mm}
 
Posted by asdfzxcv
LaTeX2011. 7. 21. 22:04
tikz로 그림 그린 것을 input으로 가져올 때 여백이 이상하게 되는 경우가 있다. 예를 들어 input으로 가져오는 tex 파일이 다음과 같이 되어 있다고 하자.
\tikzstyle{mystyle}=[shape=rectangle,draw]
\def\mysize{10mm}
\begin{tikzpicture}
% some code
\end{tikzpicture}
이 경우에, line 1, 2 끝의 줄바꿈 문자 때문에 여백이 이상해질 수 있다. 다음과 같이 해야 옳다.
\tikzstyle{mystyle}=[shape=rectangle,draw]%
\def\mysize{10mm}%
\begin{tikzpicture}%
% some code
\end{tikzpicture}%
사실 line 3, 5 다음에도 %가 필요한지 여부는 정확히 모르겠다. 그러나 붙여서 나쁠 것은 없으니 그냥 붙이기로 하였다. tikzpicture 내부의 코드에는 이런식으로 끝에 %를 붙일 필요가 없다.

사실, tikz만 그런 것이 아니고, tex에서는 원래 이렇게 끝에 %를 붙이고 안 붙이고가 차이 나는 경우가 있다. 다만, tikz에서 이런 삽질을 많이 하게 되기 때문에 tikz로 예를 든 것이다.
Posted by asdfzxcv
LaTeX2011. 7. 21. 21:09
subfig 패키지가 유용해 보이는데, 이 패키지가 caption 양식을 바꿔버려서, 학회 template과 동시에 쓰기 난감하다. 이경우에는 다음과 같은 옵션을 주고 사용하면 된다.
\usepackage[caption=false,font=footnotesize]{subfig}
여기서 font는 알아서 학회에서 요구하는 크기로 설정하면 된다. 그리고 caption이 길어져서 여러 줄이 되면, caption 오른쪽이 정렬이 안 되는데, 아마 caption 패키지를 잘 찾아보면 정렬 관련 부분이 있지 않을까 싶다. 그렇다고, 그 기능을 쓰기 위해 caption=true로 하면, 학회 template에서 설정한 caption 양식이 날아갈 것이다. 결국, 필요한 것은 삽질. 그런 삽질은 나중에 해보고 이 글을 update하겠다.
Posted by asdfzxcv
LaTeX2011. 7. 21. 20:40
LaTeX에서는 첫 단락 들여쓰기를 하지 않는 것이 기본 옵션이다. 그런데 학회 양식을 가져다 쓰면 첫 단락부터 들여쓰기가 되는 경우도 있다. 그 이유를 분석해 보았다.

article.cls에서는 \section이 다음과 같이 정의되어 있다.
\newcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\Large\bfseries}}
아마 제공받은 템플릿 (cls든 sty든)에서 이것을 다르게 정의하고 있을 것이다. 무엇이 문제인지 알아보기 위해 이것저것 시도해 보았다. 결론적으로 알아낸 사실은 다음과 같다.

source2e.pdf에서 \@startsection을 찾아보면 #4의 절대값이 heading 위쪽의 skp이고, 이것이 음수이면 heading 다음의 들여쓰기가 안 된다고 나와있다. 참고로, #5가 양수이면 그것은 heading 아래쪽의 skip이고, 음수이면 run-in heading의 오른쪽 skip이 된다. (여기서 run-in heading은 줄바꿈하지 않는 heading이다.)

아무튼 section의 첫 단락을 들여쓰기하고 싶지 않다면, 필요에 따라 \noindent를 넣어주거나, 저 부분을 뜯어 고쳐주면 된다. 물론, 학회에서 "첫 단락도 똑같이 들여쓰기 하시오."라고 요구했다면, 건드리면 안 되고, 첫 단락의 들여쓰기에 대해 특별한 요구 사항이 없다면, 이래도 되고 저래도 되는 거니, 고쳐도 될 것 같기도 하다. (이 세상엔 다양한 학회가 있을 것이고, 깐깐한 학회도 있을테니, 아무것도 책임 못 짐.)

그리고 \@plus와 \@minus는 stretchability와 shrinkability를 나타낸다. 즉, {2.3ex \@plus.2ex}는 2.3ex가 기본이고, 2.5 ex까지 늘어날 수 있다는 뜻이다. 그러므로, 그냥 2.5ex라고 적은 것과는 다른 뜻이다.

\@plus, \@minus와 그냥 plus, minus의 차이는 잘 모르겠다. \p@의 차이와 pt의 차이도 잘 모른다. (@이 붙으면 preamble에서만 되는 건 아는데, 그거 말고 뭐가 다른지 모르겠다.) 
Posted by asdfzxcv
LaTeX2011. 4. 14. 21:49
\newcommand\sgn{\mathop{\mathrm{sgn}}\nolimits}
\DeclareMathOperator\sgn{sgn}
\newcommand{\sgn}{\operatorname{sgn}}
http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Mathematics/2011_January_18
Posted by asdfzxcv
LaTeX2011. 3. 27. 12:17
방법 1.
패키지 관리자를 쓰지 말고, 그냥 texlive를 직접 설치한다. 이 경우 tlmgr로 ko.TeX을 설치할 수 있다. 그러나 패키지 관리자를 안 쓰고 직접 설치하는 것은 권장하지 않는다나...
tlmgr --repository=http://ftp.ktug.or.kr/KTUG/texlive/2010 install collection-kotex

방법 2. (테스트 중)
zypper 등으로 texlive를 설치하면 tlmgr이 없다. 그리고 openSUSE에는 ko.TeX을 위한 3rd party 패키지도 없는 것 같다. (아마도...) 이런 문제는 openSUSE뿐만 아니라 꽤 많은 배포판에서 나타난다. (우분투처럼 패키지가 있는 경우도 있지만.)

그래서 노가다로 추가 패키지를 설치해야 한다. 그러니 http://ftp.ktug.or.kr/KTUG/texlive/2010/archive/에 가서 자신에게 필요해 보이는 것들을 다운받는다.
#!/bin/bash
BASE=http://ftp.ktug.or.kr/KTUG/texlive/2010/archive/ # 2011이 나오면 수정
ARCH=x86_64-linux # ARCH는 적절히 수정
mkdir -p /root/kotexinstall && cd /root/kotexinstall # 적절히 수정
wget $BASE/kotex.tar.xz
wget $BASE/kotex.doc.tar.xz
wget $BASE/kotex-base.tar.xz
wget $BASE/kotex-extra.tar.xz
wget $BASE/kotex-utils.tar.xz
wget $BASE/kotex-utils.${ARCH}.tar.xz
# 더 필요한 것들 추가
그리고 "xz -d kotex.tar.xz && tar -xf kotex.tar"과 같은 방법으로 압축을 해제한다.
추가: tar --xz -d로 한번에 풀자.

이것들을 TEXMF로 복사해야 하는데, 시스템에서 관리하는 TEXMF를 덮어 씌우는 것은 역시 불안하다. 그러므로
vi `kpsewhich texmf.cnf`
로 texmf.cnf를 열어보자. 그러면 "TEXMFLOCAL = /usr/local/share/texmf"라는 부분이 나오는데, 여기에 ko.TeX 패키지의 파일들을 복사하면 된다. 이미 texmf tree는 맞게 되어 있으므로 그냥 복사만 하면 된다. 그리고 "kotex-utils.tar.xz"는 압축을 해제하면 "texmf-dist" 디렉토리에 들어 있는데, 이 디렉토리는 무시하고 내부를 복사하자. (openSUSE에는 texmf-dist라는 이름의 디렉토리가 없다.)

이제 다음 명령을 내려준다.
texhash
updmap --nohash --nomkmap --enable Map=kotex-base.map
updmap --nohash --nomkmap --enable Map=kotex-extra.map
updmap 
그리고 "updmap"의 출력에 "kotex-base.map"과 "kotex-extra.map"이 잘 들어있나 확인해 보면 된다.
(updmap-sys일 수도 있음)

아마 permission은 이미 잘 되어 있어서 별로 신경 쓸 필요가 없을 것이지만, 확인은 해보자. 실행 파일들은 /usr/bin에 심볼릭 링크를 생성해줘야 편하게 쓸 수 있으니 이 작업도 해 주자. 먼저 "/usr/local/share/texmf/bin/x86_64-linux" 디렉토리에 가보자. 물론 "x86_64-linux" 부분은 시스템마다 다르다. 여기에는 8개의 파일이 있는데, "hbibtex"와 "hmakeindex"를 제외하면 심볼릭 링크들이다. (그래서 아까 texmf-dist가 있던 것이다.) 그러나 우리는 이 심볼릭 링크들을 수작업으로 다시 만들어야 한다. 그리고 "hbibtex"와 "hmakeindex"를 통채로 "/usr/bin"에 복사하는 것보다는 심볼릭 링크를 사용하는 것이 안전해 보인다.
cd /usr/bin
ln -s /usr/local/share/texmf/bin/x86_64-linux/hbibtex hbibtex
ln -s /usr/local/share/texmf/bin/x86_64-linux/hmakeindex hmakeindex
ln -s /usr/local/share/texmf/scripts/kotex-util/perl/euc-bookmark.pl euc-bookmark
ln -s /usr/local/share/texmf/scripts/kotex-util/perl/hypua2jamo.pl hypua2jamo
ln -s /usr/local/share/texmf/scripts/kotex-util/perl/insertjamofiller.pl insertjamofiller
ln -s /usr/local/share/texmf/scripts/kotex-util/perl/jamo2hypua.pl jamo2hypua
ln -s /usr/local/share/texmf/scripts/kotex-util/perl/komkindex.pl komkindex
ln -s /usr/local/share/texmf/scripts/kotex-util/perl/ttf2kotexfont.pl ttf2kotexfont 
이제 잘 되나 테스트해 보자.
Posted by asdfzxcv
LaTeX2010. 11. 19. 01:11
http://tug.ctan.org/pkg/fixltx2e
\RequirePackage{fix-cm}
\documentclass{ ... }
\usepackage{fixltx2e}[<date>]
Posted by asdfzxcv
LaTeX2010. 11. 6. 02:13
LaTeX을 이용하여 명함(bussiness card)을 만들 수 있는 패키지이다.

원본 파일에 첨부된 pdf 캡쳐.
0


Posted by asdfzxcv
LaTeX2010. 4. 3. 10:40
여기서 힌트를 얻었다.
http://forcecore.tistory.com/1017

그리고 이것 저것 뜯어 고쳐서 다음과 같은 코드를 만들었다.


%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\sz{6mm}

\tikzstyle{block}

= [draw, fill=black!10, rectangle,

minimum height=\sz, minimum width=\sz]

\tikzstyle{darkblock}

= [draw, fill=black!40, rectangle,

minimum height=\sz, minimum width=\sz]

\tikzstyle{index}

= [draw=none, fill=none, font=\tiny, inner sep=0pt]

\newcounter{myind}

%%%%%%%%%%

\newcommand{\myarray}[2]{

\def\pivot{#1}

\def\arr{#2}

%\node[plain] {A};

\setcounter{myind}{0}

\foreach \item in \arr

{

\addtocounter{myind}{1}

\if\item\pivot

\node[darkblock] at (\themyind*\sz,0) {\item};

\else

\node[block] at (\themyind*\sz,0) {\item};

\fi

\node[index] at (\themyind*\sz,0.65*\sz) {\themyind};

% good positioning is difficult T.T;

}

}

%%%%%%%%%%

\newcommand{\myarrow}{

\node[single arrow, draw, fill=black!40, minimum width=0.15cm, minimum height=1.2cm] {};

}

%%%%%%%%%%


이제
\myarray{9}{3, 2, 9, 0, 7, 5, 4, 8, 6, 1}
라고 적으면 9를 pivot으로 하는 array가 그려진다.

다음과 같이 사용해도 된다.
\newcommand{\myarrayx}[4]{
\begin{tikzpicture}
\myarray{#2}{#3}
\end{tikzpicture}
&
\begin{tikzpicture}
\myarrow
\end{tikzpicture}
&
\begin{tikzpicture}
\myarray{#2}{#4}
\end{tikzpicture} \\
}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{mysubfigcounter}
\setcounter{mysubfigcounter}{1}
\newcommand{\mysubfigcap}{
\multicolumn{3}{c}{\footnotesize (\alph{mysubfigcounter})} \\\\
\addtocounter{mysubfigcounter}{1}
}
\begin{figure}[ht]
\centering
\begin{tabular}{rcl}
\myarrayx{1}{9}{3, 2, 9, 0, 7, 5, 4, 8, 6, 1}{3, 2, 0, 7, 5, 4, 8, 6, 1, 9}
\mysubfigcap
\myarrayx{2}{8}{3, 2, 0, 7, 5, 4, 8, 6, 1}{3, 2, 0, 7, 5, 4, 6, 1, 8}
\mysubfigcap
\end{tabular}
\end{figure}

결과는
아 위에 결과는 틀린 결과이다. ㅠㅠ

Posted by asdfzxcv