LaTeX作业排版

LaTeX作业排版

自己排版了一个作业的模板,可以控制答案显示与否。作业的开头添加了一段读书笔记摘抄。

文档结构

主文档同目录下有一个template目录,里面存放了模板文件template-wd.tex和个人的图标HeadingsLogo.jpg。文档结构如下:

  1. 项目主目录 
  2. ├── 主文档.tex 
  3. ├── template 
  4. │ ├── template-wd.tex 
  5. │ ├── HeadingsLogo.jpg 

字体准备

系统要安装有方正书宋简体、黑体、华文行楷。

运行引擎

我安装的是texlive2025-20250308.iso,使用的引擎是xelatex。

template-wd.tex文件内容

代码中的注释有些是我自己写的,大部分是豆包生成的。

注意:把下面代码中的&gt;换成>,把&lt;换成<号。

  1. % ============================================================================== 
  2. % 一、导入依赖包(Package):加载LaTeX所需功能模块,类似"工具库" 
  3. % ============================================================================== 
  4.  
  5. % 中文处理包:支持中文排版(含中文标题、正文、列表等),解决中文编码和显示问题 
  6. \usepackage{ctexcap}  
  7. % 颜色包:导入X11标准颜色库(如SteelBlue3、DarkSeaGreen2等预定义颜色),用于文本/背景着色 
  8. \usepackage[x11names]{xcolor} 
  9. % 页面布局包:用于自定义纸张大小、页边距 
  10. \usepackage{geometry} 
  11.  
  12. % 设置纸张类型和页边距:A4纸,上2.57cm、下2cm、左右各1.62cm(符合常见作业/试卷排版规范) 
  13. \geometry{a4paper,top=2.57cm,bottom=2cm,left=1.62cm,right=1.62cm} 
  14.  
  15. % 页眉页脚包:支持自定义页眉、页脚样式(如奇偶页不同、页码位置等) 
  16. \usepackage{fancyhdr}  
  17. % 启用fancy版式:替换LaTeX默认页眉页脚样式,后续通过fancyhead/fancyfoot配置 
  18. \pagestyle{fancy}  
  19.  
  20. % 列表环境包:提供更灵活的列表(itemize/enumerate)格式控制 
  21. \usepackage{paralist} 
  22. % 标题格式包:支持自定义章节标题样式(含显式指定标题内容) 
  23. \usepackage[explicit]{titlesec} 
  24. % 字体包:提供fourier字体族(优化英文排版效果) 
  25. \usepackage{fourier} 
  26. % 引言包:支持添加引文、题记(本文未直接使用,但预留功能) 
  27. \usepackage{epigraph} 
  28. % 绘图包:核心绘图工具,用于绘制图形、节点、自定义框体等 
  29. \usepackage{tikz}  
  30. % tikz定位库:支持相对定位(如下方、右侧等),用于排版节点(如个人信息栏) 
  31. \usetikzlibrary{positioning}  
  32. % tikz几何图形库:提供预定义几何形状(如矩形、圆形等) 
  33. \usetikzlibrary{shapes.geometric} 
  34. % 数学计算包:支持长度、数值计算(如计算半行宽、四分之一行宽) 
  35. \usepackage{calc}  
  36. \usepackage{enumitem} %设置列表环境的格式和间距 
  37. % 注释:未启用的包(保留备用) 
  38. % \usepgflibrary{qrr.shapes.openrectangle} % 开放矩形形状库 
  39. % \usepackage{longtable} % 长表格包(跨页表格) 
  40. % \usepackage{ltablex} % 结合longtable和tabularx的长表格包 
  41.  
  42. % 条件判断包:支持if-else逻辑判断(如控制答案显示/隐藏) 
  43. \usepackage{ifthen}  
  44. % 文本装饰包:支持下划线、删除线等装饰(本文用于填空题下划线) 
  45. \usepackage{ulem}  
  46. % 中文文本装饰包:支持中文换行的下划线(解决ulem包中文下划线不换行问题) 
  47. \usepackage{xeCJKfntef}  
  48. % 符号包:提供判断题的对勾(\Checkmark)和叉号(\XSolid)符号 
  49. \usepackage{bbding}  
  50.  
  51. % ============================================================================== 
  52. % 二、自定义命令与变量:封装重复功能,方便模板复用(核心为作业/试卷题型定义) 
  53. % ============================================================================== 
  54.  
  55. % 定义自定义变量(toks类型:用于存储文本内容,类似全局变量) 
  56. \newtoks \KeChengName % 存储课程名称(如"高等数学") 
  57. \newtoks \ManFen % 存储作业/试卷总分(如"100") 
  58. \newtoks \NeiRong % 存储摘抄/引言的具体内容 
  59. \newtoks \ChuChu % 存储摘抄/引言的出处(如作者、书名) 
  60.  
  61. % 定义笔记命令:\BiJi{摘抄内容}{出处},将参数存入上述变量 
  62. \newcommand{\BiJi}[2]{\NeiRong{#1}\ChuChu{#2}} 
  63.  
  64. % 定义布尔变量:控制答案是否显示(默认未定义,需通过\showanswer启用) 
  65. \newboolean{ShowAnswer} 
  66. % 显示答案命令:将ShowAnswer设为true,后续题型会显示答案 
  67. \newcommand{\showanswer}{\setboolean{ShowAnswer}{true}} 
  68.  
  69. % 注释:未启用的命令(保留备用) 
  70. % \newcommand{cmd}{def} 
  71.  
  72. % ------------------------------ 
  73. % 1. 填空题命令:\tk{答案} 
  74. % 功能:根据ShowAnswer状态,显示"带答案的下划线"或"空白下划线" 
  75. % ------------------------------ 
  76. \newcommand{\tk}[1]{ 
  77. \ifthenelse{\boolean{ShowAnswer}} % 判断是否显示答案 
  78. {\CJKunderline*{\quad#1 \quad}} % 显示答案:中文下划线包裹答案(前后加空格留白) 
  79. {\CJKunderline*[hidden]{\quad #1\quad}} % 隐藏答案:空白下划线(hidden参数隐藏内容) 
  80. } 
  81.  
  82. % ------------------------------ 
  83. % 2. 选择题命令:\xx{A选项}{B选项}{C选项}{D选项} 
  84. % 功能:自动排版选择题选项(单栏/双栏/四栏自适应),避免选项排版混乱 
  85. % ------------------------------ 
  86. \newlength{\la} 
  87. \newlength{\lb} 
  88. \newlength{\lc} 
  89. \newlength{\ld} 
  90. \newlength{\lee} 
  91. \newlength{\lf} 
  92. \newlength{\lhalf} 
  93. \newlength{\lquarter} 
  94. \newlength{\lmax} 
  95. \newcommand{\xx}[4]{\\[.5pt]% 换行并留0.5pt垂直间距 
  96. % 计算每个选项的宽度(含"A、""B、"前缀和后续空格) 
  97. \settowidth{\la}{A、#1~~~} % \la = A选项总宽度(~~~为空格占位) 
  98. \settowidth{\lb}{B、#2~~~} % \lb = B选项总宽度 
  99. \settowidth{\lc}{C、#3~~~} % \lc = C选项总宽度 
  100. \settowidth{\ld}{D、#4~~~} % \ld = D选项总宽度 
  101. % 找出四个选项中的最大宽度(用于自适应排版) 
  102. \ifthenelse{\lengthtest{\la &lt; \lb}} 
  103. {\setlength{\lmax}{\la}} % 若A比B宽,lmax=A的宽度 
  104. {\setlength{\lmax}{\lb}} % 否则lmax=B的宽度 
  105. \ifthenelse{\lengthtest{\lmax &gt; \lc}}  
  106. {\setlength{\lmax}{\lc}} % 若当前lmax &gt; C的宽度,更新为C的宽度 
  107. {}  
  108. \ifthenelse{\lengthtest{\lmax &gt; \ld}}  
  109. {\setlength{\lmax}{\ld}} % 若当前lmax &gt; D的宽度,更新为D的宽度 
  110. {}  
  111. % 定义辅助宽度:半行宽、四分之一行宽(用于分栏排版) 
  112. \setlength{\lhalf}{0.5\linewidth}  
  113. \setlength{\lquarter}{0.25\linewidth} 
  114. % 自适应排版逻辑:根据最大选项宽度选择排版方式 
  115. \ifthenelse{\lengthtest{\lmax &lt; \lhalf}} % 若最大选项宽超过半行 → 单栏排版 
  116. {\noindent{}A、#1 \\ B、#2 \\ C、#3 \\ D、#4 } % 每个选项占一行 
  117. {  
  118. \ifthenelse{\lengthtest{\lmax &lt; \lquarter}} % 若最大选项宽超过四分之一行 → 双栏排版 
  119. {\noindent 
  120. \makebox[\lhalf][l]{A、#1~~~}% 左栏:A选项(占半行宽,左对齐) 
  121. \makebox[\lhalf][l]{B、#2~~~}\\% 右栏:B选项,换行 
  122. \makebox[\lhalf][l]{C、#3~~~}% 左栏:C选项 
  123. \makebox[\lhalf][l]{D、#4~~~}% 右栏:D选项 
  124. }%  
  125. { % 否则 → 四栏排版(每个选项占四分之一行宽) 
  126. \noindent\makebox[\lquarter][l]{A、#1~~~}%  
  127. \makebox[\lquarter][l]{B、#2~~~}%  
  128. \makebox[\lquarter][l]{C、#3~~~}%  
  129. \makebox[\lquarter][l]{D、#4~~~}% 
  130. } 
  131. } 
  132. } 
  133.  
  134. % 选择题答案命令:\xz{答案}(如\xz{A}) 
  135. % 功能:显示答案括号,根据ShowAnswer状态显示/隐藏答案 
  136. \newcommand{\xz}[1]{ 
  137. \ifthenelse{\boolean{ShowAnswer}} 
  138. {(\quad#1 \quad)} % 显示答案:括号内填答案(前后空格留白) 
  139. {(\quad \hphantom{#1}\quad)} % 隐藏答案:括号内留与答案等宽的空白(\hphantom占位) 
  140. } 
  141.  
  142. % ------------------------------ 
  143. % 3. 判断题命令:\pd{答案}(答案为t=对,非t=错) 
  144. % 功能:显示题目后接"……( )",根据ShowAnswer状态显示对勾/叉号 
  145. % ------------------------------ 
  146. \newcommand{\pd}[1]{ 
  147. \nolinebreak % 禁止换行(避免"……"和括号分离) 
  148. \dotfill % 点线填充(从题目末尾延伸到括号,美观排版) 
  149. \mbox{ % 固定宽度盒子(避免符号错位) 
  150. \raisebox{-1.8pt}{$\cdots$} % 向下微调省略号位置(与括号对齐) 
  151. ( 
  152. \makebox[1 cm][c]{ % 1cm宽的居中盒子(用于容纳对勾/叉号) 
  153. \ifthenelse{\boolean{ShowAnswer}} % 判断是否显示答案 
  154. {\ifthenelse{\equal{#1}{t}} % 若答案为t(true) 
  155. {\Checkmark} % 显示对勾(来自bbding包) 
  156. {\XSolid} % 否则显示叉号(来自bbding包) 
  157. } 
  158. {} % 不显示答案时,盒子为空 
  159. } 
  160. ) 
  161. } 
  162. } 
  163.  
  164. % ------------------------------ 
  165. % 4. 名词解释题命令:\mc{答案} 
  166. % 功能:显示空白下划线,根据ShowAnswer状态显示/隐藏答案(与问答题共用逻辑) 
  167. % ------------------------------ 
  168. \newcommand{\mc}[1]{ 
  169. \par % 新段落(避免与上一题粘连) 
  170. \ifthenelse{\boolean{ShowAnswer}} 
  171. {\CJKunderline*[format=\color{white}]{\quad#1 \quad}} % 显示答案:白色下划线(答案可见) 
  172. {\CJKunderline*[hidden,format=\color{white}]{#1 \\ #1}} % 隐藏答案:空白下划线(hidden参数) 
  173. } 
  174.  
  175. % ------------------------------ 
  176. % 5. 问答题命令:\wenda{答案} 
  177. % 功能:直接复用名词解释题的逻辑(两者排版风格一致,仅题型名称不同) 
  178. % ------------------------------ 
  179. \newcommand{\wenda}[1]{\mc{#1}} 
  180.  
  181. % ------------------------------ 
  182. % 自定义彩色框环境:mycolorbox[背景色]{内容} 
  183. % 功能:用于包裹重要内容(如摘抄、提示),默认背景色为DarkSeaGreen2 
  184. % ------------------------------ 
  185. \newsavebox{\boxcontent} % 定义存储框内容的盒子 
  186. \newenvironment{mycolorbox}[1][DarkSeaGreen2] % 带可选参数(默认颜色)的环境 
  187. { 
  188. \tikzstyle{back} = [rectangle,fill=#1,rounded corners=5pt] % 定义tikz节点样式:矩形、填充色、圆角5pt 
  189.  
  190. \begin{lrbox}{\boxcontent} % 开始录制盒子内容(将后续内容存入\boxcontent) 
  191. \begin{minipage}{\linewidth} % 最小页面宽度:整行宽(避免内容溢出) 
  192. } 
  193. { 
  194. \end{minipage} % 结束最小页面 
  195. \end{lrbox} % 结束录制盒子内容 
  196.  
  197. \begin{figure}[ht] % 浮动体环境(h=当前位置,t=顶部,优先当前位置) 
  198. \centering % 内容居中 
  199. \begin{tikzpicture} 
  200. \node[back]{\usebox{\boxcontent}}; % 绘制tikz节点,内容为录制的盒子 
  201. \end{tikzpicture} 
  202. \end{figure} 
  203. } 
  204.  
  205. % ============================================================================== 
  206. % 三、页眉页脚样式配置:奇偶页不同,含logo、课程名、任务名、页码 
  207. % ============================================================================== 
  208.  
  209. % 定义logo盒子:存储页眉logo图片(图片路径为template/HeadingsLogo,宽高0.73cm) 
  210. \newsavebox{\mylogo} 
  211. \sbox{\mylogo}{\smash{\includegraphics[width=0.73cm,height=0.73cm]{template/HeadingsLogo}}} 
  212. % \smash:取消图片的垂直占位(避免影响页眉高度) 
  213.  
  214. % 开始自定义页眉(\makeatletter允许使用@开头的内部命令) 
  215. \makeatletter  
  216. \newcommand{\myheadings}{ 
  217. \fancyhead[OL]{% 奇数页(Odd)左边(Left)页眉 
  218. \usebox{\mylogo} % 插入logo 
  219. \textcolor{SteelBlue3}{{\zihao{5}\the \KeChengName}} % 蓝色(SteelBlue3)5号字显示课程名 
  220. } 
  221. \fancyhead[OR,EL]{% 奇数页右边(Right)+ 偶数页(Even)左边(Left)页眉 
  222. \textcolor{SteelBlue3}{{\zihao{5}\@title}}% 蓝色5号字显示任务名(即文档的\title内容) 
  223. } 
  224. \fancyhead[ER]{% 偶数页右边(Right)页眉 
  225. \textcolor{SteelBlue3}{{\zihao{5}\the \KeChengName}} % 蓝色5号字显示课程名 
  226. \usebox{\mylogo} % 插入logo(与奇数页左右位置相反) 
  227. } 
  228. } 
  229. \makeatother % 结束自定义内部命令 
  230.  
  231. % 注释:取消页眉分隔线(默认有一条横线,如需显示可删除此行) 
  232. % \renewcommand\headrulewidth{0pt} 
  233.  
  234. % 定义页脚样式 
  235. \newcommand{\myfoot}{% 
  236. \fancyfoot[OR,EL]{\zihao{-5}\thepage}% 奇数页右边 + 偶数页左边:小5号字显示页码 
  237. } 
  238.  
  239. \fancyhf{}% 清空默认页眉页脚(避免冲突) 
  240. \myheadings% 启用自定义页眉 
  241. \myfoot% 启用自定义页脚 
  242.  
  243. % 重定义plain版式(如章节首页默认使用plain版式,需同步页眉页脚样式) 
  244. \fancypagestyle{plain}{%  
  245. \fancyhf{}% 清空plain版式的默认页眉页脚 
  246. \pagestyle{fancy} % 应用fancy版式 
  247. \myfoot% 保留页码(章节首页通常只显示页码,不显示页眉) 
  248. } 
  249.  
  250. % 注释:未启用的标题导入(预留功能,可单独将标题存入其他文件导入) 
  251. % \input{template/xelatex/Title} 
  252.  
  253. % ============================================================================== 
  254. % 四、标题样式配置:自定义文档标题(含摘抄、任务名、个人信息栏) 
  255. % ============================================================================== 
  256.  
  257. \makeatletter 
  258. \renewcommand{\maketitle}{ % 重定义\maketitle命令(默认标题样式替换为自定义样式) 
  259. \begin{figure} % 浮动体环境(确保标题区域整体居中且不被拆分) 
  260. \centering % 内容居中 
  261.  
  262. \begin{tikzpicture} % 用tikz绘制标题区域(含背景框、个人信息) 
  263. % 定义个人信息节点样式:宽度25%textwidth,无内边距 
  264. \tikzstyle{personalInfo} = [text width=0.25\textwidth,inner sep=0pt] 
  265.  
  266. % 节点1:摘抄背景框(浅蓝色LightBlue3,圆角10pt,整行宽-20pt) 
  267. \node[ 
  268. anchor=west, % 锚点:西(左侧) 
  269. rectangle, % 形状:矩形 
  270. rounded corners = 10pt, % 圆角10pt 
  271. text width=\textwidth-20pt, % 文本宽度:整行宽减20pt(留边距) 
  272. inner sep=10pt, % 内边距10pt(内容与边框间距) 
  273. fill=LightBlue3 % 背景色:浅蓝色LightBlue3 
  274. ] (sectionBackground) { 
  275. \bfseries\zihao{-3}\kaishu\the\NeiRong % 加粗、小三号、楷体显示摘抄内容 
  276. \\ % 换行 
  277. \rightline{\textemdash\the\ChuChu} % 右对齐显示出处(前加破折号) 
  278. }; 
  279.  
  280. % 节点2:任务标题(在摘抄框下方0.5cm处,加粗、二号字显示\@title内容) 
  281. \node[ 
  282. text width=\textwidth, % 文本宽度:整行宽 
  283. text centered, % 文本居中 
  284. below = 0.5cm of sectionBackground % 位置:摘抄框下方0.5cm 
  285. ](title){\bfseries\zihao{2}\@title}; 
  286.  
  287. % 定义占位宽度:25%textwidth - 3em(用于个人信息下划线长度) 
  288. \newlength{\phantomlength} 
  289. \setlength{\phantomlength}{0.25\textwidth - 3em} 
  290.  
  291. % 节点3:班级(标题下方左侧,25%宽度,下划线占位) 
  292. \node[personalInfo,below right= 0cm of title.south west,yshift=-1cm,](team){ 
  293. 班级:\underline{\hbox to\phantomlength{}} % \underline:下划线;\hbox to:固定宽度占位 
  294. }; 
  295.  
  296. % 节点4:姓名(班级右侧,同宽) 
  297. \setlength{\phantomlength}{0.25\textwidth - 3em} 
  298. \node[personalInfo,right=0cm of team](name){ 
  299. 姓名:\underline{\hbox to\phantomlength{}} 
  300. }; 
  301.  
  302. % 节点5:满分(姓名右侧,同宽,显示\ManFen变量内容) 
  303. \setlength{\phantomlength}{0.25\textwidth - 3em} 
  304. \node[personalInfo,right=0cm of name](member){ 
  305. 满分:\underline{\makebox[\phantomlength]{\the\ManFen}} % \makebox:固定宽度显示总分 
  306. }; 
  307.  
  308. % 节点6:得分(满分右侧,同宽,下划线占位) 
  309. \setlength{\phantomlength}{0.25\textwidth - 3em} 
  310. \node[personalInfo,right=0cm of member](date){ 
  311. 得分:\underline{\hbox to\phantomlength{}} 
  312. }; 
  313. \end{tikzpicture}% 
  314. \end{figure} 
  315. \vspace{40pt} % 标题区域下方留40pt间距(避免与正文粘连) 
  316. } 
  317. \makeatother 
  318.  
  319. % ============================================================================== 
  320. % 五、章节标题与列表环境配置:优化章节和列表的排版样式 
  321. % ============================================================================== 
  322.  
  323. % 中文章节标题配置(ctexset用于配置ctex包的中文排版参数) 
  324. \ctexset{ 
  325. section = { 
  326. name = {,、}, % 章节名称与编号分隔符(如"1、"而非默认"第1章") 
  327. number = {\chinese{section}}, % 章节编号格式:中文数字(一、二、三...) 
  328. format ={\raggedright\bfseries} % 章节标题格式:左对齐、加粗 
  329. } 
  330. } 
  331.  
  332. % 章节标题间距:左间距0pt,上间距5pt,下间距5pt(紧凑排版,避免冗余空间) 
  333. \titlespacing{\section}{0pt}{5pt}{5pt} 
  334.  
  335. % 列表环境配置:取消列表项之间的垂直间距(nosep=no space,使列表更紧凑) 
  336. \setlist{nosep}  
  337.  
  338. % ============================================================================== 
  339. % 六、默认字体配置:设置英文和中文的默认字体(确保排版美观) 
  340. % ============================================================================== 
  341.  
  342. % 设置默认英文罗马字体:Times New Roman(常用正式文档字体,路径为times.ttf) 
  343. \setmainfont{times.ttf}  
  344. % 设置默认中文罗马字体: 
  345. % - 主体字体:方正书宋简体(清晰易读,适合正文) 
  346. % - 加粗字体:黑体(中文加粗常用) 
  347. % - 斜体字体:华文行楷(中文斜体替代,更美观) 
  348. \setCJKmainfont[BoldFont={simhei.ttf},ItalicFont={STXINGKA.TTF}]{方正书宋简体.ttf}  

主文档使用

主文档的结构如下:

  1. \documentclass[twoside]{article} 
  2. \input{template/template-wd} 
  3. \usepackage{layout} 
  4. \KeChengName{《LaTeX排版》课程} 
  5. \ManFen{43} 
  6. \title{第一次课课后作业} 
  7. \BiJi{轻灭世故,远离俗事俗务,虽与庸庸碌碌者不同,而其离道,则没有什么两样。}{《王守仁评传》} 
  8. %\showanswer 
  9. \begin{document} 
  10.  
  11. \maketitle 
  12. \section{填空题(每题1分,共5分)} 
  13. \begin{enumerate} 
  14. \item 这是一个很短的填空题示例,题目中有\tk{答案1}和\tk{答案2}两个空。 
  15. \item 这是一个中等中等中等中等中等中等中等中等中等中等中等长度的填空题示例,题目中有\tk{中等中等中等答案}和\tk{中等中等中等答案}两个空。 
  16. \item 这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长填空题示例,题目中有\tk{答案1}和\tk{答案2}两个空。 
  17. \item 这是一个填空题示例,题目中有\tk{答案1}和\tk{答案2}两个空。 
  18. \item 这是一个填空题示例,题目中有\tk{答案1}和\tk{答案2}两个空。 
  19. \end{enumerate} 
  20. \section{单项选择题(每题1分,共5分)} 
  21. \begin{enumerate} 
  22. \item 这是一个单选题,选项很短\xz{A}。\xx{选项1}{选项2}{选项3}{选项4} 
  23. \item \xz{B}这是一个单选题,选项中等\xz{A}。\xx{选项选项选项选项选项选项1}{选项选项选项选项选项选项2}{选项选项选项选项选项选项3}{选项选项选项选项选项选项4} 
  24. \item 这是一个单选题\xz{A},选项较长。\xx{选项选项选项选项选项选项选项选项选项选项选项选项选项1}{选项选项选项选项选项选项选项选项选项选项选项选项选项2}{选项选项选项选项选项选项选项选项选项选项选项选项选项3}{选项选项选项选项选项选项选项选项选项选项选项选项选项4} 
  25. \item 这是一个单选题\xz{A},选项很长。\xx{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项1}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项2}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项3}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项4} 
  26. \item 这是一个单选题\xz{A},选项长短不一。\xx{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项1}{选项2}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项3}{选项4} 
  27. \end{enumerate} 
  28. \section{多项选择题(每题2分,共10分)} 
  29. \begin{enumerate} 
  30. \item 这是一个多选题,选项很短\xz{ABCD}。\xx{选项1}{选项2}{选项3}{选项4} 
  31. \item \xz{B}这是一个多选题,选项中等\xz{ABCD}。\xx{选项选项选项选项选项选项1}{选项选项选项选项选项选项2}{选项选项选项选项选项选项3}{选项选项选项选项选项选项4} 
  32. \item 这是一个多选题\xz{ABCD},选项较长。\xx{选项选项选项选项选项选项选项选项选项选项选项选项选项1}{选项选项选项选项选项选项选项选项选项选项选项选项选项2}{选项选项选项选项选项选项选项选项选项选项选项选项选项3}{选项选项选项选项选项选项选项选项选项选项选项选项选项4} 
  33. \item 这是一个多选题\xz{ABCD},选项很长。\xx{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项1}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项2}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项3}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项4} 
  34. \item 这是一个多选题\xz{ABCD},选项长短不一。\xx{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项1}{选项2}{选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项选项3}{选项4} 
  35. \end{enumerate} 
  36. \section{判断题(每题1分,共3分)} 
  37. \begin{enumerate} 
  38. \item 这是一个判断题,题目较短。\pd{f} 
  39. \item 这是一个判断题,题目中等中等中等中等中等中等中等中等中等中等中等中等中等中等中等中等。\pd{f} 
  40. \item 这是一个判断题,题目较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长较长。\pd{f} 
  41. \item 这是一个判断题,题目很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长。\pd{t} 
  42. \end{enumerate} 
  43. \section{名词解释题(每题4分,共8分)} 
  44. \begin{enumerate} 
  45. \item 名词解释题目1 
  46. \wenda{解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释} 
  47. \item 名词解释题目2 
  48. \wenda{解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释解释} 
  49. \end{enumerate} 
  50. \section{简答题(每题6分,共12分)} 
  51. \begin{enumerate} 
  52. \item 简答1? 
  53. \wenda{简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答} 
  54. \item 简答2? 
  55. \wenda{简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答简答} 
  56. \end{enumerate} 
  57. \end{document} 

无答案生成的效果如下:
enter description here

enter description here
enter description here

enter description here
enter description here

取消对\showanswer的注释,即可排版有答案的版本。效果如下:
enter description here

enter description here
enter description here

enter description here
enter description here

posted @ 2025-11-28 00:56  南宫二狗  阅读(23)  评论(0)    收藏  举报