使用 Latex + VSCode Plugin 寫個人履歷

tonyyang924
Sep 8, 2018 · 10 min read

距離我上次整理個人履歷已經是3年前,那時候是碩一升碩二的暑假,當時打算申請研發替代役,便拿出原本碩士的推徵資料簡單的修改一下變成個人履歷:

履歷後半段附上一堆作品集簡介和附件資料,包含前四頁加起來共有27頁,最近開始整理履歷發現內容實在太發散了,於是想重頭來過整理一個新的版本。

這時候我在Github發現一個Latex的resume template框架「Awesome-CV」,它的履歷風格可以清楚明瞭的條列出我的工作及學經歷,所以我打算用先用此template建構出我的雛形履歷,接下來描述該怎麼安裝Latex及結合VSCode撰寫Latex履歷。

Install Latex

ubuntu:sudo apt-get install texlive-xetex

MacOS:download MacTex & install

Windows:download MikTex & install

Clone template project from github

$ git clone git@github.com:posquit0/Awesome-CV.git

Install fonts

$ cd ${Awesome-CV}
$ cp fonts/*.ttf /Library/Fonts/

Try to compile Latex document

$ cd ${Awesome-CV}/examples/
$ xelatex resume.tex
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2018) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./resume.tex
LaTeX2e <2018-04-01> patch level 2
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
...(./resume.out) (./resume.out)
Overfull \hbox (1.46pt too wide) in paragraph at lines 80--81
[]$[]$ $[]$$[]$
Underfull \hbox (badness 10000) in paragraph at lines 80--81(./resume/summary.tex) (./resume/experience.tex) (./resume/honors.tex [1])
(./resume/presentation.tex) (./resume/writing.tex) (./resume/committees.tex)
(./resume/education.tex) (./resume/extracurricular.tex) [2] (./resume.aux) )
(see the transcript file for additional information)
Output written on resume.pdf (2 pages).
Transcript written on resume.log.

看到訊息「Output written on resume.pdf (2 pages).」表示已經成功的使用xelatex工具將Latex template輸出成2頁的pdf檔案:

安裝VSCode plugin

  1. CMD+SHIFT+P
  2. >install extensions
  3. Install [Latex WorkShop]
Awesome-CV
.
├── Makefile
├── README.md
├── awesome-cv.cls
├── circle.yml
├── examples
│ ├── awesome-cv.cls -> ../awesome-cv.cls
│ ├── coverletter-0.png
│ ├── coverletter-1.png
│ ├── coverletter.pdf
│ ├── coverletter.tex
│ ├── cv
│ │ ├── committees.tex
│ │ ├── education.tex
│ │ ├── experience.tex
│ │ ├── extracurricular.tex
│ │ ├── honors.tex
│ │ ├── presentation.tex
│ │ ├── skills.tex
│ │ └── writing.tex
│ ├── cv.aux
│ ├── cv.log
│ ├── cv.out
│ ├── cv.pdf
│ ├── cv.tex
│ ├── fontawesome.sty -> ../fontawesome.sty
│ ├── fonts -> ../fonts
│ ├── profile.png
│ ├── resume
│ │ ├── committees.tex
│ │ ├── education.tex
│ │ ├── experience.tex
│ │ ├── extracurricular.tex
│ │ ├── honors.tex
│ │ ├── presentation.tex
│ │ ├── summary.tex
│ │ └── writing.tex
│ ├── resume-0.png
│ ├── resume-1.png
│ ├── resume.aux
│ ├── resume.log
│ ├── resume.out
│ ├── resume.pdf
│ └── resume.tex
├── fontawesome.sty
├── fonts
│ ├── FontAwesome.ttf
│ ├── Roboto-Bold.ttf
│ ├── Roboto-BoldItalic.ttf
│ ├── Roboto-Italic.ttf
│ ├── Roboto-Light.ttf
│ ├── Roboto-LightItalic.ttf
│ ├── Roboto-Medium.ttf
│ ├── Roboto-MediumItalic.ttf
│ ├── Roboto-Regular.ttf
│ ├── Roboto-Thin.ttf
│ └── Roboto-ThinItalic.ttf
├── icon.png

在examples裡面有coverletter, cv, resume三種template,軟體工程師的履歷我認為cv比較適合,所以只保留cv,其他刪除,並準備好一張自己的大頭貼,我要製作出炫砲的履歷了:

$ cd ${Awesome-CV}
$ cp -r examples/ my_cv
$ rm -rf my_cv/resume*
$ rm -rf my_cv/coverletter*
$ cp ~/Desktop/profile.png my_cv
$ code -a . (VsCode開啟整個專案)

Modify cv.tex

...%-------------------------------------------------------------------------------
% PERSONAL INFORMATION
% Comment any of the lines below if they are not required
%-------------------------------------------------------------------------------
% Available options: circle|rectangle,edge/noedge,left/right
% \photo{./examples/profile.png}
\photo[rectangle,edge,right]{profile}
\name{Tony}{Yang}
\position{Software Engineer{\enskip\cdotp\enskip}Android Developer}
\address{Luzhou Dist., New Taipei City, Taiwan (R.O.C.)}
\mobile{(+886) 912-345-678}
\
email{superzoro168@gmail.com}
\homepage{tonyyang924.github.io}
\github{tonyyang924}
\linkedin{tonyyang924}
...\quote{``Creating the value of being used."}...% Print the footer with 3 arguments(<left>, <center>, <right>)
% Leave any of these blank if they are not needed
\makecvfooter
{\today}
{Tony Yang~~~·~~~Résumé}
{\thepage}
...%-------------------------------------------------------------------------------
% CV/RESUME CONTENT
% Each section is imported separately, open each file in turn to modify content
%-------------------------------------------------------------------------------
\input{cv/education.tex}
\input{cv/skills.tex}
\input{cv/experience.tex}
\input{cv/honors.tex}
\input{cv/presentation.tex}
\input{cv/writing.tex}

接下來就是編輯有被import的tex,因為某些section我不需要,所以刪掉後只保留這些,用VSCode各別開啟cv/底下tex檔案編輯,記得剛才安裝的VSCode plugin: Latex WorkShop嗎?強大的compiler&preview效果在儲存*.tex檔案時會自動編譯並顯示:

請原諒我用gifify產出一個品質低劣的gif,不過履歷整體看來是清爽多了,我認為這template條列算是簡單分明,如果對這個樣式不喜歡也能在github上搜尋其他的template,對岸有也很多牛人產出適用於中文的template。

說到中文,如果想在這template寫中文字的話,記得在fontawesome.sty加上

% Requirements to use.
\usepackage{fontspec}
\usepackage{xeCJK}

另外不使用VSCode plugin or 其他plugin自動編譯的話,手動編譯方式為:

$ cd ${Awesome-CV}/my_cv
$ xelatex cv.tex # 主要tex檔案

關於Latex寫CV的部分就介紹到這裡了,如果想製作簡潔優雅的履歷Latex絕對是你很棒的選擇!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade