% 需要使用 XeLaTeX 或 LuaLaTeX 编译
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{Noto Serif CJK SC}
%\setCJKmainfont{Noto Sans CJK SC}
% 设置页面边距
% \usepackage[margin=0.68n]{geometry}
\usepackage[top=0.66in, bottom=0.66in, left=0.68in, right=0.68in]{geometry}
\usepackage{enumitem}
\usepackage{fontawesome5}
\usepackage{hyperref}
\hypersetup{
pdftitle={个人简历},
pdfauthor={wuruxu},
pdfsubject={reume-zh},
pdfkeywords={wuruxu, Linux, Android, Chromium, C/C++, Java, Python, Android NDK},
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
pdfstartview=Fit,
pdfpagemode=UseNone,
}
\newcommand{\iconspace}{\hspace{0.28em}} % 定义一个名为 \iconspace 的命令
% 移除页码
% \pagestyle{empty}
\usepackage{fancyhdr}
\usepackage{fontspec} % XeLaTeX requires fontspec instead of inputenc/fontenc
\usepackage{datetime2}
\renewcommand{\footrulewidth}{0.5pt}
\fancyhf{}
\fancyfoot[C]{\footnotesize Compiled on \DTMNow{} by \LaTeX}
\fancyfoot[R]{\roman{page}}
\renewcommand{\headrulewidth}{0pt}
\pagestyle{fancy}
\usepackage{multicol}
\begin{document}
\vspace{0.68em}
\section*{\faFeather{}\iconspace{}个人简介:}
\begin{multicols}{3}
\begin{itemize}[before=\small, after=\normalsize]
\item[\faUser*]姓名:\iconspace{}吴汝旭
\item[\faWeixin]微信:\iconspace{} wuruxu
\item[\faBirthdayCake]出生年月:\iconspace{}1980 年 12 月
\item[\faEnvelope]电子邮件:\iconspace\href{mailto:[email protected]}{[email protected]}
\item[\faGithub*]GitHub:\iconspace\href{https://github.com/wuruxu}{github.com/wuruxu}
\item[\faGooglePlay]个人 App:\iconspace\href{https://play.google.com/store/apps/details?id=com.github.wuruxu.cr_proxy_pass}{PP WebBrowser}
\end{itemize}
\end{multicols}
\vspace{0.68em}
\section*{\faBookOpen{}\iconspace{}教育背景:}
\begin{multicols}{3}
\begin{itemize}[before=\small, after=\normalsize]
\item[\faUniversity] \textbf{浙江工业大学}:软件工程--本科
\item[\faUserGraduate]毕业时间:2004 年 6 月
\item[\faAmilia] 英语水平:中等; CET6
\end{itemize}
\end{multicols}
\vspace{0.68em}
\section*{\faWrench{}\iconspace{}个人技能:}
\begin{multicols}{2}
\begin{itemize}[before=\small, after=\normalsize]
\item 十多年 C/C++, Java/Kotlin 和 Python 的开发经验
\item 熟悉 ChatGPT 和 Gemini 等 AI 工具在开发中的使用
\item 掌握 git, vim, make, curl, ssh, nft, ip 等常用工具的使用
\item 熟悉 chromium 代码库和 openwrt 的模块开发
\item 熟悉 Linux\faLinux\iconspace{}的工作环境,网络配置及脚本编写
\item 熟悉 Android App 和 NDK 的开发工作
\end{itemize}
\end{multicols}
\vspace{0.68em}
\section*{\faLaptopCode{}\iconspace{}工作经验:}
\subsection*{\normalsize XYZ Network - 高级架构师\qquad{}\faMapMarker*{}杭州\qquad{}2022.4--2023.4}
\begin{itemize}[before=\small, after=\normalsize]
\item 编译 Android chromium v105 版本
\item 修改 chromium webview 及 extensions 相关模块,实现 crwebview aar sdk
\item 实现支持 crwebview sdk 的 App Demo
\end{itemize}
\subsection*{\normalsize Mullvad - 高级技术专家\qquad{}\faMapMarker*{}杭州\qquad{}2020.2--2022.3}
\begin{itemize}[before=\small, after=\normalsize]
\item 完成 openwrt 代码下载编译和模块开发
\item 开发 mullvad-ping openwrt 模块的开发
\begin{enumerate}
\item 设计和开发 linux-wireguard.zip 的解压缩和内容分析
\item 完成适用于 Openwrt 系统的多线程 Mullvad 的节点测试工具
\end{enumerate}
\end{itemize}
\end{document}
![]() |
1
AFOX 53 天前
其实 qq 邮箱有一个很好的写简历的功能
|
![]() |
2
xiaohanyu 53 天前
两点可能的改进:
1. 可以用 fontspec 的 `\IfFontExistsTF` 宏来判断下字体是否存在,类似这种 ``` \\IfFontExistsTF{Noto Serif CJK SC}{ \\setCJKmainfont{Noto Serif CJK SC} }{} \\IfFontExistsTF{Noto Sans CJK SC}{ \\setCJKsansfont{Noto Sans CJK SC} }{} ``` 2. 可以用 `\usepackage{ctex}` 来代替 xeCJK ,xeCJK 是一个相对底层一点的宏包,ctex 更上层一点,并且提供一些更好的 API 来控制中英混排、标点等。 默认 ctex 会根据不同的 OS 来加载最合适的中文字体。 所以我的方案是: ``` \\usepackage[UTF8, fontset=none, heading=false, punct=kaiming, scheme=plain, space=auto]{ctex} \\IfFontExistsTF{Noto Serif CJK SC}{ \\setCJKmainfont{Noto Serif CJK SC} }{} \\IfFontExistsTF{Noto Sans CJK SC}{ \\setCJKsansfont{Noto Sans CJK SC} }{} ``` 好处: 1. 用 ctex 加载合适的中文字体,设置中英混排、标点选项 2. 如果系统中存在 Google Noto 系字体,则设置为 CJK mainfont ,好处是 Noto 字体的覆盖更广一些,对生僻字支持更好一些。 供参考哈。 |