用 LaTeX 制作论文封面

在我制作我 本科学校的学位论文 LaTeX 模版时 ,我发现封面这一步很有意思,其中使用的代码片段也适合独立放出来。所以写一篇短文记录一下。

根据系主任发给我的一份 Word 样本,封面应当含有如下元数据:

  • 学院
  • 专业班级
  • 姓名
  • 学号
  • 指导教师

Word 版本的格式样本

为了表示方便,下文将元数据的名称记为 k,其对应值记为 v。

根据 Word 样本的内容,知道其中 k 是不含下划线并且两端对齐的;而 v 是含下划线并且中间对齐的。

那么任务就拆分成了如下步骤:

  1. 将 k 和 v 放到一个 LaTeX 表格中
  2. 处理 k 的格式为两端对齐
  3. 处理 v 的格式为居中对齐,并有固定长度的下划线

表格可以用 tabular 实现。两端对齐则通过 这篇文章 的方法,使用 \makebox 解决。生成制定长度的下划线的办法则是根据这个 帖子 提供的 \wideunderline 命令。

最终使用的最小工作实例如下所示:

\documentclass{ctexart}
\newcommand{\wideunderline}[2][2em]{\underline{\makebox[\ifdim\width>#1\width\else#1\fi]{#2}}}

\begin{document}

\centering
\begin{tabular}{@{}l@{\hspace{\ccwd}}l@{}}
    \makebox[5em][s]{\textbf{学院:}} & \makebox[10em][s]{\wideunderline[10em]{所处学院}} \\
    \makebox[5em][s]{\textbf{专业班级:}} & \makebox[10em][s]{\wideunderline[10em]{专业名称 专业班级}} \\
    \makebox[5em][s]{\textbf{姓名:}} & \makebox[10em][s]{\wideunderline[10em]{ringsaturn}} \\
    \makebox[5em][s]{\textbf{学号:}} & \makebox[10em][s]{\wideunderline[10em]{0000000001}} \\
    \makebox[5em][s]{\textbf{指导教师:}} & \makebox[10em][s]{\wideunderline[10em]{Dracula}} \\
\end{tabular}

\end{document}

LaTeX 实现的封面效果图

后记:我在浏览各种 XX 大学 LaTeX 模版的过程中发现上海交通大学的模版样本中的效果非常棒,可以 到这里 浏览生成 PDF,其 封面使用的源码可以在 GitHub 上看到

Comments
Write a Comment