# Thesis Md To Tex

> 将本科毕业论文 Markdown 严格转换为 LaTeX .tex 的专用 skill。用户要求把 .md、论文 Markdown、AIGC_down 最终稿、毕业论文最终稿、thesis.md 转成 tex/TeX/LaTeX/Overleaf/GDUT LaTeX 模板格式时必须使用。转换前必须先询问用户是否需要上传或指定新的 LaTeX 模板；如果用户不需要新模板，则使用默认模板 `/g:/My_code/Agent_atuo_graduation_project_of_GDUT/模板/GDUT-Undergraduate-Thesis-LaTeX-Template-main/模板.tex`。本 skill 负责模板选择、Markdown 到 LaTeX 的结构映射、输出 .tex 路径和复查项，不负责重写论文正文。

- Skill: `447662/thesis-md-to-tex` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add 447662/thesis-md-to-tex`
- Raw SKILL.md: https://api.skillmd.com/api/skills/447662/thesis-md-to-tex/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: 447662 (https://skillmd.com/u/447662)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/447662/thesis-md-to-tex

---


# 毕业论文 Markdown 转 LaTeX

把已经写好并经用户确认的毕业论文 `.md` 转换为基于 LaTeX 模板的 `.tex` 文件。该 skill 不负责重新写论文正文，重点是确认模板、转换正文结构、保留模板工程约束并交付可继续编辑的 `.tex`。

## 模板规则

转换前必须先询问用户是否需要上传或指定新的 LaTeX 模板。

- 如果用户指定新的模板文件，优先使用用户提供的模板。
- 如果用户只提供模板目录，要求用户确认主入口 `.tex` 文件。
- 如果用户明确不需要新模板，使用默认模板：`/g:/My_code/Agent_atuo_graduation_project_of_GDUT/模板/GDUT-Undergraduate-Thesis-LaTeX-Template-main/模板.tex`。
- 如果模板文件缺失、不可读或入口不明确，先暂停并要求用户补充，不要假设模板结构。

默认模板可能依赖同目录下的 `.cls`、`.sty`、图片、参考文献样式或其他资源；转换时应保留模板工程的相对路径关系，不要把正文输出成与模板资源脱离的孤立文件。

## 启动流程

1. 确认输入 Markdown 文件路径。
   - 如果用户提供单个 `.md` 文件，转换该文件。
   - 如果用户提供目录，询问是转换目录下所有顶层 `.md`，还是只转换某一个文件。
2. 询问用户是否需要上传或指定新的 LaTeX 模板。
3. 根据用户回答确定模板：
   - 用户提供模板文件：使用该文件。
   - 用户提供模板目录：要求确认主入口 `.tex`。
   - 用户不需要新模板：使用默认模板路径。
4. 检查模板文件是否存在，并确认它是可作为入口或正文承载模板使用的 `.tex` 文件。
5. 将 Markdown 正文转换为 LaTeX 内容，并按模板结构整合：
   - 若模板有明确正文占位或 `\input{}` 结构，优先把正文放入对应位置或章节文件。
   - 若模板是单文件入口，保留导言区、文档类、宏包和封面配置，只替换或插入正文区域。
   - 若无法判断正文插入点，先询问用户，不要破坏模板。
6. 转换后检查明显问题：图片路径、公式、表格、参考文献、特殊字符、标题编号、未闭合环境和模板资源引用。
7. 输出最终 `.tex` 路径，并简要说明使用了哪个 Markdown、哪个 LaTeX 模板和哪些内容需要人工复查。

## Markdown 预处理要求

转换前检查并必要时提醒用户修正：

- 标题层级应清晰，Markdown 中可使用 `# 1 绪论`、`## 1.1 研究背景` 等带编号标题帮助识别层级；转换为 LaTeX 时要去掉标题文本中的编号，让 LaTeX 自动编号，例如输出 `\section{绪论}`、`\subsection{研究背景}`，不要输出 `\section{1 绪论}` 或 `\subsection{1.1 研究背景}`。
- 摘要、Abstract、目录、正文、结论、参考文献、致谢、附录应结构完整；生成 LaTeX 时摘要标题应居中显示，中文摘要与英文 Abstract 都要按模板的居中标题样式处理。
- 转换为 LaTeX 章节结构时，每个大章节应独立另起一页；在章级标题、摘要、Abstract、目录、参考文献、致谢、附录等主要部分前使用模板推荐的分页方式，必要时插入 `\clearpage` 或 `\newpage`。
- 图表应有规范题注：`图X.Y 图名`、`表X.Y 表名`。
- 图片路径应相对 Markdown 文件、项目根目录或模板工程可访问。
- 数学公式应使用 Pandoc/LaTeX 可识别的 `$...$`、`$$...$$` 或 LaTeX 环境。
- 参考文献不要使用虚构信息；若模板使用 BibTeX/BibLaTeX，应说明需要用户确认 `.bib` 或文献条目映射。
- LaTeX 特殊字符如 `%`、`_`、`&`、`#`、`{}` 可能需要转义，避免破坏编译。
- Mermaid、HTML、Obsidian 特殊语法、复杂表格和代码块可能无法 1:1 映射，应列为人工复查项。

## 本次问题复盘与强制检查项

以下规则来自一次实际 Markdown 转 GDUT LaTeX 模板时暴露的问题，后续执行本 skill 时必须主动检查，不能只依赖编译通过。

### 封面插入

- 默认 GDUT 模板的 `\makecover` 只检查当前编译工作目录中是否存在 `论文封面.pdf`，如果最终 `.tex` 输出在 `test/`，而封面 PDF 仍在模板目录，则不会自动生成封面。
- 使用默认模板时，必须显式处理封面路径：
  - 优先在最终 `.tex` 中直接使用 `\includepdf[pages=-]{模板目录/论文封面.pdf}`；或
  - 保持模板工程相对路径，让编译工作目录能访问封面 PDF。
- 生成后必须检查最终 `.tex` 是否实际包含封面插入命令，并提醒用户人工核对封面中的姓名、学号、学院、专业、指导教师、日期等信息。

### 摘要段落格式

- 不能只把摘要内容紧跟在 `\begin{abstractcn}` 或 `\begin{abstracten}` 后面，否则首段可能看起来没有另起一段或缺少首行缩进。
- 中文摘要和英文摘要正文开始前应显式加入段落起始，例如 `\par\indent`，并保留摘要内部自然段之间的空行。
- 生成后必须抽查最终 `.tex` 中 `abstractcn` 和 `abstracten` 环境开头，确认第一段单独成段。

### 行内代码和技术名词样式

- 用户要求自然段内出现模块名、信号名、语法名、命令名或接口名时，不做任何额外修饰，应按普通英文/文本显示。
- 仅单独成段的代码块才使用 `lstlisting`、`verbatim` 或模板代码块样式。
- Pandoc 可能把 Markdown 行内反引号转换为 `\lstinline`、`\passthrough{\lstinline!...!}` 或类似结构；转换后必须清理这些行内代码样式，将其恢复为普通文本。
- 清理后要检查最终 `.tex`，确认自然段内不残留 `\lstinline`、`\passthrough{\lstinline...}` 等行内代码命令。

### 标题重复编号

- Markdown 标题常写作 `## 5.4 Wishbone 封装模块实现`，LaTeX 又会自动编号；如果没有去掉 Markdown 标题文本中的编号，会出现 `5.45.4 Wishbone 封装模块实现` 这类重复编号。
- 不能只处理 `\section{1 标题}`，还必须处理 `\subsection{5.4 标题}`、`\subsubsection{5.4.1 标题}` 等所有章节层级。
- Pandoc 可能把标题中的点转义为 `\.`，也可能在标题中插入换行；编号清理规则必须同时兼容 `5.4`、`5\.4`、`5.4.1`、`5\.4\.1` 以及编号后换行的情况。
- 生成后必须 grep/搜索最终 `.tex`，确认不存在：
  - `\section{1`、`\subsection{1.1`、`\subsubsection{1.1.1` 等带原始编号的标题；
  - `5.45.4`、`1.11.1` 等重复编号文本。

### 编译验证不等于格式正确

- XeLaTeX 编译成功只能说明语法基本可用，不能说明封面、摘要段落、标题编号和行内代码样式正确。
- 每次生成最终 TEX 后，除运行 XeLaTeX 至少两遍外，还必须人工或工具检查：
  1. 封面是否实际插入；
  2. 摘要首段是否另起并缩进；
  3. 自然段内行内代码是否为普通文本；
  4. 标题是否没有重复编号；
  5. 目录页标题是否与正文标题一致。

## 输出文件规则

- 默认输出到源 Markdown 同目录。
- 默认文件名与源 Markdown 同名，例如 `thesis.md` → `thesis.tex`。
- 如果目标文件已存在，不要无提示覆盖；使用带后缀的新文件名，或询问用户是否覆盖。
- 转换成功后只报告必要信息：源 Markdown、输出 TEX、使用模板、是否存在需要人工复查的项。

## 常见问题处理

- **模板缺失**：提示用户补充 LaTeX 模板文件，或确认是否改用默认模板。
- **模板入口不明确**：要求用户指定主入口 `.tex`，不要自行猜测。
- **图片丢失**：检查 Markdown 所在目录、项目根目录、模板工程目录和 LaTeX `\includegraphics` 路径。
- **公式或特殊字符异常**：说明需要转义或人工复查，必要时先修正 Markdown 后再转换。
- **表格过宽或复杂表格失败**：尽量转换为 LaTeX 表格，并列为人工复查项。
- **参考文献格式异常**：说明当前输出是否为纯文本参考文献，或是否需要用户提供 `.bib` 文件。
- **用户要求直接生成最终 PDF**：可以在 `.tex` 生成后说明是否具备编译条件；缺少 TeX 环境或模板依赖时不要承诺能编译通过。

## 交互模板

转换前：

```text
已确认要把最终 Markdown 转为 LaTeX `.tex`。请先确认是否需要上传或指定新的 LaTeX 模板；如果不需要，我将使用默认模板：
/g:/My_code/Agent_atuo_graduation_project_of_GDUT/模板/GDUT-Undergraduate-Thesis-LaTeX-Template-main/模板.tex

请同时确认输出目录是否使用 Markdown 同目录。
```

转换完成后：

```text
转换完成：
- 源 Markdown：...
- 输出 TEX：...
- 使用模板：...
- 需人工复查：...
```

