--- name: document-tools description: 创建或编译 LaTeX 项目,处理 Word、PDF、表格和演示文稿时使用。先核查本机工具有没有,缺工具就明说,绝不假装产出了文件。 --- # document-tools:文档处理 ## 何时用 用户要做 LaTeX 编译、Word(.docx)读写、PDF 读写、表格 (.xlsx / .csv)处理、演示文稿(.pptx)制作时用。 ## 何时不用 - 只是读一段纯文本、改代码、写 Markdown:不用本技能, 直接用文件工具。 - 用户没说要产出文档,只是问文档里写了什么:先读文件, 不用走编译流程。 ## 工具前提(先核查,不满足就明说) 在工作区 shell 里先查,缺什么就报什么,不要跳过核查直接写: - LaTeX:`latexmk` / `pdflatex` / `xelatex` 是否存在。 - 通用转换:`pandoc` 是否存在。 - Python 库:`python3 -c "import docx, openpyxl, pptx, fitz"`, 哪个 import 失败就说明哪个缺失。 - PDF 阅读:`pdftotext` 或 Python 的 `fitz` / `pypdf`。 核查命令本身不产出文件,核查失败时回答里写清“缺 XX, 本环境无法编译 / 无法处理该格式”,并给出可替代的方案 (例如只产出 Markdown / CSV),不要伪造一个文件路径。 ## 步骤 1. 先确认输入和输出:输入文件路径、输出格式、输出路径、 语言(中文 LaTeX 优先 xelatex + CJK 字体,缺字体先报)。 2. 选最小工具链:能用 pandoc 就不用手写 LaTeX 模板; 能用 Python 库读写就不用先转格式。 3. 编译 / 生成后必须验证产出: - 文件确实存在,大小不是 0。 - LaTeX:编译日志无致命错误(error / Emergency stop), 页数符合预期。 - docx / xlsx / pptx:用对应库重新打开一次,能读回 刚才写的内容(标题、表头、页数/幻灯片数)。 - PDF:能用 `pdftotext` 或 `fitz` 读回文本,确认不是空白页。 4. 验证失败时不要把半成品当成品交,先贴出报错,再修。 ## 输出要求 - 交代产出文件的真实路径、页数 / 幻灯片数 / 表格行数, 以及用哪条命令验证过。 - 不要编造页数、字数、文件大小;写不出的就写“未验证”。 - 涉及用户数据的文件不要写到工作区以外,不要上传到 第三方服务,除非用户明确要求。