又到一年毕业季,广大准毕业生都忙着撰写学位论文,有用Word写的,也有用$LaTeX$排版的。相对来说,我更喜欢用$LaTeX$排版,因为它对整个论文各个方面提供更精准的控制和更优美的排版效果。当然,$LaTeX$排版系统不像“所见即所得”的Word,要从零开始完全自己排版整个论文还需要花点时间和不熟悉的命令、机制等做斗争,好在网上也有很多资料和网友分享的学位论文模板可以利用参考。前几年,中科院对学位论文的格式似乎并没有很具体的要求,实验室学生也一直使用吴凌云开发的中科院学位论文模板CASthesis,一届传一届,相安无事。今年,中科院整理发布了“中国科学院大学研究生学位论文撰写规范指导意见”,其中对学位论文的各个方面都做了细致的规定。原来的CASthesis已经不好再用了,一是该模板和最新的规定不一致了,二是随着CTeX宏集的不断更新,在其基础上编写的CASthesis模板也已经过时了。
事实上,得益于同样是吴凌云等人开发的CTeX宏集,撰写符合要求的学位论文并不难,直接用CTeX宏集中提供的ctexbook文档类已经能排版出一篇优美的论文。为了撰写符合“中国科学院大学研究生学位论文撰写规范指导意见”要求的学位论文,只需要微调不多的一些配置即可,下面简述一些简单的修改。
一、整体结构
documentclass[UTF8,zihao=-4,a4paper,linespread=1.5,AutoFakeBold=0.6]{ctexbook} % 主要字号、行间距等
usepackage{calc}
usepackage[top=1in,bottom=1in,inner=1.5in,outer=1.25in,head=1in-1.5cm-headsep]{geometry} % 页面设置
%%%%%%%%%%%%%%%%%%%%%
% 这里包括使用的宏包和命令配置等
setCJKmainfont{SimSun} % 论文主要中文字体
setmainfont{Times New Roman} % 主要英文字体
%%%%%%%%%%%%%%%%%%%%%
egin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 封面部分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pagestyle{empty}
% 中文封面
maketitle
cleardoublepage
% 英文封面
makeenglishtitle
cleardoublepage
% 学位论文独创性声明和版权使用授权说明
pagestyle{empty}
include{statement}
cleardoublepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 前言部分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
frontmatter
% 摘要
include{chapters/abstract}
% 目录
ableofcontents
% 表格目录
% listoftables
% 插图目录
% listoffigures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 正文部分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mainmatter
include{chapters/chap1}
include{chapters/chap2}
include{chapters/chap3}
% 附录
% appendix
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 附件部分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ackmatter
% 参考文献
% 使用 BibTeX
% ibliographystyle{plain}
% ibliography{bib/ref}
%
ocite{*}
% 发表文章目录
% include{chapters/pub}
% 个人简历
include{chapters/resume}
% 致谢
% include{chapters/thanks}
end{document}
二、页眉、页脚设置
除了一些没有页眉页脚的页面,整个论文主要包括两种页眉页脚:从摘要页到目录页部分一种,正文部分一种,下面分别配置:
% 从摘要页到目录页页眉页脚配置
usepackage{fancyhdr}
fancypagestyle{frontmatter}{%定义新的页面样式
fancyhf{}%
fancyhead[CO]{zihao{-5}
ouppercase{leftmark}}%
fancyhead[CE]{zihao{-5} Title}%
fancyfoot[C]{zihao{-5} hepage}%
enewcommand{headrulewidth}{0.4pt}%
enewcommand{footrulewidth}{0pt}%
}
ewcommand{abstract}[1]{chaptermark{#1}chapter*{#1}} % 目录只显示正文部分,因此中英文摘要不编号,而chapter*不会设置chaptermark标记,所以要手动设置
setlength{headheight}{11pt} % fixes headheight warning
% 放置于正文部分前
pagestyle{fancy}
fancyhf{}
fancyhead[CO]{zihao{-5} leftmark}
fancyhead[CE]{zihao{-5} Title}
fancyfoot[RO,LE]{zihao{-5} hepage}
有几个问题:
1. 摘要页部分页码要求使用大写罗马数字,通过在摘要页前放如下代码修改:
pagestyle{frontmatter} % 使用新定义的样式
pagenumbering{Roman} % 页码使用大写罗马数字
2. $LaTeX$默认book文档类中每章的第一页比较特殊,使用plain页面样式,即chapter命令内部隐含 hispagestyle{plain}。论文要求是和其他页一样,ctexbook提供了配置接口:
ctexset{chapter/pagestyle=fancy}
或者也可以通过修改默认的plain样式fancypagestyle{plain}{...}来达到目的。
三、封面设置
ewcommand{TEXTunderline}[2][299pt]{uline{makebox[#1]{hfill#2hfill}}}
enewcommandULthickness{1pt} % thickness of uline in ulem.sty
% 中文封面
enewcommandmaketitle{%
hispagestyle{empty}
egin{center}
vskip stretch{2}
includegraphics[width=0.8 extwidth]{figures/ucas_logo.png}
vskip stretch{1}
{fseriesheitizihao{1}博士/硕士学位论文}
vskip stretch{1.5}
{fseriesheitizihao{-3}TEXTunderline{论文题目}}
vskip stretch{1.5}
zihao{4}
defarraystretch{1.5}
egin{tabular}{>{fseries}l>{fseries}l}
作者姓名: & TEXTunderline{作者} \
指导教师: & TEXTunderline{导师} \
& TEXTunderline{单位} \
学位类别: & TEXTunderline{学位} \
学科专业: & TEXTunderline{专业} \
培养单位: & TEXTunderline{培养单位}
end{tabular}
vskip stretch{2}
{fseries oday}
end{center}
}
% 英文封面
ewcommandmakeenglishtitle{%
hispagestyle{empty}
egin{center}
fseries
vspace*{20pt}
zihao{-3} TEXTunderline[299pt]{Research on xxxxx}
vskip stretch{2}
zihao{4} A dissertation submitted to \
University of Chinese Academy of Sciences \
in partial fulfillment of the requirement \
for the degree of \
Doctor/Master of Philosophy \[6ex]
By \
Author Name \
Supervisor: Professor XXX
vskip stretch{2}
Institute of xxxxxx \ Chinese Academy of Sciences
vskip 3pt
June 2018
end{center}
}
四、目录设置
usepackage{tocloft}
ocloftpagestyle{frontmatter}
setlength{cftbeforetoctitleskip}{24pt}
setlength{cftaftertoctitleskip}{18pt}
enewcommand{cfttoctitlefont}{hfillheitizihao{4}fseries}
enewcommand{cftaftertoctitle}{hfill} % 使“目录”居中
%目录章标题格式
enewcommand{cftchapfont}{heitizihao{4}}
setlength{cftchapindent}{0pt}
setlength{cftbeforechapskip}{6pt}
enewcommand{cftchapdotsep}{cftsecdotsep}
enewcommand{cftchapleader}{fseriescftdotfill{cftchapdotsep}}
enewcommandcftchapafterpnum{vskip0pt}
%目录节标题格式
enewcommand{cftsecfont}{heitizihao{-4}}
setlength{cftsecindent}{ccwd}
setlength{cftbeforesecskip}{6pt}
enewcommandcftsecafterpnum{vskip0pt}
enewcommand{cftsubsecfont}{heitizihao{-4}}
setlength{cftsubsecindent}{2ccwd}
setlength{cftbeforesubsecskip}{6pt}
enewcommandcftsubsecafterpnum{vskip0pt}
五、正文配置
ctexbook提供了丰富的配置选项来配置标题、段落格式等,具体参考说明文件ctex.pdf,配置如下:
ctexset{
chapter={
format+=heitizihao{4}fseries,
beforeskip=24pt,
afterskip=18pt,
numbering=true,
number=arabic{chapter},
pagestyle=fancy,%标题所在页页面风格
},
section={
format=heitizihao{-4}
aggedright,
beforeskip=24pt,
afterskip=6pt,
},
subsection={
format=heitizihao{-4}
aggedright,
beforeskip=12pt,
afterskip=6pt,
},
contentsname={目hspace{ccwd}录},
}
setlength{parskip}{0pt}
六、图/表中英文题注配置
usepackage{ccaption} % for bicaption
usepackage[font=small]{caption}
% 图的题注在图下面,使用icaption
% 表的题注在表上面,新定义的命令 opbicaption,调整间距
ewcommand{ opbicaption}{%标题在表格上面使用
midbicaption{%
addtolength{elowcaptionskip}{-0.5aselineskip}%中英文标题间距
setlength{abovecaptionskip}{0.5aselineskip}}%标题和表格间距
icaption}
% 插入图片示例
egin{figure}[htb]
centering
includegraphics[width=0.6 extwidth]{figures/ucas_logo.png}
icaption[fig1]{中文题注简写,可不写}{中文题注}{Figure}{英文题注}
end{figure}
% 插入表格示例,推荐使用三线表格
egin{table}[htb]
setlength{ abcolsep}{5pt}
opbicaption[tb1]{中文题注简写}%
{中文题注}%
{Table}{英文题注}
centering%
egin{tabular}{cc}
oprule%
xxxxx & xxxxx \otoprule
xxxx & xxxx \
xxxx & xxxx \
ottomrule
end{tabular}
end{table}
以上这些组合起来,差不多能排版一篇精美的、符合格式要求的学位论文。
最后祝大家毕业顺利!