利用moderncv自定制简历样式
最近想用mordencv做个中文latex简历,moderncv本来是个英文的模板,网上可以找到很多让其支持中文的方法(见“1. 让moderncv模板支持中文”)。
不过后来发现英文版的简历上方会有大量的留白,改成中文后看起来很不紧凑,网上搜了半天也没有个统一的解决方法。于是自己研究了一下模板代码,找到了一些修改模板样式的方式,简单总结(见“2. 修改moderncv模板样式”)。(注:时间仓促,以下不详述具体细节,只介绍方法)
1. 让moderncv模板支持中文
(本部分内容是参考网上的方法,由于很多是普遍通用的,因此不引用出处)
1)将mordencv.cls中的
% hyperrefs
\RequirePackage{url}
\ifpdf\RequirePackage[pdftex,]{hyperref}
\else\RequirePackage[dvips]{hyperref}\fi
修改为
\RequirePackage{ifxetex}
\ifpdf\RequirePackage[pdftex,]{hyperref}
\else
\ifxetex\RequirePackage[xetex]{hyperref}\else\RequirePackage[dvips]{hyperref}\fi
2)在.tex文件中加入中文字体的设置,比如
\usepackage[slantfont,boldfont,CJKnumber,CJKtextspaces]{xeCJK}
\setCJKmainfont[BoldFont={SimHei}, ItalicFont={KaiTi}]{SimSun}
\setCJKsansfont{KaiTi}
\setCJKmonofont{STFangsong}
3)编译时使用xelatex命令
2. 修改moderncv模板样式
moderncv模板主要包括三部分:moderncv.cls文件、.sty文件和.tex文件,分别负责不同的功能。
1)moderncv.cls文件。主要定义了一些structure command,例如firstname和lastname:
\newcommand*{\firstname}[1]{\def\@firstname{#1}}
\newcommand*{\familyname}[1]{\def\@familyname{#1}}
这些command被进一步在.sty文件中声明和定义了其在整个页面中出现的位置,然后就可以在.tex文件中对其引用。我们也可以模仿这种样式自定义自己所需要的command->在.sty文件中定义其位置->在.tex文件中引用,最终让其最终出现在简历页面中。
2).sty文件。包括两种:moderncvthemeclassic.sty和moderncvthemecasual.sty,分别对应不同的模板样式(主要是简历头部样式),在.tex文件中可以通过\moderncvtheme[blue]{classic} 声明使用哪种样式(包括模板的颜色)。我们要解决的问题是将简历头部变紧凑,而头部结构的定义出现在.sty文件中的这一部分:
\renewcommand*{\maketitle}{%% name and title\begin{minipage}[b]{\maketitlenamewidth}%\firstnamestyle{\@firstname~}\familynamestyle{\@familyname}%\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%\end{minipage}%% optional data\begin{minipage}[b]{\maketitledetailswidth}%\raggedleft\addressfont\color{addresscolor}%\ifthenelse{\isundefined{\@addressstreet}}{}{%\maketitledetailsnewline%\addresssymbol~\@addressstreet%\ifthenelse{\isundefined{\@addresscity}}{}{\\\@addresscity}}%\ifthenelse{\isundefined{\@mobile}}{}{\maketitledetailsnewline\mobilesymbol~\@mobile}%\ifthenelse{\isundefined{\@phone}}{}{\maketitledetailsnewline\phonesymbol~\@phone}%\ifthenelse{\isundefined{\@fax}}{}{\maketitledetailsnewline\faxsymbol~\@fax}%\ifthenelse{\isundefined{\@email}}{}{\maketitledetailsnewline\emailsymbol~\emaillink{\@email}}%\ifthenelse{\isundefined{\@extrainfo}}{}{\maketitledetailsnewline\@extrainfo}%\end{minipage}%% optional photo\ifthenelse{\isundefined{\@photo}}%{}%{\hspace*{\separatorcolumnwidth}\color{firstnamecolor}\framebox{\includegraphics[width=\maketitlepicturewidth]{\@photo}}}\\[3em]%% optional quote\ifthenelse{\isundefined{\@quote}}%{}%{\centering{\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}}\\[2.5em]}%}
其中定义了头像位置、联系方式等信息,可以轻松改变这些排版模式(如果懂latex命令的话,minipage是一个很好用的工具~)。需要注意的是这里一些长度字段的定义,比如\,maketitlepicturewidth,本质上都是一些变量,变量值要么引用了其他地方的长度声明,要么就是简单的赋值。一般可以从.sty文件的起始部分找到这些变量的声明和赋值,比如:
\newlength{\maketitlepicturewidth}//声明
\setlength{\maketitlepicturewidth}{\@photowidth}//应用.tex文件中的长度声明
3).tex文件。主文件,基于上述对.cls和.sty两个文件的设置,我们可以方便的在该文件中引用structure command编辑简历。
利用moderncv自定制简历样式相关推荐
- 利用moderncv定制简历样式
最近想用mordencv做个中文latex简历,moderncv本来是个英文的模板,网上可以找到很多让其支持中文的方法(见"1. 让moderncv模板支持中文"). 不过后来发现 ...
- 如何使用利用LaTeX制作个人简历
转自 http://www.cnblogs.com/panpei/archive/2013/02/13/2910680.html 前些日子,有点无聊,就在网上逛逛技术大牛的blogs,发现很多大牛都喜 ...
- ISA 2006利用Bandwidth Splitter定制带宽和限制流量
ISA 2006利用Bandwidth Splitter定制带宽和限制流量 本文来自: 菜鸟技术网(www.cnwan.com.cn) 详细出处参考:http://www.cnwan.com.cn/a ...
- ant design vue利用rowClassName给table添加行样式
ant design vue利用rowClassName给table添加行样式 目录 1. 需求:表格每行数据hasVerdict值不为'1'时标红显示 2. 实现方式:table属性rowClass ...
- vue3 antd项目实战——Modal弹窗自定义遮罩 (利用maskStyle属性自定义遮罩样式)
vue3 antd项目实战--Modal弹窗自定义遮罩 maskStyle 知识回调 场景复现 关于mask遮罩的API属性 利用maskStyle属性自定义遮罩样式 知识回调 文章内容 文章链接 v ...
- 利用HTML创建个人简历
利用HTML创建个人简历 HTML表格的特点: 通常情况下,同行的高度一致,同列的宽度一致. 一.标签的学习 1.表格标签 table标签 定义一个表格 tr标签 定义表格的行 声明一行,设置行高及改 ...
- webcast(利用sharepoint Designer 定制 Office SharePoint Server 2007)学习笔记
讲 师:侯钟雷 微软特约讲师 北京易学育通科技发展有限公司 时 间:90 分钟 下载地址:下载地址(需先注册,不过很快) 讲座内容: SharePoint Designer是原Front ...
- ECharts 定制 label 样式
起因 实现对 label 的样式定制,自定义字体颜色.大小等属性:效果如下图 实现 itemStyle: { normal: { color: '#f7ba0e', label: { show: tr ...
- html利用表格制作个人简历
html利用表格制作简历 1,代码展示 <!DOCTYPE html> <html><head><meta charset="utf-8" ...
最新文章
- C++ 原码、反码、补码理解笔记
- waitpid最后以一个参数设为0_西门子MM440变频器参数设置
- 《剑指offer》-- 树的子结构、二叉树的镜像、二叉树的深度、平衡二叉树
- 初识Qt Creator
- c语言实现链表结构6,用c语言实现的链表结构--数据结构实验
- Struts2框架基础篇
- webstorm 创建react组件_webstorm的下载以及React环境搭建
- Flutter基础—布局模型之水平垂直
- nodejs 做后台的一个完整业务整理
- ASO优化:ios关键词覆盖和增量技巧
- 人月神话(七)没有银弹-软件工程中的根本和次要问题、20 年后的人月神话
- Material Design专用在线配色工具
- 【谦川解读】如何保证汽车“黑匣子”—EDR数据安全
- c语言 python java css,从零起步学编程 Python篇 Java篇 C#篇 CSS篇 全4册
- Windows 如何配置 scratch 3.0 GUI
- 使用USB转ttl给stm32下载程序
- js 去除下拉框重复值
- Keras---序贯模型
- 电脑常用软件下载地址
- NVME SAS SATA
热门文章
- [论文阅读笔记]Two-Stream Convolutional Networks for Action Recognition in Videos
- ThinkPHP6利用phpoffice/phpexcel导入表格数据
- pageHelper分页合理化
- 二苯基环辛炔-氨基;DBCO-NH2科研实验用试剂DBCO-Amine;CAS:1255942-06-3
- 流水线冒险(Pipeline Hazards)|计算机组成
- X230i如何开启Inter vt-x
- microRNA靶基因预测
- 来自西弗吉利亚大学li xin整理的CV代码合集
- rabbimq operation queue.declare caused a channel exception not_found
- uniapp实现可滑动顶部选项卡