Writing Documents in a Linux Environment

1️⃣ Text file
2️⃣ Use a text editor
들어가며
오늘은 리눅스 환경에서 문서를 작성하는 방법을 살펴본다. 깊이 파고드는 내용은 아니지만, "이런 방법도 있구나" 정도로 알아두면 언젠가 분명 유용하게 쓸 날이 온다. 특히 문서를 단순하고 다양한 방식으로 배포해야 할 상황이 온다면, 오늘 배운 내용이 좋은 선택지가 되어줄 것이다.
1차시 — 리눅스에서 문서 작성하는 법
사실 문서 작성 자체는 굳이 강의를 듣지 않아도 누구나 할 수 있는 부분이다. 하지만 이번 시간에는 리눅스에서 어떤 또 다른 방법으로 문서를 작성할 수 있는지에 초점을 맞춘다.
한 가지 짚고 넘어갈 점은, 오늘 소개하는 방법이 리눅스에서만 사용할 수 있는 것은 아니라는 점이다. 윈도우와 맥에서도 활용 가능한 방법들도 함께 다루므로, 운영체제에 관계없이 폭넓게 응용할 수 있다. 실무에서는 보통 워드 프로그램을 가장 많이 사용하게 되므로, 이를 기준으로 설명을 이어간다.
2차시 — 문서 변환 프로그램 활용법
2차시에서는 문서 변환 프로그램을 사용해서 파일 형식을 어떻게 바꿀 수 있는지 알아본다.
일반적으로 워드(Word)나 한글(HWP), 엑셀(Excel) 같은 문서들은 표준화된 방식을 통해 상호 변환이 이루어진다. 이번 시간에는 그 외에 어떤 변환 방법과 도구들이 있는지 함께 탐색해볼 예정이다.
마크업 언어(Markup Language)란 문서의 구조나 모양을 자세히 표시하기 위한 텍스트 인코딩 시스템이다. 가장 친숙한 예로는 웹페이지를 만들 때 사용하는 HTML이 있다. 마크업이라는 단어 자체는 새롭게 창조된 용어가 아니라, 손글씨 문서를 인쇄용으로 변환하기 위해 교정 표시를 하던 작업에서 유래한 말로, 기존에 쓰던 개념을 디지털 환경에 적용한 것이다. language라는 단어가 붙어 있어 새로운 프로그래밍 언어처럼 느껴질 수 있지만 그렇지 않다. 옛날에는 여러 사람이 활자 도장을 하나하나 다루며 문서를 만들었지만, 지금은 한 사람이 혼자 모든 것을 처리할 수 있는 시대가 되었다. 초기의 마크업 언어는 대부분 종이 인쇄에 초점을 맞추고 있었으나, 종이 책을 갖고 있지 않은 사람도 많아지고 손으로 글씨를 쓰는 세대도 거의 사라지면서, 최근에는 문서를 구성하는 다양한 요소들의 정보를 담아 화면 중심으로 표시하는 방향으로 발전하게 되었다.
마크업 언어의 대표적인 예시로는 텍스트 편집기에서 볼 수 있는 **RTF(Rich Text Format)**가 있다. 보통 문서 작성 시 워드를 많이 사용하는데, 현재의 워드는 유료로 구매해야 하는 프로그램이다. 20세기에는 윈도우를 설치하면 RTF를 지원하는 프로그램이 기본으로 포함되어 있었다(메모장과는 다른 프로그램이다). RTF 예시를 보면, 오른쪽 화면에는 우리가 읽을 수 있는 텍스트만 깔끔하게 보이지만, 왼쪽 화면에는 거의 읽기 어려울 정도로 수많은 문자들이 가득 차 있다. 여기서 핵심은, 오른쪽에서 단순하게 보이는 글자들이 컴퓨터 내부에서는 왼쪽처럼 훨씬 복잡한 데이터로 저장되어 있다는 점이다. 그 데이터 안에는 글자의 위치, 폰트 종류, 글자의 굵기 등 텍스트를 표현하는 데 필요한 모든 정보가 담겨 있다.
마크업 언어보다 더 간결하게 문서의 구조와 모양을 표현하는 언어가 바로 **마크다운(Markdown)**이다. 마크업이 인쇄를 중심으로 복잡한 방식으로 동작하는 것과 달리, 마크다운은 훨씬 단순하고 간결한 방식을 추구한다. 텍스트 편집기만 있으면 작성이 가능하기 때문에 굳이 유료 워드 프로그램을 구매할 필요가 없다는 것이 큰 장점이다. 다만 마크업과 마찬가지로 작성한 내용이 눈에 바로 보기 좋게 표시되지 않아 불편함을 느낄 수 있다. 마크다운은 두 가지 의미를 가지는데, 하나는 Perl 언어로 만들어진 HTML 변환 도구 자체를 의미하고, 다른 하나는 고유한 문법을 가진 언어이자 그 문법을 사용할 수 있게 해주는 프로그램을 의미하기도 한다. 실제로 개발 현장에서도 널리 쓰이며, 대표적인 예로 Git의 README.md 파일이 마크다운으로 작성된다.
마크다운의 예시를 보면 왼쪽과 오른쪽의 차이가 확연히 드러난다. 오른쪽은 누구나 쉽게 읽고 볼 수 있는 깔끔한 형태로 표시되는 반면, 왼쪽은 일반인이 보기에 마치 외계어처럼 느껴질 정도로 낯선 문자들로 구성되어 있다. 결국 우리가 보는 오른쪽의 결과물은 왼쪽의 마크다운 문법으로 작성된 내용이 변환된 것이다.
마크다운이 처리되는 과정을 살펴보면, 앞서 본 예시의 왼쪽 부분, 즉 마크다운 문법으로 작성된 텍스트를 **마크다운 앱(Markdown App)**을 이용해 HTML로 변환하면 우리가 보기 좋은 형태의 문서를 얻을 수 있다. 과정이 다소 복잡해 보일 수 있는데, 워드는 입력하는 즉시 결과가 화면에 보이는 반면, 마크다운은 작성 후 변환 과정을 거쳐야 한다는 점에서 코딩과 비슷한 방식이라고 할 수 있다. 코드를 작성하고 컴파일을 거쳐 실행 가능한 바이너리 파일을 얻는 것과 같은 흐름이다. 그렇다면 이렇게 불편한 마크다운을 왜 알아야 하는 걸까? 실제로 현업에서 마크다운을 직접 사용하지 않더라도, 엔지니어로서 한 번도 들어본 적 없다고 하기엔 정보의 깊이 면에서 아쉬움이 남을 수 있기 때문이다. 알아두는 것만으로도 충분히 도움이 된다. 실제 활용 흐름을 정리하면, 텍스트 편집기로 내용을 작성하고 마크다운 앱으로 변환한 뒤, 최종 결과를 웹 브라우저에서 HTML 형식으로 확인하는 방식이다. 홈페이지를 만들거나 자료를 정리할 때 유용하게 활용할 수 있다.
실습을 통해 마크다운 처리 과정을 직접 살펴본다. 먼저 echo '# Title' > T1.md 명령어를 실행하면 # Title이라는 내용이 담긴 T1.md 파일이 생성된다. 이후 cat T1.md를 통해 파일 안에 # Title이 정상적으로 들어간 것을 확인할 수 있다. 다음으로 perl Markdown.pl --html4tags T1.md > T1.html 명령어를 실행한다. 여기서 사용하는 Markdown.pl은 Perl로 만들어진 변환 도구이다. Perl은 오래전에 등장한 언어로, 한때 사용자가 꽤 많았지만 지금은 주변에서 보편적으로 사용되지 않는 언어이다. 이 명령어를 실행하면 마크다운 문법으로 작성된 # Title이 자동으로 <h1>Title</h1>이라는 HTML 형식으로 변환되어 T1.html 파일이 생성된다. 마지막으로 변환된 HTML 파일의 내용을 확인하기 위해 sudo apt install w3m w3m-img 명령어로 w3m을 설치한다. w3m은 텍스트 기반의 웹브라우저로, GUI 환경에 익숙한 우리에게는 다소 낯설 수 있지만, 서버 버전의 리눅스처럼 그래픽 환경이 없는 곳에서도 웹 콘텐츠를 확인할 수 있게 해주는 도구이다.
마크다운을 지원하는 노트 프로그램도 다양하게 존재한다. 대표적인 예시로는 Obsidian, Simplenote, Notable 등이 있으며, 무료와 유료 버전으로 나뉘어 있어 본인의 필요에 맞게 찾아서 설치하면 된다. 이런 프로그램들을 활용하면 마크다운 문법을 직접 HTML로 변환하는 번거로운 과정 없이도 작성과 동시에 결과물을 바로 확인할 수 있어 훨씬 편리하게 마크다운을 사용할 수 있다.
마크다운의 기본 문법 중 첫 번째는 **제목(Heading)**이다. # 기호를 사용하며 최대 6개까지 사용할 수 있고, 개수에 따라 HTML의 <h1>부터 <h6>까지 자동으로 변환된다. 여기서 반드시 신경 써야 할 점은 띄어쓰기인데, #과 글자 사이에 반드시 한 칸의 공백이 있어야 한다. 예를 들어 # 1단계, ## 2단계처럼 작성하는 방식이다. 요즘에는 기본 템플릿이나 플러그인이 잘 갖춰져 있어 사용자 입장에서는 이런 문법을 몰라도 편리하게 사용할 수 있다. 하지만 서비스를 제공하는 엔지니어의 입장에서는 이러한 기본 문법을 제대로 이해하고 있어야 한다.
Raw HTML code in termial
Rendered page
제목을 표현하는 방법에는 앞서 배운 # 기호 외에도 밑줄 방식이라는 또 다른 문법이 존재한다. 텍스트 아래에 = 기호를 사용하면 1단계 제목(<h1>)으로, - 기호를 사용하면 2단계 제목(<h2>)으로 변환된다. # 방식과 달리 =와 -는 개수 제한이 없어 한 개만 써도 동작하지만, 가독성을 위해 여러 개를 이어 쓰는 것이 일반적이다. 슬라이드의 예시처럼 First 아래에 =를 쓰면 <h1>First</h1>로, Second 아래에 -를 쓰면 <h2>Second</h2>로 변환된다. 단, 이 방식은 1단계와 2단계만 표현할 수 있기 때문에 3단계 이하의 제목이 필요하다면 반드시 # 방식을 사용해야 한다. 두 방식 모두 결과는 동일하므로 상황과 취향에 따라 선택해서 사용하면 된다.
html 결과
마크다운의 두 번째 기본 문법은 **단락(Paragraphs)**이다. 단락을 구분하는 방법은 간단한데, 텍스트 사이에 빈 줄을 끼워 넣으면 된다. 슬라이드의 예시처럼 "처음 내용 쓰기. 이어서 쓰기. 새로운 줄에서 쓰기."와 "한 줄 비우고 새롭게 시작하기." 사이에 빈 줄이 하나 있으면, HTML로 변환했을 때 각각 <p></p> 태그로 감싸져 별도의 단락으로 구분된다. 반대로 빈 줄 없이 줄바꿈만 한 경우에는 같은 단락으로 처리된다는 점을 주의해야 한다. 워드에서 Enter를 눌러 단락을 나누는 것과 개념은 같지만, 마크다운에서는 반드시 한 줄을 완전히 비워야 단락이 구분된다는 차이가 있다.
html 파일
Rendered 파일
세 번째 기본 문법은 줄 바꿈(Line Breaks)이다. 앞서 배운 단락(Paragraphs)과 헷갈릴 수 있지만 분명한 차이가 있다. 단락은 빈 줄 하나를 통째로 비워 구분하는 방식이었다면, 줄 바꿈은 텍스트 끝에 스페이스바를 두 번 이상 누른 뒤 Enter 키를 입력하는 방식이다. 얼핏 보면 마크다운 화면에서는 그냥 줄이 바뀐 것처럼 보이지만, HTML로 변환했을 때 단락과의 차이가 드러난다. 단락은 <p></p> 태그로 감싸지는 반면, 줄 바꿈은 같은 <p> 태그 안에서 <br> 태그가 삽입되어 줄이 바뀐다. 슬라이드 예시에서 마크다운 쪽의 체크 무늬 블록이 바로 눈에 보이지 않는 스페이스를 표시한 것이다. 결국 핵심은 눈에 보이는 것이 전부가 아니라는 점이다. 마크다운에서 겉으로는 똑같이 줄이 바뀐 것처럼 보여도, 내부적으로는 전혀 다른 HTML 태그로 변환되기 때문에 그 차이를 정확히 이해하고 있어야 한다.
html
Rendered file
네 번째 기본 문법은 **기울임(Italic)**이다. 기울임체를 적용하려면 텍스트를 빈칸 없이 하나의 *로 앞뒤를 감싸면 된다. _ 기호를 사용해도 동일하게 동작한다. HTML로 변환되면 <em></em> 태그로 처리된다. 슬라이드 예시처럼 *기울임*이라고 작성하면 <em>기울임</em>으로, _기울임_이라고 작성해도 같은 결과가 나온다. 여기서 주의할 점은 _를 사용할 때인데, 마크다운은 _를 앞뒤로 짝을 맞춰 찾은 뒤 그 사이의 텍스트를 기울임으로 처리하고, 짝을 찾지 못하고 남은 _는 기울임 적용 없이 그대로 출력된다. 즉, _기울임__처럼 작성하면 짝이 맞는 첫 번째 _..._ 부분만 기울임으로 처리되고 나머지 _ 하나는 그냥 문자로 출력되는 것이다. 반드시 빈칸 없이 기호로 감싸야 한다는 점도 잊지 말아야 한다.
w3m 에서는 이탤릭체가 기울어진 글자 대신 색깔 로 표시된다.
다섯 번째 기본 문법은 **진하게(Bold)**이다. 앞서 배운 기울임(Italic)과 방식이 거의 동일하지만, *를 하나가 아닌 두 개 연속으로 앞뒤에 감싸면 된다. _를 두 개 사용하는 __텍스트__ 방식도 동일하게 동작한다. HTML로 변환되면 <em> 태그 대신 <strong></strong> 태그로 처리된다. 슬라이드 예시처럼 **진하게**라고 작성하면 <strong>진하게</strong>로 변환되어 텍스트가 굵게 표시된다. 정리하자면 * 하나는 기울임, * 두 개는 진하게로 기억해두면 쉽게 구분할 수 있다.
여섯 번째 기본 문법은 **진하게 기울임(Bold and Italic)**이다. 앞서 배운 기울임(* 1개)과 진하게(* 2개)를 합친 개념으로, *를 세 개 연속으로 앞뒤에 감싸면 두 효과를 동시에 적용할 수 있다. _를 세 개 사용하는 ___텍스트___ 방식도 동일하게 동작한다. HTML로 변환되면 <strong><em>텍스트</em></strong>처럼 두 태그가 중첩되어 출력된다. 정리하면 * 1개는 기울임, * 2개는 진하게, * 3개는 진하게 기울임으로 *의 개수가 하나씩 늘어날수록 효과가 하나씩 추가된다고 기억해두면 쉽게 활용할 수 있다.
진하게 기울임을 표현하는 또 다른 방법으로, _와 *를 혼합해서 사용하는 것도 가능하다. 슬라이드 예시처럼 _**텍스트**_와 같이 바깥쪽을 _로, 안쪽을 **로 감싸거나, 반대로 __*텍스트*__처럼 바깥쪽을 __로, 안쪽을 *로 감싸는 방식이다. 어떤 조합을 사용하든 HTML로 변환되면 <em><strong> 태그가 중첩된 동일한 결과물이 나온다. 핵심은 바깥쪽 기호가 기울임(_ 1개 또는 * 1개), 안쪽 기호가 진하게(__ 또는 **)를 담당하는 구조로, 짝만 정확히 맞춰주면 기호의 조합은 자유롭게 선택할 수 있다는 점이다.
일곱 번째 기본 문법은 블록인용(Blockquotes)이다. 사용 방법은 간단한데, 인용하고 싶은 단락의 시작 부분에 >를 붙이면 된다. 슬라이드 예시처럼 > 인용블록이라고 작성하면 HTML로 변환될 때 <blockquote> 태그로 감싸져 출력된다. 블록인용은 주로 다른 사람의 글을 인용하거나, 본문과 구분되는 참고 내용을 표시할 때 활용된다. 일반 텍스트는 <p> 태그로 처리되는 반면, >로 시작하는 줄은 <blockquote> 태그 안의 <p> 태그로 처리되어 시각적으로 들여쓰기된 형태로 구분되어 보이게 된다.
Q
여덟 번째 기본 문법은 **블록인용 들여쓰기(Nested Blockquotes)**이다. 앞서 배운 블록인용에서 한 단계 더 나아간 개념으로, >를 여러 개 연속으로 붙이면 인용 블록 안에 또 다른 인용 블록을 중첩해서 만들 수 있다. 슬라이드 예시처럼 >>>> 인용블록과 같이 >를 네 개 붙이면 HTML로 변환될 때 <blockquote> 태그가 네 겹으로 중첩되어 출력된다. >의 개수가 많아질수록 들여쓰기 깊이가 깊어지는 구조이다. 주의할 점은 중첩된 블록인용을 작성할 때 >만 단독으로 쓴 빈 줄을 사이에 넣어 단계를 구분할 수 있다는 점이다. 계층 구조가 있는 인용문이나 대화 형식의 내용을 표현할 때 유용하게 활용할 수 있다.
아홉 번째 기본 문법은 순서 있는 목록(Ordered List)이다. 숫자 뒤에 빈칸 없이 바로 .을 붙여 사용하며, HTML로 변환되면 <ol> 태그 안에 각 항목이 <li> 태그로 감싸져 출력된다. 여기서 흥미로운 점은 슬라이드 예시에서 마크다운의 숫자가 1, 1, 9, 0으로 순서가 뒤죽박죽이지만 HTML 변환 결과는 정상적인 순서 목록으로 처리된다는 것이다. 즉, 마크다운에서 순서 있는 목록은 실제로 입력한 숫자와 관계없이 자동으로 순서를 매겨준다. 그리고 HTML 결과에서 <li>여기 1 . 저기</li>처럼 숫자와 . 사이에 공백이 있는 경우는 목록의 두 번째 항목으로 처리되지 않고 첫 번째 항목의 내용 안에 그대로 텍스트로 포함된 것이다. 이것이 바로 "숫자 뒤에 빈칸 없이 .을 사용하라"는 규칙이 중요한 이유다. 공백 하나의 차이가 목록 항목으로 인식되느냐, 일반 텍스트로 인식되느냐를 결정짓기 때문이다.
열 번째 기본 문법은 순서 없는 목록(Unordered List)이다. 순서 있는 목록이 숫자와 .을 빈칸 없이 붙이는 방식이었다면, 순서 없는 목록은 *, -, + 중 하나를 가장 앞에 쓰고 빈칸 한 칸을 띄운 뒤 내용을 작성하면 된다. HTML로 변환되면 <ul> 태그 안에 각 항목이 <li> 태그로 감싸져 출력된다. 여기서 슬라이드의 흥미로운 예시를 살펴보면, * 3000. 다음과 * 3000₩. 어디의 차이가 눈에 띈다. * 3000. 다음의 경우 HTML 변환 결과를 보면 <li><ol>이 생성되어 순서 없는 목록 안에 순서 있는 목록이 중첩된 형태로 처리된 반면, * 3000₩. 어디는 ₩ 기호 때문에 숫자와 .의 조합으로 인식되지 않아 그냥 일반 <li> 항목으로 처리된다. 즉, 숫자 바로 뒤에 .이 오면 마크다운이 순서 있는 목록으로 해석해버리기 때문에, 목록 내용에 숫자와 마침표가 함께 포함될 경우 의도치 않은 결과가 나올 수 있다는 점을 주의해야 한다.
열한 번째 기본 문법은 그림 포함하기(Images)이다. 문법 구조는  형태로, 가장 앞에 !를 붙이고 [] 안에는 그림에 대한 설명을, () 안에는 그림의 경로 또는 URL을 입력하면 된다. 경로 뒤에 따옴표(" ")를 사용해 제목을 추가하는 것도 가능하다. HTML로 변환되면 <img src="그림경로" alt="그림설명" title="제목"> 형태의 태그로 출력된다. 슬라이드 예시를 보면 라고 작성했을 때 alt="예시", title="대표UI"로 변환된 것을 확인할 수 있다. 여기서 alt 속성은 이미지가 로드되지 않을 때 대신 표시되는 텍스트이고, title 속성은 마우스를 이미지 위에 올렸을 때 나타나는 툴팁 텍스트이다. 로컬 파일 경로뿐만 아니라 웹 URL도 그대로 사용할 수 있다는 점도 알아두면 유용하다.
열두 번째 기본 문법은 **링크 연결(Links)**이다. 앞서 배운 그림 포함하기와 구조가 거의 동일하지만, 두 가지 차이점이 있다. 첫째로 맨 앞의 !가 없고, 둘째로 모든 내용이 같은 줄에 작성된다. 문법 구조는 [표시될 내용](링크 경로) 형태로, [] 안에는 화면에 표시될 텍스트를, () 안에는 연결할 URL을 입력하면 된다. 슬라이드 예시처럼 [고려사이버대학교](https://www.koreacu.ac.kr)라고 작성하면 HTML로 변환될 때 <a href="https://www.koreacu.ac.kr">고려사이버대학교</a> 형태의 링크 태그로 출력된다. 정리하면 !가 있으면 이미지, 없으면 링크로 기억해두면 두 문법을 쉽게 구분할 수 있다.
앱스토어에서 메모 앱을 찾아보면 마크다운이라는 표현이 생각보다 많이 눈에 띈다. 그만큼 마크다운은 이미 우리 주변에 널리 퍼져 있는 문법이다. 깃허브(GitHub)를 사용해본 적이 있다면 소스를 다운로드할 때 함께 딸려오는 길고 잘 정리된 설명 문서를 본 적이 있을 텐데, 그것이 바로 오늘 배운 마크다운으로 작성된 README.md 파일이다. 텍스트 에디터로 README.md를 직접 열어보면 지금까지 배운 #, *, > 같은 문법들이 그대로 보일 것이다. 마크다운은 프로그래밍을 잘하는 사람들만의 전유물이 아니다. 단지 몰랐을 뿐이고, 오늘 배운 것처럼 기본 문법만 익혀도 충분히 활용할 수 있다. 깃허브 아이디를 만들어 자료를 올릴 때 README.md 파일을 함께 작성한다면, 오늘 배운 내용을 바로 실전에 적용해볼 수 있는 좋은 기회가 될 것이다.
2️⃣ Use a text editor
이번 2차시에서는 Pandoc이라는 문서 변환 프로그램을 살펴본다. Pandoc의 가장 큰 특징은 슬라이드에서 볼 수 있듯이 수많은 종류의 문서 형식을 서로 변환할 수 있다는 점이다. 목록에서 양방향 화살표(↔)로 표시된 형식들은 읽기와 쓰기가 모두 가능하다는 뜻으로, 자유롭게 변환이 가능하다. 지원하는 형식도 매우 다양한데, 마크다운, HTML은 물론이고 Microsoft Word(docx), RTF, OpenOffice/LibreOffice(ODT) 같은 워드프로세서 형식, 전자책 형식인 EPUB, 데이터 분석 분야에서 많이 쓰이는 Jupyter Notebook(ipynb) 형식까지 폭넓게 지원한다. 즉, 마크다운으로 작성한 문서 하나만 있으면 워드 파일로도, HTML로도, 전자책 형식으로도 변환할 수 있다. EPUB처럼 별도의 문법을 새로 익혀야 하는 형식도 마크다운으로 작성한 뒤 Pandoc으로 변환하면 되기 때문에, 하나를 익혀서 많은 것을 할 수 있는 프로그램이라고 이해하면 된다.
Pandoc 설치 방법
리눅스 환경에서는 아래 명령어로 간단하게 패키지를 설치할 수 있다.
sudo apt install pandoc
또는 패키지 설치 없이 직접 다운로드하는 방법도 있는데, https://github.com/jgm/pandoc/releases 에서 파일을 다운로드한 뒤 https://pandoc.org/installing.html 의 설치 안내를 참고해서 설치하면 된다. 단, 슬라이드 상단에 안내된 것처럼 사용자 환경에 따라 해당 파일이 없거나 내용이 다를 수 있으므로 본인의 운영체제와 버전에 맞는 방법을 확인하고 진행하는 것이 좋다.
Pandoc의 사용 예시는 https://pandoc.org/app에서 직접 설치 없이 브라우저에서도 체험해볼 수 있다. 실제 사용 예시를 보면 명령어 구조는 pandoc [입력파일] -o [출력파일] 형태로 -o 옵션 뒤에 변환할 파일명을 지정하는 방식이다. 예를 들어 pandoc MANUAL.txt -o example1.html은 텍스트 파일을 HTML 조각(fragment) 형태로 변환하고, pandoc -s MANUAL.txt -o example2.html처럼 -s 옵션을 추가하면 head, body 태그를 포함한 완전한 독립 HTML 파일로 변환된다. 출력 파일의 확장자만 바꿔주면 Pandoc이 자동으로 해당 형식에 맞게 변환해주기 때문에 사용법 자체는 어렵지 않다. 더 다양한 예시는 https://pandoc.org/demos.html에서 확인할 수 있다.




