导言
随着LaTeX在国内的推广,越来越多高校有了自己的LaTeX模板,但是模板确实写起来比较麻烦,看别人的cls经常会看晕各种@、token这的那的,鄙人最近也试了一次(谁说双非不能有自己的LaTeX论文模板,爷第一个打死他)。
不过写一个模板的前提是要有许多基础的LaTeX知识,表格、图片、定理设置、目录设置、最难的封面制作其实就是目录的设置。废话不多说就开始写吧!
加载自己的class
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{SDAUthesis}[2020/08/01 v1.0 Standard LaTeX documentclass]
\LoadClass[a4paper,UTF8,openany,oneside,12pt,AutoFakeBold]{ctexbook}
%检查是否由xelatex编译
\RequirePackage{ifxetex}
\ifxetex
\else
\ClassError{SDAUthesis}{You must have to use the 'xelatex' \MessageBreak Please choose `xelatex'}{%
Only choose `xelatex', no `pdflatex' or `latex' and so on.}
\fi
当然你也可以不检测xetex,直接接上面的那段话,也是可以的。
这几句话是作为为你模板的tex提供class的基础。
可以对比下clsguide里的doc,注意的是Provideclass里面日期必须都是2位且必须都得填满,否则后续运行*.tex虽然可以运行结果但是会报错,所以请填满它们,完成这几句之后开始就可以在tex开始documentclass了
\documentclass{SDAUthesis}
之后应该是可以正常运行的。
开始加载宏包!
clsguide里面也建议强烈建议使用\requirepackage的方式,即便package加载或者使用usepackage,但是这个包只会加载一次。OK,开始加载宏包。
这是学校论文模板的要求,那就加载geometry吧。
\RequirePackage[top=2.5cm, bottom=2.5cm, left=2.00cm, right=2.00cm,headheight=1.5cm,footskip=1.75cm,]{geometry}
本系列讲述中,就不详细赘述这些包的作用了,是一些基础知识,请自阅读相关材料后,自行理解。
后续宏包有点多,我就不放代码了,太占页面了。还是解决核心问题吧!
读者可以自己尝试!
中文字体加载
\setCJKfamilyfont{hwxk}{华文行楷}
\newcommand*{\xk}{\CJKfamily{hwxk}}
\setCJKfamilyfont{fzjt}{方正小标宋简体}
\newcommand*{\fzxb}{\CJKfamily{fzjt}}
\setmainfont{Times New Roman}
由于学校的学位模板中涉及到了华文行楷和方正小标所以需要自己加载。这个是网上攻略查的,然后再自己加进去的。
页眉页脚的设置
由于学校论文中,前面部分2个封面2个目录页和1个摘要页是不要页脚和页眉的,所以需要设置单独的,如果是在做封面页的时候直接thispagestyple{empty}就ok了。如果是需要设置页眉和页脚的单独设置。
\fancypagestyle{mainmatterstyle}{
\renewcommand{\headrulewidth}{0.4pt}
\fancyfoot{} % clear all footer fields
\fancyfoot[C]{\thepage}
\fancyhead[C]{\songti \zihao{5} 山东农业大学学士学位论文}%
}
\appto\mainmatter{\pagestyle{mainmatterstyle}}
\appto\mainmatter{\linespread{1.0}\selectfont} %行距
\fancypagestyle{plain}{
\thispagestyle{mainmatterstyle}
}
\AtBeginDocument{\addtocontents{toc}{\protect\thispagestyle{empty}}}
设置mainmatterstyle为页眉是学校,页脚是当前页,所以在主要的tex文件就跟在mainmatter后,自动会加上页眉页脚的。
就像这样。
好吧第一篇先到这里,有点啰嗦了!