Latex期末试卷模板
2026-05-22
张柯论文指导

oneside]{ctexart}
% =========================================================================
% 【核心设计文档 / ReadMe】
% 1. 本模板用途:
% 这是一个 A4 尺寸的源文件,但专为【A3 双面拼版打印】设计。
% (例如:一张 A3 纸横向,正面印第 1、2 页,背面印第 3、4 页)。
%
% 2. 为什么使用 `oneside` (单面模式) 而不是 `twoside`?
% 因为 LaTeX 默认的 `twoside` 会自动交换奇偶页的左右边距。
% 但在我们的 A3 拼版逻辑中,页面的边距变化规则更复杂:
% - 第 1, 2 页 (正面): 左宽右窄 (2.5cm, 1.5cm)
% - 第 3, 4 页 (背面): 左窄右宽 (1.5cm, 2.5cm) -> 这是为了翻面后和正面重合
% 因此,我们必须用代码手动强制控制每一页的布局,不能依赖系统自动切换。
% =========================================================================
% =============================================
% 1. 宏包加载区
% =============================================
\usepackage{geometry} % 用于页面边距设置 (核心包)
\usepackage{tikz} % 用于绘制密封线和图形
\usetikzlibrary{calc} % TikZ 的坐标计算库,用于精确定位
\usepackage{array} % 增强表格功能
\usepackage{fontspec} % 字体设置支持
\usepackage{fancyhdr} % 页眉页脚设置
\usepackage{eso-pic} % 用于在背景层添加内容 (DrawingSealingLine 依赖此包)
\usepackage{changepage} % 提供页码检测功能
\usepackage{lastpage} % 用于获取文档总页数 (共 X 页)
% =============================================
% 2. 字体与字号设置
% =============================================
% 设置中文字体为宋体 (SimSun),开启伪粗体和伪斜体支持
\setCJKmainfont[AutoFakeBold=true, AutoFakeSlant=true]{SimSun}
% 设置英文字体为 Times New Roman
\setmainfont{Times New Roman}
% 全局默认字号设为小四号 (约 12pt)
\renewcommand{\normalsize}{\zihao{-4}}
% =============================================
% 3. 初始页面布局 (第1页)
% =============================================
% 第1页通常是 A3 纸张正面的左半部分 (或右半部分,视打印顺序而定)。
% 这里设定为标准的“正面”布局:左侧留装订区/密封线。
% left=2.5cm (装订侧), right=1.5cm (翻口侧)
\geometry{left=2.5cm, right=1.5cm, top=1.5cm, bottom=2cm}
% =============================================
% 4. 核心逻辑:自动布局控制系统 (最复杂的部分)
% =============================================
% --- A. 密封线绘制逻辑 ---
% 该命令会被添加到每一页的背景中,自动判断是否需要画线,以及画在哪里。
\newcommand{\DrawSealingLine}{%
\begin{tikzpicture}[remember picture, overlay]
% 【算法解释】
% 我们以 4 页为一个“A3双面打印”的完整周期。
% 计算:(当前页码) mod 4
% -----------------------------------------------------------
% 情况 1: 余数为 1 (第 1, 5, 9... 页)
% 位置:A3 正面左侧 (或最外侧)。
% 逻辑:密封线应位于页面【左边】,边距较宽。
% -----------------------------------------------------------
\ifnum\numexpr\value{page}-4*(\value{page}/4)=1\relax
% 绘制虚线:从左边缘(west)向右偏移 2.2cm
\draw[dotted, line width=1pt]
($(current page.west) + (2.2cm, -14cm)$) --
($(current page.west) + (2.2cm, 14cm)$);
% 绘制文字 "密封线内不答题" (旋转90度)
% 使用 \quad 增加字间距
\node[rotate=90, font=\zihao{-4}, anchor=center]
at ($(current page.west) + (1.8cm, 0)$) {( 密 \quad 封 \quad 线 \quad 内 \quad 不 \quad 答 \quad 题 )};
% 绘制学生信息栏 (学院、专业等),紧贴最左侧
\node[rotate=90, anchor=center]
at ($(current page.west) + (1.0cm, 0)$) {
\zihao{-4} \setlength{\tabcolsep}{6pt}
\begin{tabular}{llllll}
学院:\underline{\makebox[3.5cm]{}} &
专业:\underline{\makebox[3.5cm]{}} &
姓名:\underline{\makebox[3.5cm]{}} &
学号:\underline{\makebox[3.5cm]{}} &
座位号:\underline{\makebox[3.5cm]{}}
\end{tabular}
};
\fi
% -----------------------------------------------------------
% 情况 2: 余数为 0 (第 4, 8, 12... 页)
% 位置:A3 背面右侧。
% 逻辑:这是第1页的背面。当纸张翻过来时,原来的“左边”变成了“右边”。
% 因此,这一页的装订线(密封线)必须出现在页面的【最右侧】。
% -----------------------------------------------------------
\ifnum\numexpr\value{page}-4*(\value{page}/4)=0\relax
% 绘制虚线:从右边缘(east)向左偏移 (-2.2cm)
\draw[dotted, line width=1pt]
($(current page.east) + (-2.2cm, -14cm)$) --
($(current page.east) + (-2.2cm, 14cm)$);
% 绘制文字:旋转 -90 度,以便阅读方向正确 (底部朝向装订线)
\node[rotate=-90, font=\zihao{-4}, anchor=center]
at ($(current page.east) + (-1.8cm, 0)$) {( 密 \quad 封 \quad 线 \quad 内 \quad 不 \quad 答 \quad 题 )};
% 注:第4页右侧通常不再重复填写学生信息,此处留白。
\fi
\end{tikzpicture}%
}
% 将绘制命令添加到所有页面的背景层 (Background)
\AddToShipoutPictureBG{\DrawSealingLine}
% --- B. 智能边距切换命令 ---
% 【重要使用说明】
% 由于 LaTeX 在 oneside 模式下不会自动切换边距,
% 我们必须在每一页内容开始前 (或 \newpage 后) 手动调用此命令。
\newcommand{\AutoSetPageLayout}{%
% 逻辑判断:
% -------------------------------------------------------
% 正面页 (Front Side) -> 保持默认【左宽右窄】
% -------------------------------------------------------
% 余数 1 (P1, P5...): 左2.5cm, 右1.5cm (含密封线)
% 余数 2 (P2, P6...): 左2.5cm, 右1.5cm (无密封线)
% -------------------------------------------------------
% 背面页 (Back Side) -> 必须切换为【左窄右宽】
% -------------------------------------------------------
% 余数 3 (P3, P7...): 左1.5cm, 右2.5cm (P2的背面,左右翻转)
% 余数 0 (P4, P8...): 左1.5cm, 右2.5cm (P1的背面,左右翻转,含密封线)
% 代码实现:如果余数是 3 或 0 (即背面的页)
\ifnum\numexpr\value{page}-4*(\value{page}/4)=3\relax
\newgeometry{left=1.5cm, right=2.5cm, top=1.5cm, bottom=2cm}%
\else
\ifnum\numexpr\value{page}-4*(\value{page}/4)=0\relax
\newgeometry{left=1.5cm, right=2.5cm, top=1.5cm, bottom=2cm}%
\else
% 否则 (余数 1 或 2,即正面的页),恢复默认【左宽右窄】
\newgeometry{left=2.5cm, right=1.5cm, top=1.5cm, bottom=2cm}%
\fi
\fi
}
% =============================================
% 5. 页眉页脚设置
% =============================================
\pagestyle{fancy}
\fancyhf{} % 清空默认页眉页脚
% 设置页脚居中,格式:课程名 + 页码/总页数
\fancyfoot[C]{《某某课程》试卷A/B卷 \quad 第 \thepage 页 \quad 共 \pageref{LastPage} 页}
\renewcommand{\headrulewidth}{0pt} % 去掉页眉装饰线
\begin{document}
% =================================================================
% 第 1 页 (正面左侧 / 周期第一页)
% =================================================================
\AutoSetPageLayout % <--- 【关键】每页开始必须调用,用于计算边距
% --- 试卷标题 ---
\begin{center}
\zihao{2} \bfseries 某某学校考试试卷
\end{center}
% --- 课程信息 ---
\begin{center}
\zihao{-4}
课程编号:\underline{\makebox[2.7cm]{}} \hspace{-0.1cm}
课程名称:\underline{\makebox[6cm]{}} \hfill 学分:\underline{\makebox[2cm]{}}
\end{center}
% --- 评分表格 ---
\begin{center}
\zihao{-4}
\setlength{\tabcolsep}{14pt}
\renewcommand{\arraystretch}{1.2}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|}
\hline
题号 & 一 & 二 & 三 & 四 & 五 & 六 & 七 & 八 & 九 & 总分 \\
\hline
得分 & & & & & & & & & & \\
\hline
阅卷人 & & & & & & & & & &\\
\hline
\end{tabular}
\end{center}
% --- 试题正文开始 ---
\noindent \textbf{一、选择题}
1. 本页面是第 1 页。请检查:左边距应为 2.5cm(含密封线),右边距应为 1.5cm。 (\quad)
\begin{itemize}
\item[A.] 正确
\item[B.] 错误
\end{itemize}
\vspace{10cm} % 占位符,撑开页面方便查看效果
\hfill (第 1 页 结束)
% =================================================================
% 第 2 页 (正面右侧)
% =================================================================
\newpage
\AutoSetPageLayout % <--- 刷新布局,保持左宽右窄
\noindent \textbf{二、填空题}
2. 本页面是第 2 页。虽然是偶数页,但因为是“正面右侧”,所以边距设置和第 1 页保持一致(左2.5,右1.5)。
注意:这里没有密封线。
\vspace{10cm}
\hfill (第 2 页 结束)
% =================================================================
% 第 3 页 (背面左侧) - 边距翻转
% =================================================================
\newpage
\AutoSetPageLayout % <--- 刷新布局,切换为 左1.5 右2.5
\noindent \textbf{三、简答题 (第 3 页)}
3. 本页面是第 3 页(即 P2 的背面)。
\begin{itemize}
\item 左边距应该是1.5cm (对应 P2 的右边距)。
\item 右边距应该是2.5cm (对应 P2 的左边距)。
\item 本页无密封线。
\end{itemize}
\vspace{10cm}
\hfill (第 3 页 结束)
% =================================================================
% 第 4 页 (背面右侧) - 边距翻转 + 右侧密封线
% =================================================================
\newpage
\AutoSetPageLayout % <--- 刷新布局,保持 左1.5 右2.5
\noindent \textbf{四、计算题 (第 4 页)}
4. 本页面是第 4 页(即 P1 的背面)。
\begin{itemize}
\item 左边距应该是1.5cm。
\item 右边距应该是2.5cm (装订侧)。
\item **注意**:密封线应该自动出现在页面【最右侧】。
\end{itemize}
\vspace{10cm}
\hfill (第 4 页 结束)
% =================================================================
% 第 5 页 (新循环开始:正面左侧)
% =================================================================
\newpage
\AutoSetPageLayout % <--- 刷新布局,恢复默认 左2.5 右1.5
\noindent \textbf{五、论述题 (第 5 页)}
5. 新的循环开始。本页布局逻辑同第 1 页。左边距 2.5cm,密封线在左侧。
\end{document}

Latex期末试卷模板
Sci.Fun【选题推荐】油画专业论文参考题目
QuillBot:又一个值得拥有的论文润色工具
SCI 论文重复率高要怎么避免,如何修改?
SCI论文协助发表的核心:为何润色救不了逻辑硬伤?
MBA论文中案例分析怎么写?这5步让你的分析“有深度、不跑题”
SCI论文润色一般多少钱?如何收费?
‼️汉语言文学专业‼️论文选题,六大类别(最新)
SCI论文,抄袭和剽窃的说明
Word插件技巧:创建毕业论文模板(文史类)
SCI论文的重复率一般不超过多少?
SCI润色花多少钱才正常?我踩过坑、花过冤枉钱,跟你说句大实话
Sci.Fun【选题推荐】商法学专业毕业论文参考题目
SCI英文润色软件推荐——StyleWriter
Word 排版论文总是格式乱怎么办?原因分析与解决方案
如果需要论文指导,可联系网站客服!
学员评价

推荐阅读:
- 上一篇:Sci.Fun【选题推荐】油画专业论文参考题目
- 下一篇:没有了