--- name: test-tex description: 通过回归测试框架编译并查看 TeX 文件的渲染效果,避免在工作目录生成多余 PDF --- # 测试 TeX 文件 当需要编译并查看某个 TeX 文件的渲染效果时,**必须通过回归测试框架来执行**,避免在工作目录中生成多余的 PDF 文件。 ## 参数 - `$ARGUMENTS`:要测试的 tex 文件路径或名称(可选,如果不提供则根据上下文判断) ## 工作流程 ### 1. 确定测试文件 - **已有文件**:如果 `test/regression_test/tex/` 下已存在该文件,直接使用 - **临时测试**:如果需要创建临时 tex 文件,将其写入 `test/regression_test/tex/` 目录下,文件名以 `_tmp_` 前缀标记(如 `_tmp_test.tex`) ### 2. 编译并生成 PNG ```bash python3 test/regression_test.py check test/regression_test/tex/<文件名>.tex ``` 这会: - 编译 TeX 文件生成 PDF - 将 PDF 所有页面转换为 PNG(300dpi) - PNG 保存在 `test/regression_test/current/` 目录下 - 如果有基线则进行对比,没有基线也会生成 PNG ### 3. 查看渲染结果 使用 Read 工具读取生成的 PNG 文件来查看效果: ``` test/regression_test/current/<文件名>-1.png # 第1页 test/regression_test/current/<文件名>-2.png # 第2页 ... ``` ### 4. 清理临时文件 测试完成后,**必须删除临时生成的 tex 文件**(以 `_tmp_` 前缀标记的文件): ```bash rm test/regression_test/tex/_tmp_*.tex ``` `test/regression_test/tex/` 目录下只保留需要**长期持续回归验证**的测试文件。 ## 注意事项 - **禁止**在其他目录中直接运行 `lualatex` 编译生成 PDF - **禁止**使用 `pdftoppm` 等工具手动转换,统一由回归测试框架处理 - 临时文件用 `_tmp_` 前缀,便于识别和清理 - 如果测试结果正确且需要长期保留,去掉 `_tmp_` 前缀并用 `save` 保存基线