有许多使用文本编辑器软件(主要是 Windows 下)进行转换的指南.doc
;.tex
并且这种流行使得搜索基于命令的转换方法变得困难。
我正在寻找一个命令行来将 MS Word 转换为 LaTeX。这将是 Linux 服务器上运行的 PHP 脚本的一部分。我的意思是 PHP 执行的 shell 命令。
答案1
反词将 .doc 文件转换为 .tex 文件,效果相当不错。它不仅会尽力保留内容,还会保留格式。它非常适合您想要进行的批处理。
编辑:有几个人私下问我 Antiword 中的 LaTeX 开关和 Antiword 的最新版本。最新版本确实是 0.37。至于 LaTeX 输出,我想我搞混了一点。我使用 Antiword 进行格式化的 ASCII 输出。我认为它可以进行 PostScript 输出,但不能进行 LaTeX 输出。正如 Jon 所观察到的,您可以使用 pandoc 将格式良好的 ASCII 转换为 LaTeX。但是,威盛(wv 和 wv2)能够输出 LaTeX。需要注意的是,wvWare 已被 AbiWord 取代,但可用于批处理(我不知道 AbiWord 是否可以从命令行使用)。它比 Antiword(自 2004 年以来一直处于休眠状态)还年轻一些(自 2006 年以来一直处于休眠状态)。
最后有一个工具叫卡特多克这对于批处理非常有用,但不会保留格式(但对于提取内容非常有用并且支持 MS Excel 格式)。
答案2
这个答案特定于 OS X......
命令行实用程序textutil
OS X 中有一个名为的命令行实用程序textutil
,它可以在常见的文档格式之间进行转换:
Word docx 转 txt
$ textutil -convert txt worddoc.docx
txt 转 Word docx
$ textutil -convert docx mytextdoc.txt
txt 转换为 Word,使用 Times New Roman 12pt
$ textutil -convert docx -font "Times New Roman" -fontsize 12 blah.txt
还适用于 html、rtf、doc、odt 和其他格式……
textutil
与 Pandoc结合使用 word2latex 和 latex2word
如果你使用潘多克结合使用,textutil
您可以获得不错的 Word 到 LaTeX 和 LaTeX 到 Word 的往返体验。要获得 docx 支持,您需要最新版本的 Pandoc (1.9+)。
word2latex
$ textutil -convert html worddoc.docx -stdout | pandoc -s -f html -t latex -o latexdoc.tex
latex2word
$ pandoc -t docx -f latex -o backtoword.docx latexdoc.tex
答案3
很大程度上取决于 Word 文档格式的复杂程度。我曾经非常成功地rtf2latex2e,可将 RTF 格式的文本转换为 LaTeX。它具有与 RTF 格式匹配的不同级别。我主要使用它的“最小 LaTeX 标记模式”,这对于随后将手动编辑的文档来说是理想的选择(我理解这与您需要的条件不同。)
答案4
一个多平台解决方案正在开发中。Rob Oakes 正在 LyX 中实现此功能。一旦实现,我认为在命令行上使用它将会很简单。但是,(1) 我不确定您是否想为这个转换安装一个相当大的应用程序,并且 (2) 这项工作目前处于 alpha 阶段。Rob 正在寻找测试人员。他主要在寻找 .doc 文件进行测试。他刚刚更新了他的工具支持的功能: http://marc.info/?l=lyx-users&m=133070969217214&w=2 以下是已实现的功能列表(从 URL 复制):
- 将 Word 段落和字符样式转换为 LyX 段落和字符样式。对于未定义的字符样式,它会将其条目写入本地布局(包括基本的 LaTeX 命令)。
- 导入 Word 表格,包括合并行或合并列的表格。它还将尽力处理表格边框。
- 枚举和分项列表。
- 从 Word 文档导入图像。(它会跳过嵌入的对象,例如 Excel 中的图表。)
- 使用自定义模板,您可以微调导入文档。我为 article.cls 和 book.cls 创建了模板。我可能还会为 memoir.cls 创建一个模板。