Org-mode로 이력서(resume, CV) 작성 (feat. LaTeX)

2 minute read

이력서를 쓸 일이 있어서 microsoft word 앱을 실행했다. 당최 익숙해지지 않는다. plain text에 너무 익숙해졌다. 글을 쓰는 것과 예쁘게 꾸미는 걸 분리하고 싶은데, word로는 못하겠다. 약간의 시간 여유가 있어 이참에 LaTeX로 이력서를 써볼까 하는 생각이 들었다. 하지만 그 문법을 언제 다 배운대? 이럴 땐, emacs를 켜고 org mode로 변경한다. org mode로 작성하고 LaTex로 export할 수 있다.

출력물을 보고 좀 놀랐다. 너무 깨끗하게 잘 나오더라. 이 맛에 LaTeX를 쓰는 건가? 하지만 똑같은 pdf 파일을 열어보곤 실망했다. macOS 해상도 때문에 그렇게 보였네.

이력서를 org 문서로 옮긴 것에 만족한다. 이제 이력서 업데이트를 내가 원하는 포맷으로 손쉽게 할 수 있다.

MacTex 설치 - macOS

$ brew install --cask mactex

emacs에서 LaTeX로 export하고 pdf 파일로 만들 프로그램이 있는 종합 선물 세트인 MacTeX 를 설치한다. pdf 파일로 export할 수 있는 프로그램이 있는 basictex 만 설치했다가 한참 돌아갔다. 기본으로 깔리는 패키지가 없어서 일일이 찾아서 설치하다가 쓰러지겠다. 그래서 다 지우고 MacTeX 를 설치했다.

org-cv 설치

LaTeX 패키지인 moderncv로 export할 수 있는 emacs 패키지인 org-cv 패키지를 설치한다.

$ git clone https://gitlab.com/Titan-C/org-cv.git
;;; https://gitlab.com/Titan-C/org-cv
(use-package ox-moderncv
  :load-path "manual-packages/org-cv"
  :init (require 'ox-moderncv))

설명서에 있는대로 설치. melpa에 넣어주지 아쉽다.

Titan-C/org-cv 패키지를 그냥 설치하니 org mode exporter에 추가가 안 되어 있어 불편하다.

(org-export-to-file 'moderncv "moderncv.tex")
(org-latex-compile "moderncv.tex")

pdf로 export할 때마다 이 코드를 실행해야 하니 귀찮다. fork해서 exporter를 추가해야 하나? 누가 해 놓은 게 없을까 찾아봤다. add export menu on C-c C-e gitlab merge request가 있는 걸 발견했다. 하지만 받아들여지지 않았다. 사실 누가 CV를 많이 쓰나? 한 번 쓸 때, 바짝 쓰지. 아마 그래서 필요한 CV를 만들고 maintainer가 손을 놓은 것 같다. ohyecloudy/org-cv 저장소로 fork한 후에 관련 커밋을 머지했다. 이제 잘 된다. M-x org-export-dispatch 함수를 호출하면 moderncv 메뉴가 보인다.

moderncv.cls not found

This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(.//moderncv.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-24>

! LaTeX Error: File `moderncv.cls' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: cls)

Enter file name:
! Emergency stop.
<read *>

l.4 \usepackage
               [utf8]{inputenc}^^M
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on .//moderncv.log.

그러고 보니 LaTeX로 익스포트한 뒤에 pdf로 빌드해야 하는데, 그때 사용하는 moderncv.cls 는 디폴트로 포함된 패키지일까? 그럴 리가. 없다고 에러가 난다.

$ brew install --cask tex-live-utility

패키지 매니저가 있는 프로그램을 설치하고 morderncv 를 찾아서 설치했다.

한글 폰트

export한 tex 파일에 이렇게 추가하니 한글이 잘 나온다. tex live utility 에서 hangul 로 검색해서 찾았다.

#+LATEX_HEADER: \usepackage[hangul]{kotex}

매번 export한 파일을 다시 수정할 순 없으니 org 문서에 추가했다.

추가 설정

# 줄 간격이 좁아서 늘림
#+LATEX_HEADER: \linespread{1.4}
# 페이지 마진을 줄임
#+LATEX_HEADER: \usepackage[scale=0.8]{geometry}

자잘한 설정을 했다. 줄 간격이 좁아서 좀 늘리고 페이지 마진이 너무 크길래 줄였다.

# #+HOMEPAGE: ohyecloudy.com
#+LATEX_HEADER: \homepage{http://ohyecloudy.com}{ohyecloudy.com}

홈페이지 링크가 잘 안 달린다. 소스를 보니 https 만 지원한다. 서럽네. 빨리 https 를 지원해야 하는데, 우선순위가 낮다 보니 자꾸 미뤄진다.

#+LATEX_HEADER: \extrainfo{\url{http://ohyecloudy.com}}

그냥 일반 정보로 링크를 추가했다.

C-x C-s C-x C-c