KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Even the smallest candle burns brighter in the dark.
FrontPage › Karnes/2007-04
Apr 29, 2007

Apr 26, 2007
휴대성?
Submitted by Karnes @ 04-26 [02:59 pm]
virtprintsetup.jpg

"휴대성의 최적화"라니, 아마도 portability가 아닐까? 만약 그렇다면 "호환성(이식성)의 최적화"라고 해야 맞을 것이다. 명백한 오역인 듯. 이걸 선택하면 오히려 프린트파일의 크기가 커지니까 휴대성이란 말은 이상하다.

Apr 25, 2007
LyX 1.5.0 beta2 인증샷
Submitted by Karnes @ 04-25 [07:54 pm]
Windows 버전은 한글 입력 문제가 해결되지 않는 한 도저히 쓸 수 없겠고, 맥 버전(Universal binary)으로 테스트. Mac-mini (Powerpc) OS X (10.4.9)

LyX 실행화면
lyxshot1.jpg


설정(1)
lyxshot2.jpg


설정(2) : oblivoir 설정은 배포판에 없음
lyxshot3.jpg


설정(3) : KoreanUCS 설정은 배포판에 없음
lyxshot4.jpg


PDF로 export
lyxshot5.jpg


tex으로 export
lyxshot6.jpg


멋있습니다. 그런데 어떻게 해서 oblivoir로 올릴수 있나요?

역시 고수는 달라도 너무 달라요! 존경합니다! 가르쳐 주세요!

아니면 정식 version 나올때라도 꼭 알려주세요. -- synapse 2007-04-26 15:25:10

synapse님의 간절한 마음이 묻어납니다. 이제 저는 기다리기만 하면 윈도우에서도 리눅스에서도 사용할 수 있겠군요. ㅋㅋ -- hermian 2007-04-27 09:16:31

Apr 24, 2007
dviout 빠르게 쓰는 방법
Submitted by Karnes @ 04-24 [10:50 pm]
dviout이 표준 dvi viewer가 될 수밖에 없는 형편이라서, 몇 가지 팁을 소개한다.

(1) 초기 로딩 시간을 줄이자.
  • Resolution을 300으로.
    생각해보면 인쇄용을 쓰지 않고 화면 보기와 인버스서치만을 위해서 dviout을 사용한다고 할 때, 굳이 600dpi를 유지해야 할 이유가 없다. 300이면 화면의 모양과 글자를 확인하는 데 전혀 지장이 없으며 속도는 적어도 3배 정도를 얻을 수 있다.
    dviout-tip-1.jpg
  • Font buffer는 1500에서 2000 정도로
    아주 많은 폰트를 사용하고 있는 페이지를 열 때는 이 값이 조금 적다고 dviout이 불평하기도 하는데, 본문 위주의 대부분의 문서에서는 큰 문제 없다. 이 버퍼가 너무 크면 여러 폰트를 버퍼링하는 데 시간이 좀 소요된다. 만약 정말 빠른 기동을 원한다면, 800 정도로 하라. 이 값이 클수록 초기에 시간이 조금 더 걸리고 뒷 페이지로 갈수록 빨라진다. 800으로 하면 첫 페이지를 여는 데는 빠르지만 뒷 페이지도 비슷한 시간이 걸려야 열린다는 의미이다.

(2) 트루타입을 쓸 것인가 pk를 쓸 것인가?

일반적으로 말해서, 트루타입은 pk를 생성하는 시간을 줄일 수 있기 때문에 초기에 결과를 보기 위해 지루하게 기다려야 하는 시간을 줄여준다. 그러나, pk글꼴이 이미 생성되어 있다면 트루타입을 읽는 시간보다 체감속도가 조금 빠르다. 그러므로 pk글꼴을 만드는 지루한 단계만 견디면 그 뒤부터는 상당히 빠른 속도로 TeXing할 수 있다.

(3) 그림을 어떻게?
  • BMP를 적극적으로 사용하자. 다음 그림의 표시한 부분을 유심히 보면서 설정을 잡아둔다. 아무튼 Direct PS는 반드시 uncheck한다. 그리고 BMP full color를 선택.
    dviout-tip-2.jpg
  • 그림들은 모두 bmp로 바꿔둔다. 다음과 같은 간단한 명령(GraphicsMagick)을 이용한다.
    EPS:
    for %i in (*.eps) do gm convert -density 100 %i %~ni.bmp
    ren *.bmp *.bmc
    JPG, PNG:
    for %i in (*.jpg) do gm convert %i %i.bmp
    for %i in (*.png) do gm convert %i %i.bmp
    
  • 위와 같이 설정하고 그림을 bmp로 바꿔놓으면, dviout으로 다 읽어준다. eps 그림의 경우 약간 특이하니까 조심한다. pdf 그림은 어떤 것은 읽기도 하고 어떤 것은 읽지 못하기도 하는데(잘 읽지 못하는 것은 트루타입 폰트가 임베드되어 있거나 pdf 버전이 너무 높은 것들이다) 아무튼 gswin32c를 부르면서 경고창을 보여주는 작동을 하지 않게 하는 것만 해도 덜 번거롭다. pdf 그림도 위와 같은 방식으로 처리하려면
    for %i in (*.pdf) do gm convert -density 100 %i %i.bmp
    
다음은 pdf 그림을 읽어온 것이다.
dviout-tip-3.jpg
다음은 eps 그림을 읽어온 것이다.
dviout-tip-4.jpg


이 정도만으로도 작업 효율을 수 배 향상할 수 있을 것이다. dviout이 버벅대서 싫다는 분들은 꼭 시도해보시기 바람.

Apr 23, 2007
참을 수 없이 느려진 MiKTeX...
Submitted by Karnes @ 04-23 [12:10 am]
컴파일 체감 실행 속도야 원래부터 MiKTeX이 "조금" 느렸으므로 다시 말할 만한 것은 아니다. hangul-ucs MiKTeX 설치 파일을 테스트하느라고 MiKTeX을 설치해둔 Pentium 4 1.70GHz (512RAM) 기계(쫌 거시기한 컴퓨터라는 것은 인정한다...)에서 어젠가 오늘인가 업데이트가 있길래 유명한 자동 업데이트 툴을 이용하여 시스템을 갱신했다. 그런데... 문제는 여기서부터이다. 무슨 이유에선지는 모르겠으나 이제 업데이트 루틴의 일부로 Windows/Fonts 폴더를 읽어서 fontconfig cache를 갱신하는 루틴이 새로 생긴 것이다.[1] 시스템에 설치된 폰트가 조금 많다는 것은 인정한다만... 너무하다... 심지어 새로운 패키지 하나를 설치하면서도 꼬박꼬박 캐시를 갱신해준다니... 장난도 아니고... 그래서 subfigure 패키지 설치에 12분, xkeyval 패키지 설치에 물경 17분이 걸리고 있다.... 빠른 컴퓨터에서는 좀 나은지 모르겠으나, 패키지 설치 때마다 폰트 캐시를 새로 만든다는 것은... 정말 이상하다. 느린 컴퓨터에서 MiKTeX은 결코 small로 설치해서는 안되는 것이 되어 버렸다. 그러나 어차피 새로운 패키지가 나오면 또 저럴텐데...

여담이지만, 가상 DVD 드라이브에서 라이브로 돌리는 TeXLive보다 MiKTeX의 컴파일 속도가 느렸다. 그러잖아도 PDFTeX에서 트루타입 서브폰트 feature를 아예 (이유없이) 제외해버린 것 때문에 짜증나고 있던 참인데... MiKTeX은 내게는 적어도 "폭력적"으로 느껴진다.

생각건대, 폰트 폴더에 영문 폰트만 있다면야 속도 체감을 경험할 이유가 별로 없을 것이다. 그러나 한글/일어/중국어 폰트들이야말로 폰트 하나에 수십 메가가 넘는 공룡 폰트들인데 이걸 매번[2] 읽어서 캐시를 만든다면 얼마나 피곤한 일이겠는가? 트루타입 서브폰트 문제도 이걸 쓰는 게 거의 우리나 중국 정도뿐일 것이다. MiKTeX 2.6 베타 최신 버전에서 나는 우리나라 사용자들의 입장이 무시되었다고 느낀다.

----
  • [1] TeXLive의 경우 XeTeX을 위한 font cache가 있기는 하지만 한번 만들어두면 새로운 폰트를 추가하거나 빼기 전까지는 버틸 수 있고 XeTeX 이외에는 Windows Fonts 폴더를 그냥 아무런 캐시 없이 읽는다.
  • [2] 정확하게 말하면, mo를 실행할 때, 패키지 업데이트할 때, initexmf에 의하여 파일 캐시를 갱신할 때... 즉, "모든 경우에" 이 일을 한다

Apr 10, 2007
HLaTeX 1.0.1 installation for MiKTeX 2.6
Submitted by Karnes @ 04-10 [10:07 am]
MiKTeX한글환경에서는 HLaTeX 설치 파일을 제작하지 않겠다고 했지만... 사실 HLaTeX 설치는 아주아주 쉽다. 그래서... 널리 알리지는 않고 단지 내 블로그의 독자들에게만 간단한 배치파일을 하나 소개해두기로 한다.
(./) MiKTeX한글환경#s-4로 옮겼음
적당한 곳에 압축을 풀어서 hlatex-1.0.1.cmd를 더블클릭하면 한번 패스워드를 묻는데, 그냥 엔터를 치면 진행된다. 좀 기다리면 설정 종료. 심심하다면 test.tex을 컴파일해보시라.
당연한 말이겠지만, MiKTeX 2.6은 default로 설치되어 있어야 할 것임. 그리고 인터넷으로 파일을 가져오는 것이므로 네트워크에 연결되어 있어야 한다.

Apr 08, 2007
tri- hexa- gram
Submitted by Karnes @ 04-08 [09:15 am]
64괘를 모두 작성해넣으면 완성되겠지만, 기약할 수 없는 일일 듯... 현재 건위천, 곤위지, 수뢰둔, 화수미제 딱 네 개밖에 정의되어 있지 않다. 같은 패턴으로 계속 채워나가기만 하면 되므로 누군가 도와주면 좋을테지만...

나중에 여유가 생기면 Unicode 5.0의 저 바깥 영역에 정의되어 있는 tetragram도 함께 정의하면 어떨까 생각중이다.

혹시 팔괘만이라도 쓰실 분을 위하여... \Tgeon, \Ttae, \Tli, \Tjin, \Tson, \Tgam, \Tgan, \Tgon \ 의 여덟 개가 trigram이며, 각각 \TGooo, \TGoox \ 와 같이 괘의 모양으로도 식자할 수 있다. 다만 이 때는 아래쪽부터 o와 x로 읽고 앞에 TG를 붙인다. \TGxxx \ 등. \TGLooo \등은 괘 모양 뒤에 한자로 이름을 써주며, \TGFooo 등은 괘 모양 뒤에 한글로 한자이름의 음과 뜻을 함께 써준다.

브라보~ -- 125.178.58.150 2007-04-08 09:37:44

Apr 05, 2007
\yesterday...
Submitted by Karnes @ 04-05 [10:42 pm]
See KTUGOperate:21064

@yesterday.zip (1.33 KB)

윤년은 Gregorian Rule에 따라 계산한다. See [http]그레고리력(위키백과)
%%% leap year?
\newif\if@leapyear\@leapyearfalse
\newcount\tmptmp@a\newcount\tmptmp@b
\tmptmp@a=\the@yearcode\tmptmp@b=\the@yearcode
%% if ( year mod 4 == 0 ) then leap year true
\divide\tmptmp@a4
\multiply\tmptmp@a4
\advance\tmptmp@b-\tmptmp@a
\ifnum\tmptmp@b=0
 \@leapyeartrue
\else
 \@leapyearfalse
\fi
\if@leapyear
%% if ( year mod 4 == 0 ) and ( year mod 100 == 0 ) then leap year false
  \tmptmp@a=\the@yearcode\tmptmp@b=\the@yearcode
  \divide\tmptmp@a100
  \multiply\tmptmp@a100
  \advance\tmptmp@b-\tmptmp@a
  \ifnum\tmptmp@b=0
    \@leapyearfalse
  \fi
%% but ( year mod 4 == 0 ) and ( year mod 100 == 0 ) and ( year mod 400 == 0 )
%% then leap year true
  \tmptmp@a=\the@yearcode\tmptmp@b=\the@yearcode
  \divide\tmptmp@a400
  \multiply\tmptmp@a400
  \advance\tmptmp@b-\tmptmp@a
  \ifnum\tmptmp@b=0
    \@leapyeartrue
  \fi
\fi

제대로 될까?

재미난 매크로입니다. -- Progress 2007-04-06 08:44:30

Apr 05, 2007
mknewfile.cmd
Submitted by Karnes @ 04-05 [01:42 am]
@mknewfile.zip (1.07 KB)
  • %HOME%\bin 디렉토리에 세 개의 파일을 가져다 둡니다. 반드시 HOME 환경변수가 설정된 폴더 아래 bin 폴더를 만들고(예컨대 C:\TeX\HOME\bin) 거기 넣어야 합니다.
  • 이전에 mknewfile.bat를 설치한 적이 있다면 mknewfile.bat를 지워주세요.
사용법
#> mknewfile filename
-> filename.tex 이라는 UTF-8 oblivoir 문서 견본이 생성됩니다. mknewfile -u filename과 같습니다.
#> mknewfile -e filename
-> filename.tex 이라는 EUC-KR hangul/article 문서 견본이 생성됩니다.
#> mknewfile -h
-> 도움말을 보여줍니다.
#> mknewfile 
-> 새로 만들 파일의 이름을 확장명까지 적어넣을 기회를 줍니다. 이 경우 -u\ 또는 -e\ 옵션을 사용할 수 있습니다. -e\는 EUC-KR, -u는 UTF-8 입니다.

이미 같은 이름의 파일이 있으면 새 파일을 만들지 않습니다.


[http]빵집을 설치하면서 아래와 같이 명령프롬프트 설정을 체크해두면, 어디에서나(심지어 바탕 화면에서도) 마우스 오른쪽 버튼을 눌러 명령행을 열 수 있습니다.
bbangzipcmd.jpg


새 파일을 mknewfile로 만든 후, WinEdt이나 EmEditor 어느 것으로든 열면 인코딩을 잘 인식하여 열어주므로 즉시 편집할 수 있는 상태가 됩니다. 익숙해지면 새 문서를 시작할 때 아주 용이합니다. 특히 WinEdt의 경우 번거롭게 불러오기 인코딩 설정에 신경쓸 필요가 없어집니다. 저는 맨처음 문서 작업을 다음과 같이 시작합니다.
#> mknewfile mynewfile
#> start mynewfile.tex

Windows XP, KC2006은 필수이고, WinEdt라면 5.5 beta이상이 요구됩니다.

Apr 04, 2007
KC2006 Configuration for WinEdt ver0.2
Submitted by Karnes @ 04-04 [07:36 am]
shebeck 님과 커꿈 님의 테스트에 힘입어 WinEdtKC2006 환경 설정 프로그램을 공개합니다.

!!! 아래 내용을 KC2006/WinEdt 페이지로 옮겼습니다. !!!

정식판 : ver 0.2
아래 테스트판과 비교하여 달라진 점은, install -> remove -> reinstall 없이 한번에 설정이 잡히게 한 것입니다. 나머지 설치 절차 등은 동일합니다.

<주의>
  • 기존 설정은 전부 초기화됩니다.
  • 현재 버전은, WinEdt기본 설정으로 C:\Program Files\WinEdt Team\WinEdt 에 설치된 경우만을 지원합니다. (다음 버전에서 설치 폴더를 찾는 루틴을 추가할 계획임)
  • Windows ME, NT 등에서는 여전히 remove한 후 다시 설치해야 동작할 수 있습니다.

<절차>
  1. WinEdt을 닫습니다.
  2. 위의 KC2006_Config_WinEdt.exe를 다운로드하여 실행합니다.
  3. WinEdt를 실행합니다. 메뉴의 Options -> Configurations 에 KC2006이 생겨 있으면 성공.
    winedt-options.jpg
  4. KC2006을 선택하면 두 번 정도 경고 창이 뜹니다만, 무시하고 계속 진행합니다.
  5. 설정이 완료되었습니다.
    • mo -> kcmenu
    • yap -> dviout
    • texify -> kcltxmk
    • dvipdfm -> dvipdfmx
  6. 등으로 교체되어 있을 것입니다.

WinEdt의 이름이 WinEdt/KC2006으로 바뀝니다.
winedt-kc2006-1.jpg


Diagnosis에서도 KC2006으로 확인됩니다.
winedt-kc2006-2.jpg


<ToDo>
  1. 현재 texify(kcltxmk)의 clean build는 되지 않습니다. clean을 원하신다면 실행 후 "부수파일 없애기" 버튼을 이용하십시오.
  2. dvips에 아무 옵션도 지정하지 않았습니다. 만약 type 1 폰트 다운로드를 원하신다면 Execution Modes의 dvi2ps의 Parameters를 -P dl "%N.dvi" 로 수정하십시오.
  3. 기타 Execution Modes를 설정하는 것은 대부분 가능할 것입니다.

Apr 03, 2007
WinEdt & KC2006, version 2
Submitted by Karnes @ 04-03 [12:03 am]
충분한 테스트를 거치지 못하였기 때문에 여기 올려두고 관심있는 분의 테스트를 부탁하는 바입니다. Windows XP에서 WinEdt 5.5 beta 5 로 테스트한 것입니다. 5.4 이하 버전에서는 동작하지 않을 겁니다.

설치 파일 : [http]KC2006_Config_WinEdt.msi (2007-04-03) v0.1.2 (04/02/03:26)
(약간 이상하게 동작하는 버전이기는 하나 테스트를 위해서 올려둡니다.)
  • 0.1.8 : Compile Selected 기능 복원.

테스트해보신 분은 꼭 결과를 알려주시기 바랍니다.

win xp pro + kc2006 + winedt5.5 입니다. 한 번 remove후에 정상적으로 작동합니다. configuration에서 kc2006 설정하면 한 번 경고 뜨는데, 그 후로는 설정을 바꾸어도 뜨지 않습니다. mo, yap, texify, dvipdfm 모두 다 잘 변경되어 있고, 실행버튼 (texify, latex, pdftexify, pdflatex, dvi2pdf, dvi2ps, ps2pdf)은 잘 동작합니다. -- shebeck 2007-04-03 08:53:47

1. 한 번 제거한 뒤 다시 설치하였더니 정상적으로 작동합니다. configuration에서 "경고"하는 창이 뜨긴 하는데, 중요한 내용은 아니네요.

2. 실행버튼 모두 잘 동작합니다. UTF-8 한글도 oblivoir 클래스에서 잘 컴파일 됩니다. pdf 파일에서 검색 및 추출도 당연히 잘 됩니다.

3. 정말 감사합니다 ^^ -- 2007-04-03 13:40:51

메뉴에서 안 됬는데 여기와서 하니까 잘 되네요. 한번 remove하고 다시 까는 것이 포인트네요. 잘 됩니다. 감사합니다 :D -- 와우~ 2007-10-09 19:40:05

Apr 02, 2007
봄이 오면 (mtx, tex) 소스
Submitted by Karnes @ 04-02 [02:31 am]
@Spring.zip (51.08 KB)

MiKTeX 2.6 --- OTL
Submitted by Karnes @ 04-01 [09:08 pm]
MiKTeX 2.6 beta 가 나왔다고 한다. KTUG 게시판에서는 꾸준히 MiKTeX에서 뭔가가 안 된다는 질문이 계속해서 올라오는데, 왜 잘 되지도 않는(!!!) MiKTeX을 굳이 써야 하는지 여전히 이해하고 있지 못하지만 그래도 이 많은 사용자에게 혹시라도 도움이 될 바가 없을까 하여, 여분의 컴퓨터에 이것을 설치하고 테스트해보았다.

KC2007의 기본 노선은, 단일한 texmf 트리로 제공되는 texmf-KTUG을 시스템에 간단히 설치해서 쓸 수 있다면 어떤 TeX 시스템이든지 지원하겠다는 것이었다. 그 결과 현재까지 TeXLive 2007에서 상당한 성과를 보이고 있으며, 이것은 매킨토시, 리눅스 할 것 없이 모두 동일한 하나의 texmf 트리만으로 한글 구현에 성공하고 있다는 것일 터이다.

한 시간 정도 MiKTeX 2.6을 가지고 놀았는데, 내가 발견한 것은 다음과 같은 점들이다.
  1. dvipdfmx 의 버전이 20051229이다. 무척 낡은 버전인데, 이거야 뭐 아무려면 어떻겠는가? 나중에 새로운 버전으로 업데이트가 되기만 한다면 되는 건데...
  2. pdftex이 1.40.3이라고 해서 내심 반가웠다. 그런데... 이게 TeXLive의 pdftex과 다른 모양이다. 결정적으로 "새로운 map 파일 형식"을 지원하지 않는다. 결과적으로 texmf-KTUG의 새롭게 조성된 pdftex용 폰트 파일 설정은 전혀 먹지 않게 되어 있다.
  3. ttf2pk/dvipdfmx 용 map, sfd, agl 파일의 위치가 TDS를 따르지 않는다. 예전 MiKTeX의 것 그대로이다.
  4. pdftex이 이따금 죽는다.
  5. conTeXt 실행에 실패했다. 제대로 되게 하려면 방법이 없는 것은 아니지만...
  6. oblivoir는 UTF-8 BOM 때문에, 그리고 한글 트루타입 map 파일 때문에 oblivoir.cls를 수정하지 않고는 pdflatex 문서를 만들 수 없다.

베타 버전이니까, 정식 버전이 나오면 괜찮아질려나 하고 생각은 하지만 그토록 원했던 TDS 구조는 여전한 걸로 보아... 역시 OTL;;

결론은 다음과 같다:
  1. KC2007MiKTeX을 지원하려면, texmf-KTUG을 MiKTeX용으로 새로 조성해야 할 것 같다.
  2. pdftex을 위한 폰트 및 설정 파일들은 전부 이전 방식으로 되돌아가야 할 것 같다.

피곤한 일이다. MiKTeX만을 위해서 그 많은 파일들을 전부 다시 배열하고 다운로드 및 설치 지침도 별도로 작성해야 한다니... 이런 낭비가 어디 있겠는가? 그 뒤에 발생할 수많은 질문과 사용자 지원도 감당이 어려울 듯하다. 왜 이런 일이...

이미 언젠가 썼듯이... 2.6은 포기. 2.7이 나오면 그 때나 다시 들여다보아야겠다.

추가. MiKTeXThai 패키지를 설치하려고 했더니, "MiKTeX이 설치되어 있지 않습니다. MiKTeX을 설치하세요"라는 메시지가 나오고 설치 프로그램이 실행되지 않았다. :(