
学术写作圈子里有个心照不宣的痛点投稿时用 LaTeX 排版爽得飞起可一旦导师、合作者或者期刊编辑部要求交 Word 版本整个人就不好了。公式变成一堆乱码、表格错位、参考文献编号全乱、图片跑位更别提某些在线转换工具悄悄把你的未发表成果传到了不知道哪台服务器上。我自己就经历过一次把一篇含 60 多个公式的论文转成 Word 发给合作者对方打开后说“你这公式怎么全是问号和方框”那一刻的崩溃至今记忆犹新。这篇内容就是把我这些年踩过的坑、试过的工具、总结出来的流程一次性讲清楚。核心围绕LaTeX 转 Word这条主线重点横评Pandoc和ai2word两条技术路线同时把公式乱码、排版崩溃、隐私泄露这三个最要命的问题拆开揉碎讲。不管你是刚接触 LaTeX 的研究生还是已经发过几篇论文、被 Word 格式折磨过的老手都能从里面找到能直接抄作业的方案。1. 为什么 LaTeX 转 Word 这么难先搞懂底层逻辑1.1 两种排版哲学的根本冲突很多人以为 LaTeX 转 Word 就是“格式转换”跟把 PDF 转成图片差不多。实际上完全不是一回事。LaTeX 和 Word 代表的是两种截然不同的排版哲学理解这个差异你才能明白为什么转换总是出问题。LaTeX 是“内容与格式分离”的典型代表。你写的是\section{引言}它不关心这个标题最终是几号字、什么字体、段前段后多少磅这些都由模板documentclass、宏包统一决定。排版引擎 TeX 在编译时会根据全局的断行算法、断页算法、浮动体放置算法动态计算出最优的版面。也就是说LaTeX 文档的最终样子是“算”出来的不是“摆”出来的。Word 则相反它是“所见即所得”的流式排版。每个段落、每个字符的格式属性字体、字号、行距、缩进都直接附着在内容上。你拖动一下表格列宽它就记住了这个宽度你调整一下图片环绕方式它就存下了这个属性。Word 的排版是“摆”出来的你摆成什么样它就是什么样。这两种哲学一碰撞转换就变成了“翻译”而不是“复制”。LaTeX 里一个\begin{equation}环境在 Word 里可能对应一个 OMMLOffice Math Markup Language公式对象也可能对应一张图片还可能对应一段 MathType 的 OLE 对象。选哪条路直接决定了转换质量。1.2 公式乱码的三种成因公式乱码是 LaTeX 转 Word 最普遍的问题但“乱码”其实分好几种成因完全不同解决思路也不一样。第一种是字符编码层面的乱码。比如\alpha变成了α\sum变成了∑。这是典型的 UTF-8 被当成 Latin-1 解读导致的。LaTeX 源码本身是纯文本如果转换工具读取时用错了编码或者中间经过了不支持 Unicode 的环节就会出现这种乱码。这种最好解决指定编码就行。第二种是数学符号映射缺失。比如\mathbb{R}在 Word 里显示成了一个空心方框\mathcal{L}变成了普通字母 L。这是因为转换工具没有把 LaTeX 的数学符号正确映射到 Word 的公式对象里。Word 的 OMML 有自己的符号体系跟 LaTeX 的符号集不是一一对应的映射表不全就会丢符号。第三种是公式对象类型不兼容。比如转换后公式变成了一张低分辨率图片放大就模糊或者变成了 MathType 对象但对方电脑没装 MathType显示成一片空白。这种最麻烦因为不是“显示错误”而是“对象类型”本身就不对。提示判断公式乱码属于哪种最简单的办法是把 Word 文档里的“乱码”复制出来粘贴到记事本。如果能粘贴出正常字符说明是显示问题如果粘贴出来还是乱码说明是编码或映射问题如果根本选不中说明是图片或 OLE 对象。1.3 排版崩溃的典型表现排版崩溃比公式乱码更隐蔽因为它往往在转换时看不出来等你在 Word 里编辑几下才暴露。最常见的表现是表格列宽失控。LaTeX 的tabular环境用p{3cm}指定列宽转换到 Word 后列宽可能变成自动适应也可能变成固定值但单位换算错误。我遇到过最离谱的一次一个 5 列的表格转出来最后一列宽度变成了 0.01 厘米内容全挤成一条竖线。热词里“word 表格列宽无法拖动”说的就是这类问题——转换后的表格被设成了固定布局你在 Word 里拖都拖不动。另一个典型表现是浮动体位置全乱。LaTeX 里的figure和table是浮动体编译时 TeX 会自动找合适的位置放置。转成 Word 后浮动体变成了普通段落里的图片或表格位置就固定在转换时所在的地方。如果原文里浮动体定义在章节开头但实际渲染在章节末尾转换后可能就卡在开头把正文挤得七零八落。还有参考文献和交叉引用失效。LaTeX 用\cite{}和\ref{}做引用编译时生成编号。转成 Word 后这些编号变成了纯文本你增删一条参考文献后面的编号全得手动改。热词里“latex 引用两篇参考文献格式”背后其实很多人是在问转换后怎么保持引用格式。1.4 隐私泄露的真实风险这一点必须单独拎出来说因为它关乎你的学术成果安全。很多在线 LaTeX 转 Word 工具工作原理是把你上传的.tex文件传到它的服务器在服务器上跑转换再把结果发回给你。这中间有几个风险点文件在传输过程中是否加密、服务器是否留存副本、留存多久、有没有可能被用于训练或其他用途。对于未发表的论文、涉及保密项目的技术文档、含个人身份信息的研究数据这些风险是不能接受的。我认识一位做医学研究的朋友把含患者统计数据的论文传到某在线转换网站后来发现该网站的隐私政策里明确写着“上传内容可能用于服务改进”。虽然未必真的出事但这种不确定性本身就是风险。所以我在下面会重点讲本地化方案能不上传就绝不上传。2. 工具选型Pandoc 与 ai2word 到底怎么选2.1 Pandoc 的定位与能力边界Pandoc 是学术圈最知名的文档转换工具号称“文档转换界的瑞士军刀”。它支持几十种输入格式和几十种输出格式LaTeX 转 Word 只是它众多功能中的一项。Pandoc 转 Word 的基本命令非常简单pandoc input.tex -o output.docx如果要处理中文通常需要指定 PDF 引擎或参考文档pandoc input.tex -o output.docx --reference-docreference.docx--reference-doc参数指定一个 Word 模板文件Pandoc 会从这个模板里继承样式标题样式、正文样式、表格样式等。这是控制输出格式的关键手段。Pandoc 处理公式的方式是把 LaTeX 数学环境转成 OMMLOffice Math Markup Language这是 Word 原生的公式格式兼容性最好。但 Pandoc 的符号映射表并非完美一些冷门符号、自定义宏、\newcommand定义的命令可能转换失败。Pandoc 的另一个特点是完全本地运行。你下载安装后所有转换都在自己电脑上完成不涉及任何网络传输。对于隐私敏感的场景这是决定性优势。但 Pandoc 也有明显短板。它对复杂表格的支持一般multirow、multicolumn、tabularx这些宏包生成的表格转换后经常错位。对浮动体的处理也比较粗暴基本就是按源码顺序放置。参考文献方面如果原文用 BibTeX 管理Pandoc 可以调用--citeproc处理但格式跟 LaTeX 编译出来的往往有差异。2.2 ai2word 的定位与适用场景ai2word 是近年出现的一类工具主打“AI 辅助转换”。它的思路跟 Pandoc 不同不是做严格的语法解析和映射而是用模型“理解”文档内容然后重新生成 Word 格式。这类工具的优势在于对复杂排版的容错性。比如一个用 TikZ 画的流程图Pandoc 基本无能为力ai2word 可能把它转成一张图片插入。再比如一些非标准的表格写法ai2word 可能通过“理解”表格结构来重建。但 ai2word 的问题也很明显。首先是结果不可控。因为是模型生成同样的输入两次转换可能得到不同结果这对需要精确复现的学术文档来说是大忌。其次是公式处理。模型生成的公式对象可能是图片可能是文本可能是 OMML取决于模型当时“怎么想”的。我实测过几个 ai2word 类工具公式转成图片的情况很普遍放大就糊。最关键的是隐私问题。绝大多数 ai2word 工具是在线服务你的文档要上传到它的服务器。对于未发表论文这个风险需要认真权衡。2.3 两条路线的横向对比对比维度Pandocai2word 类工具运行方式本地命令行多是在线服务公式格式OMML可编辑图片或 OMML不稳定复杂表格支持一般易错位容错较好但结构可能失真浮动体处理按源码顺序可能智能重排结果可复现完全可复现不确定隐私安全高纯本地低需上传学习成本中需学命令行低上传即可批量处理支持脚本化多需手动自定义样式通过 reference-doc有限我的建议是能本地就本地能用 Pandoc 就用 Pandoc。ai2word 类工具适合处理那些 Pandoc 实在搞不定的边角情况比如含复杂图形的文档但核心转换流程应该建立在本地工具上。2.4 我的实际选型策略经过多次折腾我现在的策略是“Pandoc 为主人工为辅ai2word 兜底”。具体来说先用 Pandoc 做第一轮转换得到一个基础可用的 Word 文档。然后人工检查公式、表格、参考文献这三块把 Pandoc 处理不好的地方手动修。如果遇到 Pandoc 完全无法处理的元素比如某些 TikZ 图形再考虑用 ai2word 类工具单独转换那一部分然后手动拼回去。这个策略的核心逻辑是把不可控的部分降到最低。Pandoc 的结果是确定的人工修改是可控的ai2word 只用在它真正有优势的地方且只处理非核心内容。3. Pandoc 实战从安装到出稿的完整流程3.1 安装与基础配置Pandoc 的安装很简单官网下载对应平台的安装包即可。Windows 用户下载.msimacOS 用户可以用 Homebrewbrew install pandocLinux 用户用包管理器sudo apt install pandoc但光有 Pandoc 还不够。LaTeX 转 Word 涉及公式处理需要确保系统里有完整的 TeX 环境。Windows 上推荐安装 TeX Live 或 MiKTeXmacOS 上推荐 MacTeX。安装后确认pdflatex或xelatex可用xelatex --version中文文档还需要中文字体支持。Pandoc 转 Word 时中文字体由 reference-doc 控制但读取.tex源码时需要确保编码正确。建议所有.tex文件都用 UTF-8 编码保存。注意Pandoc 版本更新较快不同版本对 LaTeX 的支持程度有差异。建议用较新的稳定版但也不要盲目追最新新版本偶尔会引入回归问题。我目前用的是 3.x 系列比较稳定。3.2 制作 reference-doc 模板reference-doc 是 Pandoc 转 Word 的灵魂。它决定了输出文档的样式标题用什么字体、正文什么行距、表格什么边框、公式什么字号。制作方法很简单先用 Pandoc 生成一个默认模板pandoc -o custom-reference.docx --print-default-data-file reference.docx然后用 Word 打开这个custom-reference.docx修改里面的样式。重点改这几个Normal正文样式设置中文字体如宋体、西文字体如 Times New Roman、字号小四、行距1.5 倍Heading 1/2/3各级标题样式设置字体、字号、加粗、段前段后间距Compact紧凑段落样式用于列表项Table表格样式设置边框、单元格边距Source Code代码块样式设置等宽字体改完后保存转换时用--reference-doccustom-reference.docx指定。这里有个坑Word 的样式继承机制很复杂。你改了 Normal 样式但 Heading 样式可能基于另一个基础样式不一定跟着变。建议直接修改每个用到的样式不要依赖继承。另外Pandoc 生成的表格默认用的是Table样式如果你在模板里没定义这个样式它会用 Word 默认的表格样式可能跟你预期不符。3.3 处理公式的三种策略Pandoc 转公式默认走 OMML 路线这是最好的结果。但实际转换中公式可能出各种问题需要针对性处理。策略一直接转换适用于标准公式。大部分用equation、align、gather等标准环境写的公式Pandoc 能正确转成 OMML。转换后你在 Word 里双击公式能打开公式编辑器编辑说明转换成功。策略二预处理适用于含自定义宏的公式。如果你在导言区定义了\newcommand{\R}{\mathbb{R}}这样的宏Pandoc 可能不认识。解决办法是先用 LaTeX 的\newcommand展开工具如texdef或latexdef把宏展开或者手动把宏替换成原始命令。更彻底的办法是用latexpand工具把多文件合并、宏展开生成一个“扁平化”的.tex文件再转。latexpand input.tex flattened.tex pandoc flattened.tex -o output.docx策略三降级为图片适用于 Pandoc 搞不定的公式。如果某个公式转出来是乱码且反复调整无效最后的办法是把它转成图片。可以用standalone文档类单独编译公式为 PDF再转成 PNG然后手动插入 Word。这虽然失去了可编辑性但至少显示正确。\documentclass[border2pt]{standalone} \usepackage{amsmath} \begin{document} $\displaystyle \int_{-\infty}^{\infty} e^{-x^2} dx \sqrt{\pi}$ \end{document}编译后用pdftoppm或 ImageMagick 转成高分辨率 PNGpdftoppm -png -r 600 formula.pdf formula提示公式转图片时分辨率至少 600 DPI否则打印出来会模糊。另外图片背景要透明或白色避免在 Word 里出现灰底。3.4 表格与浮动体的处理技巧表格是 Pandoc 转换的重灾区。LaTeX 的表格宏包太多写法太灵活Pandoc 不可能全部支持。对于简单表格tabular环境无合并单元格Pandoc 通常能正确处理。但要注意列宽LaTeX 里用p{3cm}指定的列宽Pandoc 会转成 Word 的固定列宽但单位换算可能有偏差。建议转换后在 Word 里手动调整。对于复杂表格含multirow、multicolumn、tabularxPandoc 经常出错。我的做法是转换前先把复杂表格简化。把multirow拆成多个单元格把tabularx改成固定列宽的tabular把嵌套表格拆开。虽然麻烦但比转换后修一堆错位要省时间。浮动体方面Pandoc 会把figure和table环境转成普通段落里的图片和表格位置按源码顺序。如果你希望图片出现在特定位置可以在.tex里把浮动体定义移到希望出现的位置附近或者转换后在 Word 里手动拖动。热词里“latex 表格自动换行”是个常见需求。LaTeX 里用p{3cm}可以让单元格内容自动换行但 Pandoc 转 Word 后如果列宽设置不当内容可能不换行或换行位置奇怪。解决办法是在 reference-doc 里把表格样式的“允许自动换行”打开并设置合适的单元格边距。3.5 参考文献与交叉引用的处理这是 Pandoc 转 Word 最让人头疼的部分之一。如果你的.tex用 BibTeX 管理参考文献Pandoc 可以用--citeproc参数处理pandoc input.tex -o output.docx --citeproc --bibliographyrefs.bib但这样生成的参考文献格式是 Pandoc 自己的 CSL 样式跟 LaTeX 编译出来的可能不同。如果你需要完全一致的格式建议先用 LaTeX 编译出 PDF确认参考文献格式正确然后在 Word 里手动重建参考文献列表。交叉引用\ref{}、\eqref{}在 Pandoc 转换后会变成纯文本编号。如果你后续要增删内容编号不会自动更新。解决办法有两个一是转换后手动改成 Word 的交叉引用域二是接受纯文本最后定稿时统一核对一遍编号。热词里“latex 引用两篇参考文献格式”通常指的是\cite{a,b}这种多引用。Pandoc 处理多引用时可能生成[1,2]或[1;2]取决于 CSL 样式。如果格式不对可以在 reference-doc 里调整或者转换后手动改。4. 公式乱码的深度排查与修复4.1 编码问题的定位与解决编码问题是最容易排查的。症状是公式里的希腊字母、数学符号变成奇怪的拉丁字符组合。排查方法用十六进制编辑器打开.tex文件看希腊字母的字节序列。UTF-8 编码的α是CE B1如果看到的是C3 8E C2 B1之类的说明文件被错误地转码过。解决办法用编辑器VS Code、Notepad把文件另存为 UTF-8 无 BOM 格式。然后在 Pandoc 命令里显式指定编码pandoc input.tex -o output.docx --fromlatexutf8如果还是不行检查系统 locale 设置。Windows 上有时需要设置chcp 65001切换到 UTF-8 代码页。4.2 符号映射缺失的补全方法符号映射缺失的症状是某些特定符号显示为方框或问号其他符号正常。Pandoc 的符号映射表在它的源码里普通用户改不了。但可以通过预处理来规避把冷门符号替换成 Word 能识别的等价写法。比如\mathbb{R}如果转不出来可以试试\mathbf{R}或者直接用 Unicode 字符ℝ。\mathcal{L}可以换成\mathscr{L}或直接写L。更系统的办法是建一个替换表用脚本批量替换import re replacements { r\\mathbb\{R\}: ℝ, r\\mathbb\{N\}: ℕ, r\\mathcal\{L\}: ℒ, # 继续添加... } with open(input.tex, r, encodingutf-8) as f: content f.read() for pattern, replacement in replacements.items(): content re.sub(pattern, replacement, content) with open(output.tex, w, encodingutf-8) as f: f.write(content)注意直接替换成 Unicode 字符后Pandoc 转 Word 时可能又出问题因为 Pandoc 对 Unicode 数学字符的处理也不完美。更稳妥的办法是替换成 Word 能识别的 LaTeX 命令比如\mathbf{R}。4.3 公式对象类型的选择如果你发现转换后的公式是图片且希望它是可编辑的 OMML可以尝试以下方法。首先确认 Pandoc 版本支持 OMML 输出。Pandoc 从 2.x 开始支持 OMML但早期版本可能有 bug。升级到最新稳定版通常能解决。其次检查.tex里的公式写法。Pandoc 对equation、align、gather、multline等标准环境支持最好。如果你用了自定义环境或\[ \]这种简写可能被当成普通文本处理。如果公式还是图片可以在 Pandoc 命令里加--mathml参数强制输出 MathML然后 Word 打开时可能会转成 OMMLpandoc input.tex -o output.docx --mathml但实测下来--mathml的效果不如默认的 OMML 输出。所以优先用默认设置只在默认设置出问题时才尝试其他参数。4.4 公式编号与引用的保持LaTeX 里公式编号是自动的\begin{equation}环境会自动编号\label{}和\eqref{}用来引用。Pandoc 转 Word 后公式编号可能变成纯文本引用也可能失效。如果你需要保持编号和引用有两个方案。方案一转换前把公式编号“硬编码”。用\tag{}手动指定编号这样 Pandoc 会把它当成公式的一部分转过去。但这样失去了自动编号的便利。方案二转换后在 Word 里重建。把公式编号改成 Word 的题注Caption引用改成交叉引用域。这样虽然麻烦但后续编辑时编号会自动更新。我通常用方案二因为学术论文的公式编号经常需要调整自动编号省心得多。具体操作是选中公式插入题注设置编号格式为(1)、(2)这样。然后在正文里用“插入交叉引用”引用题注。5. 排版崩溃的修复与优化5.1 表格列宽的精确控制表格列宽问题是转换后最常见的排版问题。热词里“word 表格列宽无法拖动”和“poi 设置 word 表格单元格宽度”都指向这个痛点。Pandoc 转出的表格列宽通常是根据内容自动计算的。如果内容长度差异大列宽可能很不均匀。更麻烦的是Pandoc 可能把表格设成“固定布局”导致你在 Word 里拖不动列宽。解决办法转换后在 Word 里选中表格右键“表格属性”把“指定宽度”取消勾选或者改成“自动”。如果还是拖不动检查“表格布局”是不是设成了“固定”改成“自动”。如果表格很多手动改太累可以用 Word 宏批量处理Sub AdjustTableLayout() Dim tbl As Table For Each tbl In ActiveDocument.Tables tbl.AutoFitBehavior wdAutoFitWindow tbl.Rows.AllowBreakAcrossPages False Next tbl End Sub这个宏把所有表格设成自动适应窗口宽度并禁止跨页断行。热词里“word 宏安全问题”提醒我们运行宏前要确认来源可靠这个宏很简单可以自己检查一遍再用。5.2 浮动体重排与图文混排浮动体位置问题在转换后很常见。LaTeX 里图片可能定义在章节开头但渲染在章节末尾转成 Word 后就卡在开头了。解决办法转换前调整.tex里浮动体的位置。把\begin{figure}移到你希望图片出现的位置附近。虽然这会影响 LaTeX 编译时的浮动效果但转 Word 时位置更可控。转换后如果还需要调整在 Word 里直接拖动图片即可。但要注意图片的环绕方式如果设成“嵌入型”图片就固定在段落里如果设成“四周型”或“紧密型”图片可以自由拖动但可能遮挡文字。学术论文通常用“嵌入型”或“上下型”比较规整。热词里“latex 中图片”相关的需求很多是关于图片格式和分辨率的。LaTeX 支持 PDF、PNG、JPG 等格式但 Pandoc 转 Word 时PDF 图片可能转不了。建议在.tex里就用 PNG 或 JPG分辨率至少 300 DPI。5.3 字体与行距的统一字体和行距问题看似小但影响文档的整体观感。Pandoc 转出的 Word 文档字体可能跟你的.tex模板不一致行距也可能不对。解决办法在 reference-doc 里统一定义。前面说过修改 Normal 样式设置正文格式修改 Heading 样式设置标题格式。但要注意Pandoc 可能对某些元素用不同的样式比如代码块用Source Code样式引用块用Block Text样式。这些都要在 reference-doc 里定义好。中文文档还要注意中英文字体分别设置。Word 的样式里可以设置“中文字体”和“西文字体”两个属性。中文字体用宋体或仿宋西文字体用 Times New Roman这是学术论文的常见搭配。行距方面学术论文通常用 1.5 倍或双倍行距。在 Normal 样式里设置即可。但要注意表格和公式的行距可能不受 Normal 样式控制需要单独设置。5.4 页眉页脚与页码LaTeX 的页眉页脚由fancyhdr等宏包控制转 Word 后这些设置会丢失。需要手动在 Word 里重建。学术论文的页眉通常是章节标题或论文短标题页脚是页码。在 Word 里双击页眉区域进入编辑插入章节标题可以用“文档属性”或“域”页脚插入页码。如果论文有奇偶页不同的页眉需要在“页面设置”里勾选“奇偶页不同”然后分别设置奇数页和偶数页的页眉。提示Pandoc 转出的文档可能没有分节导致页眉页脚全局统一。如果论文需要不同章节不同页眉需要在 Word 里插入分节符然后取消“链接到前一节”再分别设置。6. 隐私安全本地化方案的完整落地6.1 为什么必须优先本地转换前面已经说过在线工具的风险这里再强调一遍未发表的论文、含敏感数据的文档绝对不要上传到任何在线转换服务。风险不只是“可能泄露”还包括上传的文件可能被缓存、可能被用于模型训练、可能在传输过程中被截获、可能因为服务商倒闭而失控。这些风险叠加起来对于一篇可能影响你毕业或职称的论文来说不值得冒。本地化方案的核心是所有转换步骤都在自己电脑上完成不涉及任何网络传输。Pandoc 天然满足这个要求因为它就是本地命令行工具。6.2 完全离线的转换环境搭建要搭建完全离线的转换环境需要准备以下工具Pandoc本地安装离线可用TeX 环境TeX Live 或 MiKTeX本地安装离线可用reference-doc本地制作不依赖网络图片处理工具ImageMagick 或类似工具本地安装安装完成后断网测试一遍完整流程确保没有隐藏的网络依赖。有些工具可能在启动时检查更新或者调用在线字体这些都要提前发现并禁用。如果团队协作可以把这套环境打包成 Docker 镜像分发给合作者。这样每个人的转换环境完全一致结果也可复现。FROM ubuntu:22.04 RUN apt-get update apt-get install -y \ pandoc \ texlive-full \ imagemagick \ rm -rf /var/lib/apt/lists/* WORKDIR /data构建镜像后转换命令在容器里跑docker run --rm -v $(pwd):/data latex2word pandoc input.tex -o output.docx6.3 敏感信息的预处理与脱敏即使本地转换如果文档最终要分享给他人也要注意敏感信息的处理。比如论文里含未公开的实验数据、合作者的个人信息、专利申请相关的技术细节在转换和分享前要评估是否需要脱敏。脱敏可以在.tex层面做用占位符替换敏感内容转换后再决定是否恢复。另外Word 文档的元数据作者、单位、修订记录也可能泄露信息。分享前用 Word 的“检查文档”功能清理一遍文件 → 信息 → 检查文档 → 检查并删除个人信息、批注、修订等6.4 团队协作中的安全规范如果是团队协作建议制定明确的转换规范统一使用本地 Pandoc 流程禁止使用在线转换工具共享的 reference-doc 模板要版本控制避免样式不一致转换后的 Word 文档在分享前要经过敏感信息检查如果必须用在线工具处理非敏感内容要确认该工具的隐私政策热词里“ai 知识库怎么解析 word 和 pdf”反映了很多人在做文档处理自动化。如果涉及敏感文档建议用本地的解析工具如 Python 的python-docx、PyPDF2不要用在线 API。7. 常见问题速查与避坑经验7.1 转换失败与报错排查Pandoc 转换失败时首先看报错信息。常见错误和解决办法报错信息原因解决办法pandoc: input.tex: hGetContents: invalid argument编码问题文件转 UTF-8Error: pandoc document conversion failedLaTeX 语法错误先用 LaTeX 编译一遍确保无错Could not find data filereference-doc 路径错误用绝对路径或确认文件存在Unknown command自定义宏未展开用 latexpand 展开宏转换成功但内容缺失某些环境不支持检查是否用了非标准环境如果报错信息看不懂可以加--verbose参数看详细日志pandoc input.tex -o output.docx --verbose7.2 转换后格式微调清单转换完成后按以下清单逐项检查标题层级各级标题样式是否正确编号是否连续正文格式字体、字号、行距、首行缩进是否符合要求公式是否可编辑编号是否正确引用是否有效表格列宽是否合适边框是否完整内容是否错位图片位置是否合理分辨率是否足够环绕方式是否正确参考文献格式是否统一编号是否连续引用是否对应页眉页脚内容是否正确页码是否连续交叉引用图表公式的引用是否有效目录是否自动生成页码是否对应元数据作者、标题等信息是否正确这个清单看起来长但熟练后检查一遍也就十几分钟。比起转换后才发现问题再返工这个时间投入是值得的。7.3 我踩过的五个坑坑一以为 Pandoc 能处理一切。早期我直接把一个含 TikZ 图形的论文丢给 Pandoc结果图形全丢只剩一堆报错。后来明白Pandoc 不是万能的复杂图形要单独处理。坑二忽略 reference-doc。一开始不知道 reference-doc 的作用转换出来的文档样式惨不忍睹。后来花时间做了个模板输出质量立刻上了一个台阶。坑三公式转图片后没检查分辨率。有次公式转图片用了默认 72 DPI打印出来糊成一片。后来固定用 600 DPI再也没出过问题。坑四在线工具泄露了未发表内容。早期图省事用过在线转换后来发现该网站会缓存上传文件。虽然没造成实际损失但想起来后怕。从此只用本地工具。坑五转换后没检查交叉引用。有次转换后直接发给导师导师说“你这图 3 怎么引用的是图 5”。原来 Pandoc 把\ref{}转成了纯文本但编号跟实际图表对不上。后来养成习惯转换后必查交叉引用。7.4 效率提升的脚本化方案如果经常需要转换可以写个脚本把整个流程自动化#!/bin/bash # latex2word.sh INPUT$1 OUTPUT${INPUT%.tex}.docx REFERENCE~/templates/reference.docx # 第一步展开宏 latexpand $INPUT /tmp/flattened.tex # 第二步Pandoc 转换 pandoc /tmp/flattened.tex \ -o $OUTPUT \ --reference-doc$REFERENCE \ --citeproc \ --bibliographyrefs.bib \ --verbose # 第三步检查输出 if [ -f $OUTPUT ]; then echo 转换成功$OUTPUT echo 文件大小$(du -h $OUTPUT | cut -f1) else echo 转换失败 exit 1 fi这个脚本做了三件事展开宏、转换、检查输出。你可以根据自己的需求添加更多步骤比如自动备份、自动打开输出文件等。如果团队协作可以把脚本和 reference-doc 一起放进 Git 仓库每个人拉下来就能用。这样保证了转换环境的一致性。热词里“markdown 转 word 工作流 coze”和“poi-tl 导出 word 列表”反映了很多人在做文档自动化。如果你的工作流涉及多种格式互转建议把 Pandoc 作为核心转换引擎其他工具作为补充。Pandoc 的格式支持最全面命令行接口也最适合脚本化。8. 从 LaTeX 到 Word 的完整工作流复盘8.1 转换前的准备工作转换前的准备决定了转换质量的上限。我的习惯是首先确保.tex文件能正常编译成 PDF。如果 LaTeX 编译都报错Pandoc 更不可能成功。编译通过后检查 PDF 里的公式、表格、图片是否都正常显示。其次整理.tex文件结构。如果是多文件项目\input{}、\include{}用latexpand合并成单文件。如果有自定义宏也一并展开。然后准备 reference-doc。如果之前做过确认样式是否还符合当前需求如果没有按前面的方法做一个。最后备份原始.tex文件。转换过程中可能会修改文件保留一份原始版本以防万一。8.2 转换中的参数调优Pandoc 的参数很多但常用的就那么几个。我的标准命令是pandoc flattened.tex \ -o output.docx \ --reference-docreference.docx \ --citeproc \ --bibliographyrefs.bib \ --mathml \ --wrapnone--mathml强制公式输出为 MathMLWord 打开时会转成 OMML。--wrapnone禁止自动换行避免 Pandoc 在源码里插入不必要的换行影响转换。如果转换结果不理想可以尝试调整参数。比如公式出问题去掉--mathml试试默认输出表格出问题加--columns100调整列宽计算。参数调优是个试错过程建议每次只改一个参数观察效果。改完后记录下最优参数组合下次直接用。8.3 转换后的精修流程Pandoc 转换只是第一步转换后的精修才是保证质量的关键。我的精修流程是第一步通读一遍标记出所有问题。不要边看边改先整体过一遍了解问题分布。第二步按优先级处理。公式问题最优先因为影响可读性其次是表格和图片最后是格式微调。第三步公式逐个检查。双击每个公式确认能打开编辑器符号显示正确。有问题的公式根据前面讲的方法修复。第四步表格逐个调整。检查列宽、边框、内容对齐。复杂的表格可能需要重新绘制。第五步参考文献核对。对照 PDF 版本确认每条参考文献的格式和编号一致。第六步整体格式统一。用 Word 的样式功能确保所有同级标题样式一致所有正文段落格式一致。这个流程走下来一篇 20 页的论文大概需要 1-2 小时。虽然费时间但比转换后直接交出去被打回来强。8.4 版本管理与协作建议学术论文往往要改很多版版本管理很重要。我的做法是.tex文件用 Git 管理每次修改都提交。Word 文件因为是二进制Git 管理不方便用文件名区分版本比如paper_v1.docx、paper_v2.docx。如果跟合作者协作建议统一转换流程。把 reference-doc、转换脚本、操作说明打包发给合作者确保大家用同样的方法转换输出格式一致。如果合作者不熟悉 LaTeX 和 Pandoc可以只把最终的 Word 文档发给他们但保留.tex源文件在自己手里。这样合作者改 Word你改.tex最后以你的.tex为准重新转换。热词里“word 和 wps 打开标题会乱”提醒我们不同软件打开同一文档可能显示不同。建议最终版用 Microsoft Word 检查一遍因为期刊编辑部通常用 Word。WPS 虽然兼容性好但偶尔会有细微差异。8.5 什么情况下放弃转换直接重排有些情况下转换的成本高于重新排版。比如论文含大量复杂 TikZ 图形Pandoc 完全无法处理表格极其复杂转换后错位严重修复时间超过重画公式用了大量自定义宏和冷门符号转换后乱码遍地这种情况下我的建议是保留 LaTeX 版本用于投稿另外用 Word 重排一个版本用于满足格式要求。重排时可以直接复制 LaTeX 编译出的 PDF 里的公式图片或者用 MathType 重新输入公式。虽然费事但比跟转换工具较劲要省心。我个人的体会是LaTeX 转 Word 没有一劳永逸的完美方案。Pandoc 能解决 80% 的问题剩下的 20% 需要人工介入。接受这个现实把精力放在建立一套可复用的流程上比追求“一键完美转换”要实际得多。每次转换后花点时间记录遇到的问题和解决办法积累下来就是自己的知识库。下次遇到类似情况直接查笔记效率会高很多。