Marp - 마크다운으로 프레젠테이션을
마크다운을 몇 번 써봤다면 그 편리함에서 헤어나오기 어렵습니다. 복잡한 수정을 거치지 않아도 간단한 문법으로 글을 작성하면 보기 좋게 알아서 포맷팅이 되기 때문입니다.
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
마크다운이 syntax highlighted code를 작성하는 예
비슷한 이유로, 프레젠테이션을 작성할 때도 마크다운이 그리워질 때가 있습니다. 파워포인트를 쓰면 세세한 것들을 추가하고 수정하기가 귀찮고, 무엇보다 유료이며, git을 이용한 버전 관리도 어렵습니다. 그렇다고 LaTeX의 beamer 패키지를 쓰자니, LaTeX 특유의 어려운 템플릿 제작과 문법이 발목을 잡습니다.
\documentclass{beamer}
\usepackage{graphicx}
\usetheme{Copenhagen}
\setbeamertemplate{headline}{}
\usepackage{pst-node}
\usepackage{tikz-cd}
\usepackage{pgf,tikz}\usepackage{mathrsfs}\usetikzlibrary{arrows}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{comment}
전형적인 LaTeX beamer 파일의 시작..
그런 와중에 마크다운으로 프레젠테이션을 작성할 수 있게 해주는 Marp라는 환경이 존재한다는 것을 최근에 알게 되었습니다. Marp CLI나 Marp for VS Code에서 프로그램의 설치와 사용법을 볼 수 있습니다.
Marp for VS Code
CLI vs VS code
처음에는 저는 Marp for VS Code에서 접했는데, 간단히 Marp가 어떻게 동작하는지를 살펴볼 수 있었지만 10장이 넘는 슬라이드를 작성할 때 지금 편집하고 있는 슬라이드를 보여주지 않아서 쓰기에 어려움이 있었습니다.
최종적인 선택은 Marp-ClI
그래서 Marp CLI를 이용해보았는데, VS Code 확장에서 겪었던 문제가 발생하지 않고 편리합니다. 30장 가량으로 구성된 프레젠테이션을 만들어본 결과 제가 느낀 장단점을 정리해보면 다음과 같습니다.
장점
-
마크다운의 단순함과 아름다움
마크다운 문서는 git을 이용한 버전 관리도 쉽고, 문법도 익히기 쉽습니다. 또, 마크다운을 우리가 보는 슬라이드로 렌더링했을 때 보기도 좋습니다.
-
보기 좋은 수식
파워포인트에서 기본적으로 지원하는 수식은 치기도 어렵고 형태가 이상한데에 비해 Marp는 KaTeX를 쓰는지, 수식이 LaTeX의 그것과 동일하게 나옵니다.
-
웹을 통한 공유
마크다운으로 작성한 프레젠테이션이 html로 변환되어 가시화되기 때문에 이 html을 공유하면 됩니다. (LaTeX도 html로 변환하는 기능이 찾아보면 있을 것 같은데, 안해봐서 잘 모르겠습니다)
단점
-
세부적인 조정의 어려움
이미지와 텍스트가 섞인 복잡한 슬라이드를 만들려고 하면 marp의 기능들만으로는 커버하기 힘든 경우가 많습니다. 글씨 크기를 바꾸는 것만 하더라도 마크다운의 기능 밖이기 때문에 inline html로 style을 조정해줘야 합니다. inline html을 지원하기에 사실 만들지 못하는 형태는 없겠지만, 숙련자가 아니고서야 시간이 많이 듭니다.
아, 이 점은 LaTeX와도 공유하는 단점인 것 같습니다.
-
언제나 동일한 포맷
마크다운 형태에서 벗어난 새로운 형태를 시도하기가 어렵습니다. 앞서 소개한 단점의 결과로도 볼 수도 있습니다. 모든 슬라이드가 Github에서 보는 README에서 크게 다르지 않은 것이 좋기도 하지만, 반대로 그만큼 자유도가 적습니다. theme의 적용을 통해 외관을 다르게 할 수도 있겠습니다만, 글쎄요..
-
적은 유저 풀
검색을 해도 원하는 정보를 얻기 힘들 수도 있습니다.
마치며
제 생각에는 LaTeX를 이미 잘 쓴다면 Marp를 쓸 이유는 별로 없지만, 그게 아니라면 한 번쯤은 써볼만한 것 같습니다. 메인으로 쓰기보다는 짧은 프레젠테이션을 만들 때 간간히 이용하기에 적합해 보입니다. 혹시 궁금한 점이 있다면 댓글을 통해 성의껏 답변해드리겠습니다.
Leave a comment