2006년 11월 18일 토요일

LyX 에 관한 간단한 소개

LaTeX 문서를 GUI를 통해 만드는 툴인 LyX을 소개한다. LyX은 자체적으로 포맷팅 엔진을 내장하고 있지 않으며, LaTeX의 엔진을 사용한다. 일반적으로 LyX은 WYSWYM 에디터라 불린다.


  1. 들어가며


  2. MS 워드나 하안글(아래아 한글)로 문서를 만들다 보면 종종 겪는 문제가 정확히 포맷에 맞추어 쓰기가 꽤 어렵다는 것이다. 특히 논문처럼 미리 학회에서 정해 둔 문서 양식(여백, 글자 크기, 폰트, 한 페이지에 들어가야 하는 줄 수, 각 절의 제목 형식, 참조문헌에서 각 필드의 순서, 필드의 구분 방법,... )이 복잡한 경우에는 매우 힘들어진다. 그리고, 어떤 경우에는 양식에 따라 작성했다 하더라도 MS 워드와 하안글의 출력 문서가 서로 다르게 보이는 경우도 왕왕 있다.

    결국, 강력한 포맷팅을 위해서는 대안은 LaTeX이 최선이라는 것을 깨달았다. LaTeX은 수식의 작성에 있어서도 매우 강력하고, 폰트가 예쁘다. 그리고 거의 모든 학회에서 LaTeX으로 작성된 문서 클래스 파일과 예제 파일이 제공이 되므로 포맷을 잘못 맞췄을 가능성은 매우 줄어든다.

    그러나 문제는 LaTeX을 쓰기 위해서는 배워야 할 것들이 많은 편이어서 초보자가 내일부터 당장 LaTeX을 써야겠다고 마음먹을 수는 있겠지만 막상 실행하기가 그렇게 쉬운 일은 아니다. 특히나 나처럼 게으른 사람들은 단지 화면에 보여주는 작업을 위해 그 많은 태그들을 외워야 한다는 것은 짜증스럽기 그지없는 일이다. 더군다나 작업한 결과를 확인하기 위해선 컴파일을 해 봐야 하므로 작업의 속도는 더뎌질 수밖에 없다.

    그래서 LaTeX을 쉽게 쓸 수 있는 방법을 찾아 보기 시작했다. 그리고 그 답은 LyX이었다.

  3. LyX이란?


  4. LyX은 LaTeX의 프론트엔드(front-end)이다. LyX의 홈페이지에서는 다음처럼 LyX을 설명하고 있다.
    LyX is the first WYSIWYM document processor.
    먼저 프론트엔드라는 말의 의미부터 알아보자. 우리말로 번역하면 앞단(?)이라는 알쏭달쏭한 해석이 되어 버린다. 보통은 프론트엔드라고 하면 백엔드(back-end)에서 돌아가는 소프트웨어의 인터페이스 역할을 의미한다. (다른 학문 혹은 다른 영역에서도 이런 단어를 쓰는지는 모르겠다.)
    이 의미를 갖고 LyX을 바라본다면 앞에서 LyX을 갖고 문서를 작성하면, 뒤에서는 사용자가 모르게 LaTeX이 돌아가고 이것이 문서의 양식에 맞게끔 인쇄 가능한 문서를 만들어 준다는 뜻이다.

    그렇다면, WYSIWYM이란 말은 무슨 뜻일까. 이 약어는 "What You See Is What You Mean"라는 문장을 줄인 말이다. 보통 많이들 알고 있는 WYSIWYG(What You See Is What You Get) 이라는 약어에 대응하여 만든 말이라는 느낌이 온다. WYSIWYG은 사용자가 보는 것과 실제 문서의 출력이 동일함을 의미한다. WYSIWYM에서는 사용자가 보는 문서는 사용자가 하고자 하는 것을 할 수 있지만 출력과 동일한 것을 보여준다고 말할 수는 없다.

    LaTeX 의 좀 더 완벽한 프론트엔드로서 동작하려면 WYSIWYG까지 지원이 된다면 좋겠지만 안타깝게도 LaTeX은 너무 복잡한 패키지들로 구성돼 있고, 지금도 계속 문서의 포맷은 업데이트되고 있다. 앞으로 언젠가는 모든 LaTeX 파일을 WYSIWYG으로 편집할 수 있는 툴이 나와서 워드프로세서 시장을 허물어 버릴지는 모르겠지만, 당분간은 어렵지 않을까.

  5. 장단점


  6. 먼저 논문을 작성하는 관점에서 가질 수 있는 장점부터 알아보자.
    • LaTeX에 쓰이는 태그들을 많이 외우지 않아도 된다. (사실 조금은 알아야 한다.)
    • 수식 편집을 윈도우의 수식편집기와 비슷한 UI를 통해 할 수 있다. 그러므로, 수식이 맞게 작성되었는지 확인하기 위해 매번 컴파일할 필요가 없다.
    • LaTeX 태그를 직접 입력할 수도 있으므로 표현력이 떨어지지는 않는다.
    • BibTeX과 연결이 잘 되어 있어서 참조를 달 때(citation을 할 때) GUI로 선택할 수 있다.
    • GPL이므로 돈이 들지 않는다. 또한, WinEdt처럼 상용 소프트웨어가 아니므로 학교나 관공서의 컴퓨터에 설치하더라도 아무 문제가 발생하지 않는다.

    이제 단점을 알아볼 때가 되었다.
    • LyX에서의 한글 입력이 거의(!) 불가능하다. 리눅스에서 CJK-LyX이 있긴 하지만 그마저도 최근의 한글 입력기들과는 좀 불안해 보인다. (직접 컴파일한 것을 우분투 6.10, SCIM(혹은 nabi)에서 테스트해 보았는데, 어느 순간 소프트웨어가 응답하지 않는 현상이 발생했다. CJK-LyX을 유지하는 분의 말로는 Ami에서는 잘 동작한다고 하는데 사실 Ami를 깔기는 싫었다.) LyX으로 미리 드래프트를 작성한 후에 Vim등으로 문서를 열어서 한글을 입력한 후, 다시 LyX으로 열어서 pdf 등으로 만드는 방법이 있긴 하다.
    • 영어로 논문을 작성할 때 철자 검사하는 기능은 있지만 문법 검사는 해주지 않는다. MS word의 경우는 문법 검사를 해 주기는 한다. 믿음이 안가지만.

  7. 지원하는 운영체제: 윈도우, 리눅스, 맥OS 등 (Qt, libXpm, 등 몇 가지 라이브러리가 있으면 웬만한 Unix 계열에서는 컴파일이 될 것 같다.) rpm이 지원되는 리눅스에서는 rpm이 제공되고, Ubuntu에서는 프로그램 설치 메뉴를 통해 설치가 가능하다.



  8. 스크린 샷


  9. 스크린샷이 없으면 사실 꽤나 섭섭해진다. 스스로도 항상 소프트웨어를 발견하면 스크린샷부터 찾는 편이니까. 두 장의 스크린 샷을 준비했다. 하나는 프로그램을 실행시키면 볼 수 있는 화면. 다른 하나는 실제로 문서를 읽어서 에디팅하는 화면이다.



  10. 링크

    • LyX 홈페이지: http://www.lyx.org/
    • LyX 위키페이지: http://wiki.lyx.org/
    • 그 외 LaTeX에 관련된 링크들도 도움이 될 것이지만, 여기에서 링크하지는 않겠다. LaTeX에 관한 링크들은 사실 너무 많고 필요할 때마다 찾아서 보는 나로선 정리된 링크가 없다.

4 개의 댓글:

Unknown :

저 유민이에요~
제가 깔아둔 프로그램은 TexMaker 란 프로그램이었네요(쓰진 않지만)
그리고 한국 블로그랑 이 blogger 는 문화가 많이 다른것 같아요. 마치 제로보드 보다가 phpbb 보는 느낌 ㅋㅋ
그럼 간간히 들르겠습니다.

Unknown :

LyX 1.5부터는 유니코드를 이해할 수 있게 되어서, LyX에서 한글을 자유롭게 쓸 수 있습니다. 한글텍사용자그룹(ktug.or.kr)에서 정보를 제공하고 있습니다.

http://faq.ktug.or.kr/faq/LyX

한국텍학회(kts.ktug.kr)를 중심으로 (9월쯤 예정으로) LyX강좌가 계획되고 있습니다.

Joongsoo :

ischo2k님. 들러 주셔서 고맙습니다.

LyX 1.5를 저도 사용하고 있는데, qT 라이브러리가 윈도우랑 잘 맞지 않아서 아직 좀 불편한 면이 있더라구요.

이 글도 업데이트를 해야겠습니다. 알려 주셔서 고맙습니다.

Unknown :

위에서 말씀드렸던 한국텍학회 주관 LyX강좌가 11/2(금)-11/3(토)에 공주대학교에서 개최됩니다.

http://www.ktug.or.kr/jsboard/read.php?table=ktugbd&no=7014

LyX에서의 한글 사용에 관한 내용도 최근 LyX 버전으로 업데이트되었습니다.

http://faq.ktug.or.kr/faq/Karnes/LyX