| name | thesis-md-to-tex |
| description | 将本科毕业论文 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 路径和复查项,不负责重写论文正文。 |
毕业论文 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、图片、参考文献样式或其他资源;转换时应保留模板工程的相对路径关系,不要把正文输出成与模板资源脱离的孤立文件。
启动流程
- 确认输入 Markdown 文件路径。
- 如果用户提供单个
.md 文件,转换该文件。
- 如果用户提供目录,询问是转换目录下所有顶层
.md,还是只转换某一个文件。
- 询问用户是否需要上传或指定新的 LaTeX 模板。
- 根据用户回答确定模板:
- 用户提供模板文件:使用该文件。
- 用户提供模板目录:要求确认主入口
.tex。
- 用户不需要新模板:使用默认模板路径。
- 检查模板文件是否存在,并确认它是可作为入口或正文承载模板使用的
.tex 文件。
- 将 Markdown 正文转换为 LaTeX 内容,并按模板结构整合:
- 若模板有明确正文占位或
\input{} 结构,优先把正文放入对应位置或章节文件。
- 若模板是单文件入口,保留导言区、文档类、宏包和封面配置,只替换或插入正文区域。
- 若无法判断正文插入点,先询问用户,不要破坏模板。
- 转换后检查明显问题:图片路径、公式、表格、参考文献、特殊字符、标题编号、未闭合环境和模板资源引用。
- 输出最终
.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 至少两遍外,还必须人工或工具检查:
- 封面是否实际插入;
- 摘要首段是否另起并缩进;
- 自然段内行内代码是否为普通文本;
- 标题是否没有重复编号;
- 目录页标题是否与正文标题一致。
输出文件规则
- 默认输出到源 Markdown 同目录。
- 默认文件名与源 Markdown 同名,例如
thesis.md → thesis.tex。
- 如果目标文件已存在,不要无提示覆盖;使用带后缀的新文件名,或询问用户是否覆盖。
- 转换成功后只报告必要信息:源 Markdown、输出 TEX、使用模板、是否存在需要人工复查的项。
常见问题处理
- 模板缺失:提示用户补充 LaTeX 模板文件,或确认是否改用默认模板。
- 模板入口不明确:要求用户指定主入口
.tex,不要自行猜测。
- 图片丢失:检查 Markdown 所在目录、项目根目录、模板工程目录和 LaTeX
\includegraphics 路径。
- 公式或特殊字符异常:说明需要转义或人工复查,必要时先修正 Markdown 后再转换。
- 表格过宽或复杂表格失败:尽量转换为 LaTeX 表格,并列为人工复查项。
- 参考文献格式异常:说明当前输出是否为纯文本参考文献,或是否需要用户提供
.bib 文件。
- 用户要求直接生成最终 PDF:可以在
.tex 生成后说明是否具备编译条件;缺少 TeX 环境或模板依赖时不要承诺能编译通过。
交互模板
转换前:
已确认要把最终 Markdown 转为 LaTeX `.tex`。请先确认是否需要上传或指定新的 LaTeX 模板;如果不需要,我将使用默认模板:
/g:/My_code/Agent_atuo_graduation_project_of_GDUT/模板/GDUT-Undergraduate-Thesis-LaTeX-Template-main/模板.tex
请同时确认输出目录是否使用 Markdown 同目录。
转换完成后:
转换完成:
- 源 Markdown:...
- 输出 TEX:...
- 使用模板:...
- 需人工复查:...