最近想用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自定制简历样式相关推荐

  1. 利用moderncv定制简历样式

    最近想用mordencv做个中文latex简历,moderncv本来是个英文的模板,网上可以找到很多让其支持中文的方法(见"1. 让moderncv模板支持中文"). 不过后来发现 ...

  2. 如何使用利用LaTeX制作个人简历

    转自 http://www.cnblogs.com/panpei/archive/2013/02/13/2910680.html 前些日子,有点无聊,就在网上逛逛技术大牛的blogs,发现很多大牛都喜 ...

  3. ISA 2006利用Bandwidth Splitter定制带宽和限制流量

    ISA 2006利用Bandwidth Splitter定制带宽和限制流量 本文来自: 菜鸟技术网(www.cnwan.com.cn) 详细出处参考:http://www.cnwan.com.cn/a ...

  4. ant design vue利用rowClassName给table添加行样式

    ant design vue利用rowClassName给table添加行样式 目录 1. 需求:表格每行数据hasVerdict值不为'1'时标红显示 2. 实现方式:table属性rowClass ...

  5. vue3 antd项目实战——Modal弹窗自定义遮罩 (利用maskStyle属性自定义遮罩样式)

    vue3 antd项目实战--Modal弹窗自定义遮罩 maskStyle 知识回调 场景复现 关于mask遮罩的API属性 利用maskStyle属性自定义遮罩样式 知识回调 文章内容 文章链接 v ...

  6. 利用HTML创建个人简历

    利用HTML创建个人简历 HTML表格的特点: 通常情况下,同行的高度一致,同列的宽度一致. 一.标签的学习 1.表格标签 table标签 定义一个表格 tr标签 定义表格的行 声明一行,设置行高及改 ...

  7. webcast(利用sharepoint Designer 定制 Office SharePoint Server 2007)学习笔记

    讲    师:侯钟雷  微软特约讲师 北京易学育通科技发展有限公司 时    间:90 分钟 下载地址:下载地址(需先注册,不过很快) 讲座内容: SharePoint Designer是原Front ...

  8. ECharts 定制 label 样式

    起因 实现对 label 的样式定制,自定义字体颜色.大小等属性:效果如下图 实现 itemStyle: { normal: { color: '#f7ba0e', label: { show: tr ...

  9. html利用表格制作个人简历

    html利用表格制作简历 1,代码展示 <!DOCTYPE html> <html><head><meta charset="utf-8" ...

最新文章

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

热门文章

  1. 数据可视化之实现世界污染仪表盘制作
  2. linux中本地yum源和共享yum源的搭建
  3. word VBA加密解密
  4. 动态令牌之 OTP,HOTP,TOTP 的基本原理 Python
  5. 大范围移动延时摄影后期去抖总结
  6. cocoscreator摄像机跟随玩家移动及地图边界的设置
  7. 静默获取用户基本信息的一种方法
  8. 浅析多通道接收单元噪声系数的测试
  9. MicroStrategy Developer安装操作教程
  10. k-touch w619: Dump boot.img和system.img,然后做成recovery可用的刷机zip包