使用 Latex + VSCode Plugin 寫個人履歷
距離我上次整理個人履歷已經是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.gitInstall 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
- CMD+SHIFT+P
- >install extensions
- 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絕對是你很棒的選擇!
