% !TeX root = ../exam-zh-doc-basic.tex \section{已知问题与限制} 本章只保留可以从当前仓库代码直接确认的限制和使用边界,帮助你避开容易踩坑的地方。 \subsection{项目状态} \subsubsection{项目已停止维护} 仓库的 \file{README.md} 已明确说明:\cls{exam-zh} 自 2024 年 4 月 26 日起停止维护。 \textbf{这意味着:} \begin{itemize} \item 文档和实现不一定会继续同步更新 \item 新需求未必会加入 \item 使用时应优先依赖仓库现有代码和示例,而不是外部二手说明 \end{itemize} \subsection{编译环境限制} \subsubsection{必须使用 \XeLaTeX{}} \cls{exam-zh} 在类文件中直接检查编译引擎,只接受 \XeLaTeX{}。 \textbf{因此:} \begin{itemize} \item 不能使用 \pdfLaTeX{} \item 不能使用 \LuaLaTeX{} \item 在线平台也需要手动把编译器切到 \XeLaTeX{} \end{itemize} \subsubsection{\TeX{} Live 版本要求} 类文件中还检查了 \LaTeX{} 内核版本,要求至少为 \TeX{} Live 2020 对应的版本。 \textbf{建议:} \begin{itemize} \item 使用 \TeX{} Live 2020 或更新版本 \item 遇到奇怪的键值报错时,先确认发行版是否过旧 \end{itemize} \subsection{图文排版边界} \subsubsection{优先使用仓库自带的图文命令} 仓库里真正实现并维护的是 |\textfigure|、|multifigures| 和相关模块。 \textbf{建议:} \begin{itemize} \item 一段文字配一张图,优先用 |\textfigure| \item 多张题图并排,优先用 |multifigures| \item 只需要简单插图时,直接用 |\includegraphics| \end{itemize} \subsubsection{wrapstuff 只适合简单场景} \file{exam-zh-textfigure.sty} 会在本地存在 \file{wrapstuff.sty} 时自动加载它,但仓库本身没有提供独立封装接口。 \textbf{使用时要注意:} \begin{itemize} \item 复杂嵌套列表里不要依赖 |wrapstuff| \item |choices| 前后不要混用复杂绕排 \item 碰到错位时,优先退回 |\textfigure|、|multifigures| 或 |minipage| \end{itemize} \subsection{填空题边界} \subsubsection{长答案会自动换行,星号用于强制换行} 普通 |\fillin| 在显示答案且内容超过当前行宽时会自动换行;|\fillin*| 保留为强制采用可换行排版的写法。 \begin{latexcode} 短答案:\fillin[42] 长答案:\fillin[这是一个比较长的答案内容,需要换行显示] 强制可换行:\fillin*[短答案] \end{latexcode} \subsubsection{答案中有未配对方括号时要加保护} |\fillin| 的答案本身放在可选参数里,所以像区间这样的内容需要用大括号包起来: \begin{latexcode} % 错误 \fillin[[2,3)] % 正确 \fillin[{$[2,3)$}] \end{latexcode} \subsubsection{数学答案仍然要自己进入数学模式} |\fillin| 不会自动把答案切换成数学模式,数学内容仍需写成 |\fillin[$x^2+1$]| 这样的形式。 \subsection{当前不支持的功能} \subsubsection{选择题和填空题答案自动后置} 当前代码只为 |solution| 环境实现了 |show-move| 这种“移到文末”的模式。 \textbf{这意味着:} \begin{itemize} \item |\paren| 的答案不能自动收集到文末 \item |\fillin| 的答案不能自动收集到文末 \item 如果需要单独答案页,只能手动整理 \end{itemize} \subsubsection{按大小写分别控制向量箭头样式} 仓库里没有提供“根据大写/小写字母分别切换不同箭头长度”的内置接口。 \subsubsection{Beamer 演示文稿支持} \cls{exam-zh} 通过 |\LoadClass{ctexbook}| 建立在书籍类上,不是演示文稿类,因此不能直接当作 |beamer| 模板使用。 \subsection{页面设置边界} \subsubsection{内置纸张预设只有 A4 和 A3} 仓库里 |page/size| 只定义了 |a4paper| 和 |a3paper| 两个值: \begin{latexcode} \examsetup{ page/size = a4paper } \end{latexcode} 如果你要用其他尺寸,就需要自己写 |\geometry| 设置。 \subsubsection{自定义页边距要放在 \textbackslash AtEndPreamble} 因为类文件会在导言区末尾统一设置 |\geometry|,所以用户自己的页边距调整也应放进 |\AtEndPreamble|,否则容易被默认值覆盖。 \subsection{排版现象} \subsubsection{自动换页后的垂直间距可能不完全均匀} 这类现象主要来自 \LaTeX{} 自己的分页与底对齐机制,不是 \cls{exam-zh} 单独提供的接口。 \textbf{常见处理方式:} \begin{itemize} \item 手动调整内容长度 \item 在合适位置 |\newpage| \item 必要时少量使用 |\vspace| 微调 \end{itemize} \subsection{获取帮助} \subsubsection{优先看什么} \begin{enumerate} \item 先看仓库里的示例文件 \item 再看完整文档 \file{exam-zh-doc.pdf} \item 最后再去 Issues 或群里提问 \end{enumerate} \subsubsection{提问时要提供什么} \begin{itemize} \item 操作系统和 \TeX{} 发行版版本 \item 一份最小可复现示例 \item 完整错误信息 \item 期望效果 \end{itemize} \subsubsection{社区渠道} \begin{itemize} \item GitHub:\url{https://github.com/xkwxdyy/exam-zh/issues} \item Gitee:\url{https://gitee.com/xkwxdyy/exam-zh/issues} \item QQ 群:652500180 \end{itemize}