Tag Archives: LaTeX

일반인의 입장에서의 LaTeX

몇 번을 KTUG에 관련 포스팅이 있을 때 마다 쓰려고 했지만, 그분들의 노력을 잘 알고 있기에 함부로 이야기하기 좀 그런 이야기들을 씁니다. (KTUG 김강수님의 글에 트랙백을 달려고 작성했는데, 안되어서 그냥 씁니다. ^^;)

아시는 분은 아시다시피 babyworm은 회사에서도, 집에서도 LaTeX을 많이 사용합니다. 요즘엔 word로 글을 쓰면 모양을 이쁘게 만들지 못할 정도이죠. (이거 생각보다 심각한 증세입니다. 그래도, 회사의 다른 사람들과 간단한 메모(일종의 workbook을 위해서는MS word를 즐겨쓰죠)

사용만 할 줄만 아는 초보 유저의 입장에서 몇 가지 아쉬운 점을 말씀 드립니다.

 

간단한 가이드의 제시

PracTeX Journal이란 곳에 LaTeX documents that endure라는 글이 올라오면서 지속 가능한 LaTeX이라는 이야기가 블로그에 많이 나오는데요. 저 역시도 이 문제는 반드시 해결해야 할 중요한 문제라고 봅니다. (물론, 본문을 읽지 못해서 다른 분들의 blog 글을 통해서 간접적으로만 알고 있습니다만..) 이를 위해서는 가장 중요한 것이 스타일과, 클래스의 유지라고 생각합니다. 즉, 일반적이고 한정된 클래스 위주로 사용한다면 나중에 변경되는 것을 가이드 하기도 편하다.. 는 생각이죠. 

예전에 공주대에서 말씀 드린 적 있습니다만, 일반적인 사용자는 “내가 사용하는 것이 어떤 클래스이고, 어떤 클래스/스타일을 넣어야 해당 명령이 동작한다”라는 개념이라던지, pdflatex이건 dvipdfmx이건 관심도 없습니다.

단지 알고 있는 건 이걸 하고 싶을 땐 이런 명령을 써라 (혹은 에디터에서 이 단축키를 눌러라) 정도입니다. 그리고, 다 되면 KCmenu에서 어떤 버튼 누르면 된다. 그 정도지요.

당연하죠. MSWord 사용할 때 볼드체를 하려면 어떤 아이콘을 클릭하면 되는지만 알면 되지, 볼드체를 구현하기 위하여 어떤 패키지가 깔려야 하는지, 동일한 볼드체를 구현하는 다양한 패키지 중에 어떤 것이 좋은지는 “전혀” 관심이 없습니다. 패키지가 안깔려 있다면 그 중에 가장 적절한 패키지를 자동으로 업데이트 하는 프로그램만 있으면 되죠.

즉, 일반적인 사용자는 필요 이상으로 너무 많은 것을 알려주면, 불편하다고 생각합니다. 단지, 내가 하고 싶은 것을 어떻게 하면 되는지만 알려주면 됩니다.

초보 사용자를 위해서 아래 것이 되어야 합니다.

1. 무조건 full package를 깔 수 있도록 해야 합니다.
TexLive던 뭐든 일반인은 상관하지 않습니다. 동작만 하면 상관 없습니다.

2. 예전에 사용했던 패키지를 그대로 사용하게, 혹은 migration path를 아주 쉽게 알수 있어야 합니다.
예전에 dhucs-hyper 이야기를 드린 적이 있습니다만, 당연히 hyperref로 가야 할 상황이었습니다만.. 어떻게 바뀐다는 내용이 부족한 것 같습니다. 물론, 이건 찾아보면 됩니다. 하지만, 대부분의 사용자는 “어떤 툴에서는 되었는데, 새 버전에서는 컴파일이 안되니 예전 버전을 사용하자.. 새 버전은 버그가 있다”로 반응 합니다. 대부분 당연히 되던 것이 안되면 찾아보기 보다는 버그라고 인지하는 것입니다. 어찌 보면, 이런 문제 때문에 호환성이 매우 중요한 것이겠습니다.
따라서, 해당 package가 새로운 패키지로 대체되는 경우에는 kcmenu의 script나 어떤 것을 이용하여 새로운 패키지로 변경된 패키지를 요구하는 경우에는 “몇 행의 어떤 패키지는 어떤 걸로 바뀌었으니, 어떻게 바꾸라는 좀 더 구체적인 방법에 대하여 설명하는 에러 메시지와 관련 web page를 참조할 수 있도록 하는 건 어떨지 생각합니다.

3. 일반적인 문서 작성에서 발생할 수 있는 여러 상황에 대하여 간단하게 가이드를 줄 필요가 있습니다.

가장 중요하지만, 가장 어려운 일이기도 합니다만.. 설명하자면..
예를 들어 표를 그리는 방법은 여러 가지 입니다. 각각의 용도에 맞는 방법이 있지요.
하지만, 가장 많은 기능을 포함하고 있는 (따라서 무거울 수도 있지만..) 표 패키지와 이 사용법을 위주로 풀어주는 것이 일반적인 사용자에게는 더 편합니다.

그림의 삽입도 마찬가지 입니다. 대부분이 요즘에 includegraphics를 사용하지요.

이걸 일반적인 가이드 북으로 엮을 필요가 있습니다. 자세한 설명 필요 없습니다. 이거 하려면 이렇게 쓰세요. 정도면 충분합니다. 쉽게 이야기 해서, 초보 유저에게는 초보 유저 가이드가 필요하고, 고급 사용자에게는 reference manual이 필요한데, 모든 사용자들에게 reference manual에 모두 있으니 참조하세요~. 하는 것 같습니다.

 

표의 사용

사실 표의 사용 문제는 예전부터 문제였습니다. 게시판에서는 표를 많이 사용하는 건 별로 좋지 않은 습관이다.. 라고 말씀하시는 분도 있으신데, 이건 좀 옳지 않은 표현인 것 같습니다. 글을 쓰는/읽는 문화에 관련된 것이기 때문에 어떤 것이 좋다/나쁘다 라고 할 수 없다고 봅니다. 게다가, 제가 몸담고 있는 분야는 국 내외를 막론하고 표를 엄청나게 많이 사용합니다. (각 비트의 의미를 각각 표현하는데 표만큼 편한 방식이 없으니까요)

그런데, 아시다시피 LaTeX에서 표의 사용은 결코 쉽지 않습니다. 사실대로 이야기하자면, 초보자의 입장에서는 끔찍하죠. 초반에 썼던 방식은 excel에서 표를 만들어서 이걸 그림으로 삽입하는 방법을 많이 사용했는데(아직도 약간 이쁘장하게 만들어야 하는 표는 이렇게 합니다.), 그림이라는 한계 때문에 페이지를 넘어가는 경우에 속수 무책이었습니다.

그래서, 회사 내에서 사용할 포맷을 만들 때는 long table 과 colortbl을 사용하여 무조건 이것만 쓰게 guide를 했었습니다. 문제는 이걸 이쁘게 만들기 상당히 어렵다는 것이죠.

자그마한 바램이 있다면, 국내에서는 표를 상당히 “빡시게” 사용하니까 국내의 사정에 맞는 표 작성 관련 style 이 있었으면 좋겠습니다.

 

예쁜 문서의 어려움

TeX의 장점.. 디자인과 쓰기를 분리할 수 있다. 좋은 이야기입니다. 그런데, 한글을 사용하면서 사용할 수 있는 예쁜 문서 예제가 적습니다. 있는 예제는 너무 어렵습니다. 어느 정도 레벨이 되지 않는 사용자는 어떤 부분이 어떻게 동작해서 저런 예쁜 모양을 만들 것인지 알기 어렵습니다.

저 문서의 사이드 바를 따라 하고 싶은데, 도저히 어떻게 한 것이지 모르겠고, 저 문서의 인덱스 형식을 따라 하고 싶은데 수 많은 문장 중에 어떤 부분을 따와야 하는지 모르겠어서 이것 저것 해보다 포기하는 경우가 부지기수 입니다. ^^; 이런 예는 수도 없죠 ^^:

 

분명히 LaTeX은 매력적입니다. 누군가 한번 포맷을 만들면 별로 신경 쓰지 않고 글쓰기에 적응할 수 있고, 어느 정도 퀄리티도 보장됩니다. 워드처럼 느려지지도 않고, 찾아보기나 인덱스가 꼬이지도 않습니다. 그래서, 적어도 저희 회사의 저희 팀에서는 상당히 폭넓게 사용하고 있습니다. (보고서나, 매뉴얼, 일부 워크북에서까지..)

그럼에도 불구하고, 업데이트되었을 때 컴파일이 안되면, 다들 당황하고 (예전 버전으로 돌아가기도 하고. 지우고 다시 깔아보기도 하고…. 가끔은 분노 반응도.. ^^;), 외부의 요청으로 “좀 더 이쁘게” 해야 할 경우에도 일단 “째”야만 하고, 한참을 고생합니다. 이런 걸 보면, 초보자에게는 “원인을 알려주기 보다는 현상에 대한 처리 방법”이 가장 좋은 답이 아닌가 싶습니다. 즉, F6대신 alt-F6을 누르세요 같은 답 말이죠.

 

LaTeX을 이용한 문서 작업

대부분의 회사에서 MS office를 기반으로 문서 작업을 하실텐데요. 저희 회사도 별다르지 않습니다. 그런데, 회사에서 “워드”로 문서 작업할 때 고생을 많이 하는 것이, 그림이 많아지면 열 때 한참 시간이 걸린다거나, 다른 부분의 내용을 갖다 붙이면 열심히 붙여둔 제목 순서가 어긋나 버린다던지.. 그런 일이 빈번합니다.


개인적으로 CVS의 열성적인 사용자인데, [wp]CVS[/wp]에서 binary형식의 word파일은 사실 버전 관리가 정상적으로 이루어진다고 볼 수 없죠(수많은 카피본을 만들뿐이니까요.). 그래서, 한 2년 전부터 간단한 문서는 MS word로, 매뉴얼과 Technical report는 [wp]LaTeX[/wp]으로 작성하고 있는데 아주 성공적으로 정착했다고 개인적으로 자평합니다.


많은 분들께서 LaTeX를 들어보셨을텐데, 많이들 힘들어 하는 이유가 “한글 사용이 어려워서..”, “설치 운용이 어려워서”입니다. 텍스트 창에서 명령을 써야 한다는 점은 적어도 프로그래밍 언어를 많이 사용하는 사람들한테는 별로 단점은 아닌 것 같습니다. (가끔 귀찮을 때는 있지만 말입니다.). 그런데, 이런 설치/운용에 대한 문제는 KTUG에서 제작한 KC2006을 기점으로 사라졌다고 생각합니다. 팀의 후배들한테 소개해주었는데, 다들 쉽게 설치/운용하고, 어렵지 않게 적응하더군요.


이제, 저희 팀에서는 내부적으로 [wp]LaTeX[/wp]/KC2006(실제적으로는 KC2006-2)을 기반으로 하는 환경에서 작업을 하려고 합니다. 이렇게 함으로써 작업 있어서 몇 가지 장점이 생기는데요..



  1. PDF writer가 필요 없다. (LaTeX은 양질의 PDF를 만들어 줍니다!)

  2. 공동 작업에 있어서 CVS를 이용하고, 이에 따라 문서의 버전 관리가 쉬워진다

  3. 자유로운 comment 사용이 가능하기 때문에 좀더 명확한 문서 작성이 가능하다.

  4. 일관된 문서 형식을 유지하기가 수월하다

  5. 조건부 문서 작성이 쉽다. (어떤 peripheral이 포함되는지, 어떤 feature가 포함되는지에 따라 compile time에 문서를 포함하는.. single sourcing이라고 하신 거 같은데..)

  6. 소소하지만.. 제가 회사 문서를 위하여 작성한 Acroedit 스크립트, 회사 문서 스타일등을 사용할 수 있습니다. verilog 소스 코드를 위한 스크립트 라던지.. ^^;

위의 장점은 워드로도 가능합니다만, LaTeX을 사용하면 더 효과적이 되는 부분이지요. 물론, 단점도 존재합니다. 어찌보면 제가 LaTeX을 사용하면서 느끼는 문제일 수도 있습니다.



  1. 표 작성이 어렵다.
    하드웨어쟁이들은 비트당 뭐뭐뭐 하는 걸 표로 많이 표시하는데, LaTeX로 작성하면 좀 귀찮아집니다. 이럴때는 Excel로 표를 만들고 OLETeX를 이용해서 그림으로 변환한 다음에 TeX에 삽입하는 편법을 사용합니다. [1]OLETeX는 OLE기능을 위하여 사용할 수도 있습니다만, 저는 개인적으로 EPS 생성 프로그램으로만 사용합니다. ^^; WMF2EPS를 원래 썼었는데, shareware이기도 하고.. OLETeX가 떨어지는 부분을 잘 모르겠더군요.

  2. 다른 사람들의 저항감이 있다
    특히 관리부터 사람들과 윗분들…

그래서, 내부적으로만 일단 사용할 예정이죠. 사실 이런 문제는 굳이 말로 떠들어봤자 힘만 들거든요. 직접 보여주는 것이 최선이라 생각합니다.


혹시 관심 있으신 분은 http://www.ktug.or.kr/에 방문해 보십시요.

Notes & References

Notes & References
1 OLETeX는 OLE기능을 위하여 사용할 수도 있습니다만, 저는 개인적으로 EPS 생성 프로그램으로만 사용합니다. ^^; WMF2EPS를 원래 썼었는데, shareware이기도 하고.. OLETeX가 떨어지는 부분을 잘 모르겠더군요.

KC2006 mini. 국내 LaTeX 환경의 표준을 노린다.

KTUG collection 2006은 이전에 윈도우용 Latex 환경으로서는 가장 많이 사용되었던 MiKTeX에 비교해서 빠른 속도, 안정적인 동작, 한글화에 맞추어진 환경으로 많은 Latex 사용자들에게 각광을 받았습니다.


저 같이 Latex을 사용할 줄만 알고, 설치하는데 항상 고생했던 사람은 컴퓨터가 불안할때 포맷을 못하는 가장 큰 이유가 latex설정 문제였습니다. MikTex설치하는 것 까지는 좋은데, 항상 이후에 한글 설정하려고 hpack깔고 한글 pdf를 만들기 위해서 이런 저런 설정하다보면 몇일 넘기기 일수였으니 말입니다. 좀처럼 익숙해지지도 않고..


그러던 차에 KC2006(KTUG-Collection 2006) CD을 받아서 설치했는데.. 세상에나 이렇게 편할 수 없었습니다.(예전에 감상을 쓴 적이 있지요..) 뭐, 소소하게 이렇게 저렇게 건드려야 할 것도 있지만 저로서는 만족스러웠습니다.


하지만, KTUG의 부지런하신 많은 분들께서 KTUG Collection 2006을 더 발전시켜 거의 완전한 윈도우 기반 프로그램처럼 만드셨습니다. 바로 오늘 소개 시켜드릴 KC2006 Mini입니다.


이제 더 이상 윈도우에 Latex을 설치하는데 고민할 필요가 없습니다. 다운 받아서, 설치만 하면 끝입니다.!!!!


안정적이며, 빠른 동작 성능으로 각광받았던 KC2006이 MiKTeX에 비하여 떨어지던 사용자 편의성에 중점을 두고 업데이트 되었으며, 그 중심에는 설정과 컴파일, 패키지 추가 설치를 간편하게 해주는 KCMenu라는 것이 있지요. 무슨 말이 필요하겠습니까?


다운 받아 설치해 보십시요.


[설명 페이지] [바로 다운로드]


Editor로는 EmEditor가 권장됩니다만, 저는 AcroEditor도 좋다고 생각합니다. 단 AcroEditor의 경우 Unicode를 지원하기는 하지만 CPC797에서 표현하지 못하는 한글은 Unicode로 변환되지 않습니다. 그래도, 워낙에 손에 익은 상태라.. ^^; 게다가 AcroEditor의 Scirpt로 Tex 매크로를 몇개 만들어둔 상태라 이전이 쉽지 않네요..


참! 광고 한 가지!


KTUG 5주년 기념 학술 발표회 및 한국 텍 학회 창립 총회가 1월 27일 10시부터 한국 고등 과학원에서 열립니다. TeX에 관련된 좋은 발표가 많이 있을 예정입니다. TeX에 관심있으신 분들과 함께 했으면 좋겠습니다. 자세한 사항은 [여기]를 참고하십시요.