|||
又到一年毕业季,广大准毕业生都忙着撰写学位论文,有用Word写的,也有用LATEX排版的。相对来说,我更喜欢用LATEX排版,因为它对整个论文各个方面提供更精准的控制和更优美的排版效果。当然,LATEX排版系统不像“所见即所得”的Word,要从零开始完全自己排版整个论文还需要花点时间和不熟悉的命令、机制等做斗争,好在网上也有很多资料和网友分享的学位论文模板可以利用参考。前几年,中科院对学位论文的格式似乎并没有很具体的要求,实验室学生也一直使用吴凌云开发的中科院学位论文模板CASthesis,一届传一届,相安无事。今年,中科院整理发布了“中国科学院大学研究生学位论文撰写规范指导意见”,其中对学位论文的各个方面都做了细致的规定。原来的CASthesis已经不好再用了,一是该模板和最新的规定不一致了,二是随着CTeX宏集的不断更新,在其基础上编写的CASthesis模板也已经过时了。
事实上,得益于同样是吴凌云等人开发的CTeX宏集,撰写符合要求的学位论文并不难,直接用CTeX宏集中提供的ctexbook文档类已经能排版出一篇优美的论文。为了撰写符合“中国科学院大学研究生学位论文撰写规范指导意见”要求的学位论文,只需要微调不多的一些配置即可,下面简述一些简单的修改。
一、整体结构(主文件)
二、页眉、页脚设置
除了一些没有页眉页脚的页面,整个论文主要包括两种页眉页脚:从摘要页到目录页部分一种,正文部分一种,下面分别配置:
% 从摘要页到目录页页眉页脚配置
\usepackage{fancyhdr}
\fancypagestyle{frontmatter}{%定义新的页面样式
\fancyhf{}%
\fancyhead[CO]{\zihao{-5} \nouppercase{\leftmark}}%
\fancyhead[CE]{\zihao{-5} \Title}%
\fancyfoot[C]{\zihao{-5} \thepage}%
\renewcommand{\headrulewidth}{0.4pt}%
\renewcommand{\footrulewidth}{0pt}%
}
\newcommand{\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} \thepage}
有几个问题:
1. 摘要页部分页码要求使用大写罗马数字,通过在摘要页前放如下代码修改:
\pagestyle{frontmatter} % 使用新定义的样式 \pagenumbering{Roman} % 页码使用大写罗马数字
2. LATEX默认book文档类中每章的第一页比较特殊,使用plain页面样式,即\chapter命令内部隐含\thispagestyle{plain}。论文要求是和其他页一样,ctexbook提供了配置接口:
\ctexset{chapter/pagestyle=fancy}
或者也可以通过修改默认的plain样式\fancypagestyle{plain}{...}来达到目的。
三、封面设置
\newcommand{\TEXTunderline}[2][299pt]{\uline{\makebox[#1]{\hfill#2\hfill}}}
\renewcommand\ULthickness{1pt} % thickness of uline in ulem.sty
% 中文封面
\renewcommand\maketitle{%
\thispagestyle{empty}
\begin{center}
\vskip \stretch{2}
\includegraphics[width=0.8\textwidth]{figures/ucas_logo.png}
\vskip \stretch{1}
{\bfseries\heiti\zihao{1}博士/硕士学位论文}
\vskip \stretch{1.5}
{\bfseries\heiti\zihao{-3}\TEXTunderline{论文题目}}
\vskip \stretch{1.5}
\zihao{4}
\def\arraystretch{1.5}
\begin{tabular}{>{\bfseries}l>{\bfseries}l}
作者姓名: & \TEXTunderline{作者} \\
指导教师: & \TEXTunderline{导师} \\
& \TEXTunderline{单位} \\
学位类别: & \TEXTunderline{学位} \\
学科专业: & \TEXTunderline{专业} \\
培养单位: & \TEXTunderline{培养单位}
\end{tabular}
\vskip \stretch{2}
{\bfseries \today}
\end{center}
}
\newcommand{\TEXTunderline}[2][299pt]{\uline{\makebox[#1]{\hfill#2\hfill}}}
\renewcommand\ULthickness{1pt} % thickness of uline in ulem.sty
% 中文封面
\renewcommand\maketitle{%
\thispagestyle{empty}
\begin{center}
\vskip \stretch{2}
\includegraphics[width=0.8\textwidth]{figures/ucas_logo.png}
\vskip \stretch{1}
{\bfseries\heiti\zihao{1}博士/硕士学位论文}
\vskip \stretch{1.5}
{\bfseries\heiti\zihao{-3}\TEXTunderline{论文题目}}
\vskip \stretch{1.5}
\zihao{4}
\def\arraystretch{1.5}
\begin{tabular}{>{\bfseries}l>{\bfseries}l}
作者姓名: & \TEXTunderline{作者} \\
指导教师: & \TEXTunderline{导师} \\
& \TEXTunderline{单位} \\
学位类别: & \TEXTunderline{学位} \\
学科专业: & \TEXTunderline{专业} \\
培养单位: & \TEXTunderline{培养单位}
\end{tabular}
\vskip \stretch{2}
{\bfseries \today}
\end{center}
}
四、目录设置
\usepackage{tocloft}
\tocloftpagestyle{frontmatter}
\setlength{\cftbeforetoctitleskip}{24pt}
\setlength{\cftaftertoctitleskip}{18pt}
\renewcommand{\cfttoctitlefont}{\hfill\heiti\zihao{4}\bfseries}
\renewcommand{\cftaftertoctitle}{\hfill} % 使“目录”居中
%目录章标题格式
\renewcommand{\cftchapfont}{\heiti\zihao{4}}
\setlength{\cftchapindent}{0pt}
\setlength{\cftbeforechapskip}{6pt}
\renewcommand{\cftchapdotsep}{\cftsecdotsep}
\renewcommand{\cftchapleader}{\bfseries\cftdotfill{\cftchapdotsep}}
\renewcommand\cftchapafterpnum{\vskip0pt}
%目录节标题格式
\renewcommand{\cftsecfont}{\heiti\zihao{-4}}
\setlength{\cftsecindent}{\ccwd}
\setlength{\cftbeforesecskip}{6pt}
\renewcommand\cftsecafterpnum{\vskip0pt}
\renewcommand{\cftsubsecfont}{\heiti\zihao{-4}}
\setlength{\cftsubsecindent}{2\ccwd}
\setlength{\cftbeforesubsecskip}{6pt}
\renewcommand\cftsubsecafterpnum{\vskip0pt}
五、正文配置
ctexbook提供了丰富的配置选项来配置标题、段落格式等,具体参考说明文件ctex.pdf,配置如下:
\ctexset{
chapter={
format+=\heiti\zihao{4}\bfseries,
beforeskip=24pt,
afterskip=18pt,
numbering=true,
number=\arabic{chapter},
pagestyle=fancy,%标题所在页页面风格
},
section={
format=\heiti\zihao{-4}\raggedright,
beforeskip=24pt,
afterskip=6pt,
},
subsection={
format=\heiti\zihao{-4}\raggedright,
beforeskip=12pt,
afterskip=6pt,
},
contentsname={目\hspace{\ccwd}录},
}
\setlength{\parskip}{0pt}
六、图/表中英文题注配置
\usepackage{ccaption} % for bicaption
\usepackage[font=small]{caption}
% 图的题注在图下面,使用\bicaption
% 表的题注在表上面,新定义的命令\topbicaption,调整间距
\newcommand{\topbicaption}{%标题在表格上面使用
\midbicaption{%
\addtolength{\belowcaptionskip}{-0.5\baselineskip}%中英文标题间距
\setlength{\abovecaptionskip}{0.5\baselineskip}}%标题和表格间距
\bicaption}
% 插入图片示例
\begin{figure}[htb]
\centering
\includegraphics[width=0.6\textwidth]{figures/ucas_logo.png}
\bicaption[fig1]{中文题注简写,可不写}{中文题注}{Figure}{英文题注}
\end{figure}
% 插入表格示例,推荐使用三线表格
\begin{table}[htb]
\setlength{\tabcolsep}{5pt}
\topbicaption[tb1]{中文题注简写}%
{中文题注}%
{Table}{英文题注}
\centering%
\begin{tabular}{cc}
\toprule%
xxxxx & xxxxx \\\otoprule
xxxx & xxxx \\
xxxx & xxxx \\
\bottomrule
\end{tabular}
\end{table}
以上这些组合起来,差不多能排版一篇精美的、符合格式要求的学位论文。