# @fffangchenghao/dsh-latex-look 中文文档

规范地址：https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/

版本：0\.4\.2
npm 元数据更新时间：2026-10-29T05:00:25.297Z
中文译文更新时间：2026-11-14T15:28:23.998Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fffangchenghao/dsh-latex-look
原文对照：https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/?lang=original
项目主页：https://github.com/fangchenghao/latex-look#readme
源码仓库：https://github.com/fangchenghao/latex-look

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：224 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：0 个
- peer 依赖：@deepseek-ai/dsh-tools \*
- 首次发布：2026-10-25T14:42:53.615Z
- 最新版本发布：2026-10-29T05:00:25.079Z
- 近 30 天下载量：2714（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

查看 LaTeX 页面的外观 : 编译, 将页面转换成图像, 映射出一个点或文本锚地回到源行上, 并将页面与上一个构建相对比 。 CLI,MCP服务器和DSH插件在一个核心之上.

## 安装

```sh
npm install @fffangchenghao/dsh-latex-look
```

也可以使用：`pnpm add @fffangchenghao/dsh-latex-look`、`yarn add @fffangchenghao/dsh-latex-look`、`bun add @fffangchenghao/dsh-latex-look`

## README

# latex-look — 让 Agent 真正「看见」你的 LaTeX

[![npm](https://img.shields.io/npm/v/@fffangchenghao%2Fdsh-latex-look?color=blue)](https://www.npmjs.com/package/@fffangchenghao/dsh-latex-look) [![license](https://img.shields.io/badge/license-MIT-blue)](https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/LICENSE) [English](https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/README.md) · **简体中文**

![左：编译零错误，但页面是错的。右：五句话之后的同一页](https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/docs/before-after.png)

_左边编译**零错误**：标题上下各一条横线、表格是带竖线的网格、长链接冲出版心、 图顶到了页边。右边是五句人话之后的同一页。可直接复现：[`examples/broken-layout`](https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/examples/broken-layout)。_

* * *

## 它解决什么问题

一个只会读 `.tex` 源码的 Agent 是**瞎的**。

文档可以编译零错误、打开正常，但读者一眼就看出不对：这页最上面多了一条横线、这个表格丑、 这段文字压到了页边、图太大了、两页之间空了一大块、图号怎么从 3-4 跳回 3-3 了…… 这些**没有一条是编译错误**，`grep` 也搜不到——那条横线根本不在源码里，它是宏包画的。

这类需求你只能这样表达：

> 「把这一页最上面的横线去掉」「这个表格改成三线表」「图小一点」 「这两页之间空太多了，填满」「图号顺序不对」

`latex_look` 就是让 Agent 接得住这些话：**编译 → 渲染成图 → 定位到源码行 → 改完再比一次**， 一个调用做完。Agent 于是能进入 `看 → 诊断 → 改 → 再看 → 确认` 的循环，而不是改完就说「应该好了」。

## 三个能力，一个动词

| 你说的话 | 它做什么 |
| --- | --- |
| 「这页最上方的横线去掉」 | 渲染该页，把那条线**定位到源码行**（`fancyhdr` 的 `\headrulewidth`，或某个 `\rule`） |
| 「表格改成三线表」 | 改完渲染，用**像素 diff** 告诉你只动了表格、没碰正文 |
| 「图号顺序不对」 | 扫全书**阅读顺序**，直接列出 `图 3-4 (p63) → 图 3-3 (p64)` |
| 「这次改动有没有弄坏别处」 | 全书 `audit`：只报**这一次**新造成的版面问题，并点名是哪个图把页面顶走的 |

```bash
latex-look main.tex --page 62                    # 渲染第 62 页
latex-look main.tex --page 62 --at "图 3-1"       # 定位到源码行
latex-look main.tex --page 62 --compare           # 与上一版并排对比
latex-look main.tex --page 1  --sequence 图       # 检查图号阅读顺序
latex-look main.tex --page 1  --audit             # 全书版面回归审计
```

## 这不是「AI 帮你写 LaTeX」

写 LaTeX 的工具已经很多了（生成、补全、编译服务）。这个工具管的是**验收**： 改完之后，那份 PDF 到底对不对。

这也是为什么它值得单独存在——**编译器只保证「不是错误」，不保证「好看」**。

## 真实战绩

用一本 215 页的中文技术书（6 章、163 张图、129 个公式、术语表、目录）当靶子， 读者只能看 PDF、逐像素量、拒绝「我觉得没问题」：

-   编译错误 **0**，Overfull hbox **0**
-   163 个图题全部按阅读顺序，**0 处倒序**
-   129 个公式编号分章连续 `(1-1)` … `(6-1)`
-   9 处「页面下方空一大块」全部压到 ≤56 mm
-   六章首页首行墨迹**全部 17.0%** 页高——没有任何一章被图占了章名位置

完整记录（含每个缺陷的成因与修法）：[CASE-STUDY.md](https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/CASE-STUDY.md)。

## 安装

需要 Node ≥ 18、TeX 引擎（`xelatex`/`lualatex`/`pdflatex`/`latexmk` 或 tectonic）、 `synctex`、`ghostscript`。

DeepSeek Harness 插件形态：

```
plugin_manager  action: install_bundle  target: @fffangchenghao/dsh-latex-look
```

命令行形态：

```bash
npm i -g @fffangchenghao/dsh-latex-look
```

MCP 形态（Claude Desktop / Cursor / Codex 等任何支持 MCP 的客户端）：

```json
{
  "mcpServers": {
    "latex-look": {
      "command": "npx",
      "args": ["-y", "@fffangchenghao/dsh-latex-look", "mcp"]
    }
  }
}
```

放在 Claude Desktop 的 `claude_desktop_config.json`、Cursor 的 `~/.cursor/mcp.json`， 或在 `~/.codex/config.toml` 里写成：

```toml
[mcp_servers.latex-look]
command = "npx"
args = ["-y", "@fffangchenghao/dsh-latex-look", "mcp"]
```

三种形态共用一个 `lib/core.mjs`：同样的测量、同样的措辞、同样的坑。它只暴露一个工具 `latex_look`，参数与插件完全一致；页面以图片内容块返回，模型直接看见那一页。 已收录进官方 [MCP Registry](https://registry.modelcontextprotocol.io/)，名称 `io.github.fangchenghao/latex-look`——客户端可以直接按名字搜索安装；也已提交 [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)。

Agent 的「眼睛」由工具提供；[`SKILL.md`](https://npmcn.com/package/%40fffangchenghao/dsh-latex-look/SKILL.md) 提供「看到症状之后怎么改」的知识—— 一份**症状 → 成因 → 修法**的手册，例如「读者说的那条横线通常是 `\pagestyle`/`fancyhdr`， 不是某个 `\hline`」。

## 更新

插件每天在后台查一次 npm，有新版本时在**一次**工具回复里加一行提示；离线时完全静默。

```bash
latex-look --version
latex-look --check-update
```

## 许可

MIT。

## 常见问题

### @fffangchenghao/dsh-latex-look 是什么？

查看 LaTeX 页面的外观 : 编译, 将页面转换成图像, 映射出一个点或文本锚地回到源行上, 并将页面与上一个构建相对比 。 CLI,MCP服务器和DSH插件在一个核心之上\.

### 如何安装 @fffangchenghao/dsh-latex-look？

在项目目录运行 npm install @fffangchenghao/dsh-latex-look，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deepseek-ai/dsh-tools（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 latex-look，可以用 npx latex-look 直接运行。

### @fffangchenghao/dsh-latex-look 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/fffangchenghao\_\_dsh-latex-look 是否存在。

### @fffangchenghao/dsh-latex-look 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @fffangchenghao/dsh-latex-look 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fffangchenghao/dsh-latex-look 可以商用吗？

@fffangchenghao/dsh-latex-look 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fffangchenghao/dsh-latex-look 的下载量有多少？

根据 npm 官方下载统计，@fffangchenghao/dsh-latex-look 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,714 次，日均约 90 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fffangchenghao/dsh-latex-look 还在维护吗？

最新版本 0\.4\.2 发布于 2026/10/29（16 天前）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/10/25。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

