利用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" ...
最新文章
- apache log4j-1.2.15的使用
- 表达式树 php,Linux_LINQ学习笔记:表达式树,构建查询表达式
本节中, 我们 - phpStudy...
- swift 函数.和匿名函数
- Java学习笔记——常用类
- VS2005里自定义控件设计时语法
- access横向求和sum_数据横向、纵向及交叉求和,同事用Alt+=号一键搞定!不需要函数...
- 【渝粤教育】国家开放大学2018年秋季 0321-21T学前心理学 参考试题
- 你知道Arrays.asList 有坑吗?千万别踩啊!
- Java进阶:SSM(Spring、Spring MVC、MyBatis)整合
- python批量运行py文件
- EXCEL拆分单元格代码
- linux耳机的检测原理,耳机检测原理介绍
- GD32F450替换STM32F429
- 阿里巴巴(杭州)转正答辩失败流水账
- [自学考试] [02142数据结构导论] Part1 概论
- yabailv 运放_运放块压摆率单位增益频宽和逻辑器件传输延时
- Steam Sdk接入
- html caption 靠左,HTML caption align 属性 | Paoo教程
- axure 倒计时_Axure倒计时效果
- maven 实战 (许晓斌)