본문으로 건너뛰기
  1. Memo/

Pandoc 써보기 1

·
Pandoc
작성자
hw5e
page.hw5e.cc
목차

2025년의 첫 글!

읽는 사람을 위한 주의: 생략된 과정이 많을 수 있음
pandoc는 범용 문서 변환기라고 할 수 있다. \(\LaTeX\)을 워드 docx로 바꾼다거나 마크다운을 man page로 바꾼다든지 할 수 있다.

홈페이지 Github

설치
#

이거 뭔가 종속성이 엄청 많은거 같은데. 아직 자세히는 모르겠고 홈페이지를 참고하자. 일단 윈도우든 리눅스든 맥이든 패키지 매니저를 쓰는걸 추천.

기본적인 변환법
#

pandoc input -o output

입력하는 파일을 안적으면 표준 입력에서 입력을 받고 출력파일을 안적으면 표준 출력으로 출력이 나온다

-f옵션(또는 -r, --from=, --read=)으로 입력, -t옵션(또는 -w, --to=, --write=)으로 출력의 형식을 지정할 수 있다. 설명서의 옵션 부분 맨 위쪽에 입출력으로 쓸 수 있는 형식들이 적혀있다. 옵션을 지정하지 않으면 파일 이름 같은 것을 보고 추론해서 형식을 정하게 된다.

#마크다운을 일반 텍스트로 변환하기
pandoc input.md -f markdown -t plain -o output.txt

alt text
출력에 파워포인트가 있길래 써봤는데 마크다운을 파워포인트로 변환하니깐 헤더(#) 마다 한페이지씩 차지하는 식으로 변환되었다.

문제의 pdf 출력
#

일단 기본적으로 pdflatex를 이용해서 pdf를 생성하는데 pandoc를 설치할 때 같이 설치되지 않으니 따로 설치해야 한다. 일단 대충 \(\LaTeX\)으로 변환한 뒤 그걸 pdf로 렌더링 하는 구조인 것 같다.

아무튼 pdflatex를 설치해서 변환을 시도하면

alt text
한글을 처리할 수 없다고 뱉어낸다.

--pdf-engine=xelatex옵션으로 pdf엔진을 xelatex로 바꿔서 시도해보니

alt text
이번에는 폰트가 없다는 경고가 뜬다. 에러는 아니고 경고라서 pdf가 나오긴 나오는데 당연히 한글이 안나온다.

pandoc cdycli.md -o cdy.pdf -V mainfont='NanumGothic' -V monofont='NanumGothic' --pdf-engine=xelatex

대충 이렇게 옵션으로 폰트를 지정해서 정상적으로 변환 되었다. 모양이 마음에 안들긴 하지만 옵션이 엄청 많은 것 같아서 천천히 알아봐야 할 것 같다.

사실 이 문제는 pandoc로 pdf를 출력하는게 아닌 문서를 docx파일로 변환하고 MS워드를 이용해 pdf를 만드는 식으로 해결할 수 있다.

예시에서 입력으로 사용된 글

Caddy CLI명령어
서버 Linux Caddy
생각날 때마다 추가해야지

Reply by Email