KTUGFaq

KTUG FAQ

"절대 권장하지 않는 이상한 방법..."에 댓글 더하기

로그인:
비밀번호:
가입
You have a deep appreciation of the arts and music.
FrontPage › Karnes/2006-07
Jul 01, 2006
절대 권장하지 않는 이상한 방법...
Submitted by Karnes @ 07-01 [12:35 pm]
지난번 모임에서 어느 분이 말씀하신 것인지 모르겠지만, WinEdt에서 UTF-8 파일을 편집할 수 없다면, 편집은 EUC-KR로 하고 컴파일 시에는 잠시 UTF-8로 변환해서 하면 되지 않겠느냐는 말씀을 들었다.

뭐, 불가능하지 않을 것이다. 그래서 다음과 같은 배치파일을 작성하였다.
@echo off
mkdir .%~n1%
if .%2.==.--clear. goto CLEAR
if .%2.==.--another. goto ANOTHER
if .%2.==.--fig. goto FIGS
goto MAIN
:CLEAR
if exist .%~n1 rd /S/Q .%~n1
if .%3.==.--exit. goto FIN
goto MAIN
:ANOTHER
cd .%~n1%
copy ..\%3 .\%~n3.euc
cd ..
goto MAIN
:FIGS
cd .%~n1%
copy ..\%3 .\
cd ..
goto FIN
:MAIN
if exist %~n1.euc goto JUSTRUN
cd .%~n1%
copy ..\%1 .\%~n1.euc
for %%i in (*.euc) do iconv -f CP949 -t UTF-8 %%i >%%~ni.tex
:JUSTRUN
latex --src-specials %1
move %~n1.log ..\
copy %~n1.aux ..\
if exist %~n1.toc ( copy %~n1.toc ..\ )
if exist %~n1.idx ( copy %~n1.idx ..\ )
if exist %~n1.dvi ( copy %~n1.dvi ..\ )
if exist %~n1.lot ( copy %~n1.lot ..\ )
if exist %~n1.lof ( copy %~n1.lof ..\ )
if exist %~n1.out ( copy %~n1.out ..\ )
cd ..
:FIN
보시다시피 libiconv가 필요하다. 당연히 KTUG Collection 2006에서는 아무런 추가 설치 없이 이 배치파일을 사용할 수 있음. myltx.bat로 저장.

WinEdt에서 Execution Mode를 다음과 같이 설정한다. Browse Executable...로 찾아야 한다. 직접 써넣지는 못하게 되어 있다.
winedtmyltx.jpg
이제 LaTeX 버튼을 누르면 옵션을 써넣을 기회를 주는데, 여기서 잘해야 한다.
  1. 만약 단일 파일 문서라면 그냥
    %N.tex
    
  2. 부속 파일이 있다면... 이 부속파일들이 최소한 시작하는 문자 몇 개는 같도록 해두어야 한다. 여러 개의 파일을 개별적으로 넣어줄 수 없으므로 와일드 카드 문자를 이용해서 다음과 같이 해야 한다. 모든 부속 파일이 ch1.tex, ch2.tex, ch3.tex 인 경우이다.
    %N.tex --another ch*.tex
    
  3. 부수 그림이 있다면(그림은 같은 디렉토리에 있는 경우만 생각하였음), 그림을 한번 처리해두어야 한다.
    %N.tex --fig *.eps
    
  4. 이 스트립트는 예를 들어 주요 문서 이름이 doc.tex이라면 현재 작업 디렉토리의 아래에 .doc 이라는 디렉토리를 만든 다음, 거기에 문서들을 복사해서 utf8로 변환하여 처리하는 방식이므로, 이 임시 디렉토리를 지워야 할 때가 있다. 이 때는
    %N.tex --clear --exit
    
  5. 최종적으로 dvi 파일은 임시 디렉토리가 아닌 현재 디렉토리에 만들어진다.
  6. 적어도 인버스서치, 에러 검출, 그리고 파일 편집 등에 큰 불편은 없다. 다만 latex을 실행할 때 꼬박꼬박 parameter를 적어주어야 하는 것이 좀 불편하달까... 에러가 발생하면 log 창을 열면 에러 위치를 찾아간다.

    winedtmyltxpara.jpg


주의사항:
  • 작업 중에는 WinEdt에서 EUC-KR 코드를 이용하더라도 \usepackage{dhucs}는 꼭 해주어야 한다.
  • 이런 식의 작업 파일은 절대로 배포해서는 안된다. 다른 곳에서는 컴파일 불가능할 것이다. 그러므로 UTF-8 인코딩으로 변환한 다음 배포하도록 한다.

이렇게 해서라도 WinEdt을 쓰셔야 하는 분이 계실는지... 암튼 필요한 배치파일을 여기 올려둔다. 각각의 버튼을 이 배치파일들에 연결하면 되는데, myltx.bat와 pdfmyltx.bat는 옵션을 직접 써넣도록 설정하는 것만 주의하면 OK. (참고로, 이 배치파일에 쓰이고 있는 pdfclose/pdfopen 등의 명령은 (아마도) MiKTeX에는 없을 것임. 이 페이지에 앞으로 올라오는 모든 팁은 MiKTeX과는 무관합니다.)
@myltx.zip (1.21 KB)
설정에 참고가 될(지도 모를) 그림 모음
@ScreenShots.zip (888.17 KB)

  1. WinEdt 등록번호를 잃어버렸습니다. 테스트/팁개발 용으로 필요하니 공유하실 분 계신가요? (멜주세요 ^^ ;; )
  2. hangul-ucs를 이렇게 해서 쓰시겠다면 makeindex는 makeindex-dhucs 실행으로 꼭 바꿔주세요. Execution Mode에서 가능할 것임. -- Karnes 2006-07-01 12:37:55
이름:

서명하지 않기
 

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-07-30 08:31:30
Processing time 0.0396 sec