张柯论文指导

张柯论文指导考试资料
当前位置:张柯论文指导 > 毕业论文答疑 >

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}

如果需要论文指导,可联系网站客服!

学员评价

随机文章
最新文章
长按复制 bbapay 加微信!