0. 封面
–封面应该是所有想写学位论文模板的人最大的苦恼,也是直接劝退大部分人的主要原因
这是学校的模板,下划线,对齐位置都够麻烦的了。真的是直接直接哭,而且装订线也不好做,这里直接放上装订线的代码,应该是可以解决问题的,如果需要细调自己可以尝试调调看
1. 装订线
{\tiny \newsavebox{\zdx} %装订线
\newcommand{\putzdx}{\marginpar{
\parbox{1cm}{\vspace{0.5cm}
\rotatebox[origin=c]{90}{
\usebox{\zdx}
}}
}}
\fancyhf{}
\sbox{\zdx}
{\parbox{22cm}{\centering %装订线部分,勿删
\vspace{2cm}
\zihao{4}
\dotfill{} \rotatebox[x=0.3\ccwd,y=0.5\ccwd]{-90}{ \textbf{线}} \qquad \rotatebox[x=0\ccwd,y=0.5\ccwd]{-90}{\textbf{订}} \qquad \rotatebox[x=0\ccwd,y=0.5\ccwd]{-90}{\textbf{装}}
\dotfill{}
\\
}}
\reversemarginpar
\putzdx
}
这个装订线是从小屋里某个试卷模板中直接拿下来的,反正LaTeX不可能完全复现学校论文模板的效果,只能自己看看可不可以了。具体调试请调里面的参数。
2. 信息的填写
\makeatletter
\newcommand\dlmu[2][4cm]{\hskip1pt\underline{\hb@xt@ #1{\hss#2\hss}}\hskip3pt}
\makeatother
\begin{document}
\begin{center}
\zihao{3}
\begin{tabular}{rl}
题目: &\dlmu[10cm]{基于\LaTeX 的山东农业大学} \\
&\dlmu[10cm] {信息学院毕业论文模板} \\[2cm]
&\makebox[4em][s]{院部} \hspace{0.2cm} \dlmu[5.5cm]{信息科学与工程学院} \\
&\makebox[4em][s]{专业班级} \hspace{0.2cm} \dlmu[5.5cm]{遥感17-2} \\
&\makebox[4em][s]{届次} \hspace{0.2cm} \dlmu[5.5cm]{2021届} \\
&\makebox[4em][s]{学生姓名} \hspace{0.2cm} \dlmu[5.5cm]{N某人} \\
&\makebox[4em][s]{学号} \hspace{0.2cm} \dlmu[5.5cm]{20177740} \\
&\makebox[4em][s]{指导教师} \hspace{0.2cm} \dlmu[5.5cm]{郭鹏(副教授)} \\
\end{tabular}
\end{center}
下划线是人们最头痛的问题,还要对齐下划线,更是难上加难,强人所难,所以大多数时候肯定是考虑用表格做,这里的固定长度的下划线,百度一下都能搜到,由于这是在单独的tex文档里做的,不是在cls文档里,如果在cls文档请去掉\makeatletter和\makeatother否则直接抬走。这里就是用表格右对齐和左对齐相关的内容,不需要人为的去控制!
之所以出现的效果是这样的基本已经是对齐了。那个班级下划线加粗单纯是因为我在预览的时候放大了,没有影响,不要奇怪!所以你也可以自己定制符合自己格式内容
2.1 参数传递
由于本人能力有限许多地方是所见即所得得到的,希望见谅。
\newtoks\school %学校
\newtoks\college%学院
\newtoks\serialnumber%学号
\newtoks\major%专业年级
\newtoks\advisor%指导老师
\newtoks\titlextra%标题多余一行时添加
\newtoks\grade %届次
\newtoks\submityear%提交年份
\newtoks\submitmonth%提交月份
\newtoks\entitle %英文标题
\newtoks\entitletra %英文多余一行
\newtoks\author %作者
\newtoks\submitdate %提交日
\newtoks\titleEn %英文标题
\newtoks\titleZh %中文标题
\newtoks\majorEn %专业的英文
\newtoks\majorZh %专业的中文
\newtoks\authorEn %作者的拼写
\newtoks\advisorEn %指导老师的拼音
\newtoks\titlefirst %题目第一行
\newtoks\titlesecond %题目第二行
\newtoks\majortotal %年级加专业
\newtoks\advisors %指导老师带职称
newtok,token硬币、象征,就理解为定义变量吧!
定义完变量,在cls相关内容里加入\the \balalalala 最后在主要的tex文件里填写内容,就完成了传递,如果不懂可以看下面的代码。
然后如果是希望单独做一个封面页的话可以重新定义\maketitle.定
\renewcommand\maketitle{%封面
\cleardoublepage
\thispagestyle{empty}
```clike
\renewcommand\maketitle{%封面
\cleardoublepage
\thispagestyle{empty}
{\tiny \newsavebox{\zdx} %装订线
\newcommand{\putzdx}{\marginpar{
\parbox{1cm}{\vspace{0.5cm}
\rotatebox[origin=c]{90}{
\usebox{\zdx}
}}
}}
\fancyhf{}
\sbox{\zdx}
{\parbox{22cm}{\centering %装订线部分,勿删
\vspace{2cm}
\zihao{4}
\dotfill{} \rotatebox[x=0.3\ccwd,y=0.5\ccwd]{-90}{ \textbf{线}} \qquad \rotatebox[x=0\ccwd,y=0.5\ccwd]{-90}{\textbf{订}} \qquad \rotatebox[x=0\ccwd,y=0.5\ccwd]{-90}{\textbf{装}}
\dotfill{}
\\
}}
\reversemarginpar
\putzdx
}
\vspace{1cm}
%正面部分
{
\centering
{\xk \fontsize{25}{30} \selectfont {山东农业大学} \\ }
\vspace{2cm}
{\textbf \fzxb \fontsize{46}{59.2} 毕\qquad 业 \qquad 论 \qquad 文}
\vspace{3cm}
%表格1
\begin{center}
\zihao{3}
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{rl}
题目: &\dlmu[10cm]{\the \titlefirst} \\
&\dlmu[10cm] {\the \titlesecond} \\[2cm]
&\makebox[4em][s]{院部} \hspace{0.2cm} \dlmu[5.5cm]{\the \college} \\
&\makebox[4em][s]{专业班级} \hspace{0.2cm} \dlmu[5.5cm]{\the \major} \\
&\makebox[4em][s]{届次} \hspace{0.2cm} \dlmu[5.5cm]{\the \grade} \\
&\makebox[4em][s]{学生姓名} \hspace{0.2cm} \dlmu[5.5cm]{\the \author} \\
&\makebox[4em][s]{学号} \hspace{0.2cm} \dlmu[5.5cm]{\the \serialnumber} \\
&\makebox[4em][s]{指导教师} \hspace{0.2cm} \dlmu[5.5cm]{\the \advisors} \\
\end{tabular}
\end{center}
\vspace{80pt}
\centering
{ \zihao{3}二 \ 〇 {\ \the\submityear} \ 年{ \ \the\submitmonth} \ 月 {\ \the \submitdate} \ 日 }
}
\clearpage
%制作第二页
%----------------------------------------------**************************----------------------------------------------------------------------
\newpage
\cleardoublepage
\thispagestyle{empty}
\vspace*{2cm}
\begin{center}
\zihao{2} \songti \the \titleZh \\
\the \titleEn
\end{center}
%专门的标题页
\vspace{3cm}
\begin{center}
\songti
\zihao{4}
\renewcommand\tabcolsep{0.8cm}
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{;{1pt/2pt} l ;{1pt/2pt}l ;{1pt/2pt}}
\hdashline[1pt/2pt]
专业 & \the\majorZh \\
Speciality & \the\majorEn \\
\hdashline[1pt/2pt]
学生 & \the\author \\ %自行修改表格内的个人信息
Undergraduate & \the\authorEn \\
\hdashline[1pt/2pt]
指导教师 & \the\advisor \\
Supervisor & \the \advisorEn \\
\hdashline[1pt/2pt]
\end{tabular}
\end{center}
%日期学校名称
\vspace{3cm}
\begin{center}
\zihao{4}
山东农业大学 \\[1cm]
二 \ 〇 \ \the\submityear \ 年 \ \the \submitmonth \ 月 \\[1cm]
Shandong Agricultural University \\
\end{center}
\clearpage
}
在里面的代码里有很多\the \定义的变量 之后你只要在主tex文件中就可以加入自己的信息了比如我在主tex文件里加入了这些。
你也可以加入相关的东西进行编写!之后参数传递完成就OK了,很多具体的字号设置请自行设置符合自己学校要求的东西,同时,我的代码运行不了可能是自己没有加入相关的宏包请自己加入,我不多赘述,代码很长。
最后你当然需要在主tex文件里加入\maketitle了,代码自行阅读,慢慢测试!!