Typst 구경 중인데 재미있어 보이네요.
페이지 정보

본문
이걸 어디다 적어야 하나 고민하다가, 자유게시판이 맞긴 맞는데 별로 관심없는 분들이 많을 것 같고, 사용기나 강좌로 하기에는 너무 내용이 없어서, 그나마 관심을 가질 만한 분들이 좀 있을 것 같은 여기에 간단히 적어봅니다.
수식이 많은 문서를 만들기 위한 정석은 LaTeX입니다. 그런데, 요즘에는 LaTeX 스타일의 마크업도 너무 장황하다는 느낌이 들더군요. 그러다 보니, 요즘에는 웬만한 문서는 Markdown + Mathjax로 만들게 되었습니다. 그러다가, 정말 각잡고 뭔가 쓸 때에만 LaTeX을 사용하고요.
처음에는 이런 저런 마크다운 편집기를 전전하다가, 상당 기간 Typora를 썼었습니다. 매우 만족하고 쓰고 있었는데, 요즘에는 옵시디안을 고급 마크다운 편집기로 쓰고 있습니다. (아마도, 제대로 옵시디언을 쓰시는 분들의 입장에서는 마치 아메리카노를 홀짝이는 미국놈을 보고 있는 이탈리아 분들 같은 느낌일 것 같습니다만...) 거기에 LaTeX Suite 플러그인을 붙이니, 출력물의 품질은 좀 그렇긴 합니다만, 글쓰기의 편안함 면에서는 텍과는 비교가 되지 않게 좋더군요. 발표자료 같은 것을 만들 때에는 오랫동안 Deckset이라는 앱을 썼었는데 (역시 마크다운 기반 프레젠테이션 소프트웨어), 역시 옵시디언에서 Marp 플러그인을 끼웠더니 이것도 해결되었습니다.
사실, 텍이 현재까지 (특히 이공계에서) 문서 작성 도구로서 중요한 자리를 차지하고 있는 것은 대단한 일이라는 생각이 듭니다. 이 나이드신 소프트웨어는 여러 가지 대단한 아이디어를 가지고 만들어져있습니다만, 처음 만들어진 환경과, 지금 텍이 쓰이는 환경은 너무도 다르죠. 정말 많은 사람들이 이걸 마개조해서, 마치 노인 학대라도 하듯이 여기까지 멱살잡고 끌고온 듯한 느낌입니다. 메타폰트로 기술된 벡터 폰트를 비트맵으로 변환하고, 텍 문서를 그걸로 조판해서 dvi 파일을 만든 뒤에 그걸 다시 그 다음 단계 (주로 postscript)로 변환해서 프린터에 넘기는 과정이 이제는 처음부터 벡터 폰트로, pdf 파일을 직접 만드는 것으로 바뀌었습니다. 정말 단순하고 간결한 매크로 시스템이었던 텍 위에 레슬리 램포트가 '철학이 다른', 마크업 언어를 올려버렸고, 수많은 사람들이 거기에 다양한 패키지를 추가했습니다. 컴파일에 상당한 시간이 걸리던 옛날에 비해, 오늘날의 현대적인 텍 시스템은 종종 실시간 컴파일 등 여러 사용자 편의적인 기능들을 제공합니다. 복잡한 인코딩 방식을 사용하던 옛날에 비해, 오늘날의 '현대적인' 텍은 유니코드를 잘 지원합니다. 그럼에도 불구하고, 이걸 쓰고 있으면, 이게 본질적으로 매우 '늙은' 시스템이고, 원래 만들어진 환경과 매우 다른 환경에서 개조에 개조를 거듭하여 간신히 적응하고 버티고 있는 시스템이라는 느낌을 여전히 받곤 합니다.
어쩌다가 며칠 전에 Typst라는 시스템을 발견했습니다. 역사가 비교적 짧은 소프트웨어더군요. 한 3년이 채 되지 않은 것 같았습니다. 텍을 (보다 정확히는 LaTeX을) 대체하겠다는 목적으로 만들어진 프로그램입니다. 마크업은 매우 마크다운을 닮아있고, 매크로 대신에 버젓한 함수 시스템을 이용해서 많은 기능을 제공합니다. 기능적으로 거의 LaTeX에 근접하고 있고, 여러 층위의 시스템이 덕지덕지(?) 붙어있는 지저분한 텍이 아니라, 처음부터 문법이나 구현이나 생태계 전부에서 마치 새롭게 텍을 바닥부터 다시 디자인해보자라는 생각으로 만든 듯한 프로그램인 것 같았습니다. 단순한 글쓰기의 측면에서 LaTeX의 장황한 마크업이 너무 싫어서 거의 웬만하면 마크다운만 사용하는 제 입장에서는, Typst 정도면 글쓰기의 즐거움도 마크다운과 다르지 않을 것 같았습니다.
마크다운에 대해서도 한마디 해보자면, 마크다운의 성공의 비결은 아마도 그 단순성이 가장 크지 않을까 싶습니다. 하지만, 그 단순성이 거꾸로 문제를 만들기도 합니다. 기능이 별로 없다 보니, 그 기능 내에서만 사용한다면 쾌적하고 아무런 문제가 없습니다. 하지만, 혹시 이것도 할 수 있나, 저건 어떻게 하지, 그런 식으로 한 발짝만 밖으로 나가려고 하는 순간 일이 복잡해지기 시작합니다. 결과적으로, 여러 확장된 문법들이 등장하게 되죠. 경우에 따라서는 한 앱에서 이해하는 문법이 다른 앱에서는 먹히지 않기도 하고요. 그러다 보니, 어떤 때는 마크다운의 단순성은 좋지만, 그 결과로 그보다 조금 더 복잡한 일을 하고 싶을 때 문제가 발생한다는 인상을 받았습니다. 저는 뭔가 이상한 짓을 해야 할 필요가 있을 때에는 주로 마크다운 안에서 Mathjax를 오용해서 해결하는 식으로 처리합니다. 하지만 이런 방식이 그다지 바람직하다고 보기는 어렵겠지요.
그에 비해, Typst는 처음부터 LaTeX을 대체할 생각으로 만든 것이라, 물론 순수 마크다운과는 용도가 다르기는 합니다만 기능 면에서 마크다운과는 이미 비교할 수 없이 강력합니다. 대강 마크다운이라는 느낌으로 즐겁게 글을 쓸 수도 있고, 그러다가도 정말 맘먹고 제대로 된 품질의 문서를 만들거아, 아니면 보통의 마크다운으로 할 수 없는 기능이 필요하거나 할 때에도 변칙적인 해법을 찾느라 힘들어할 필요가 없이 그냥 자연스럽게 지원되는 기능들로 해결이 가능할 것입니다. 이제 갓 보기 시작했지만, 아마도 머지 않아 개인적인 글쓰기는 마크다운이 아니라 이쪽으로 넘어가게 되지 않을까 하는 느낌이 듭니다.
옵시디안당이라 그래도 어떻게든 연결을 시키자면, typst 플러그인도 좀 있는 것 같았습니다. 아직 써보지는 않았습니다만…
플루서님의 댓글

shunnna님의 댓글