我希望将 .tex 文件转换为 .odt 文件。
您能给出一个好的分步解决方案吗?
答案1
存储库中有一个工具可以将 LaTeX 更改为 openoffice.org 的 XML 格式:tex4ht
TeX4ht 是一个高度可配置的基于 TeX 的创作系统,用于生成超文本。它通过样式文件和后处理器与基于 TeX 的应用程序交互,将源文件的处理留给原生 TeX 编译器。因此,TeX4ht 可以处理一般基于 TeX 的系统的功能,尤其是 LaTeX 的功能。
TeX4ht 既可用于使用 TeX/LaTeX 输入文件编写 HTML,也可用于将现有的 TeX 输入文件(任何格式)转换为 HTML,通常只需进行少量修改。还可以生成其他类型的超文本,包括 XML、XHTML、MathML 和 Openoffice.org 格式的 XML。
命令行...
latex filename.tex
bibtex filename.aux
mk4ht oolatex filename.tex
最终应得到一个与 openoffice.org/libreoffice 兼容的文件。
答案2
信不信由你,尽管文档复杂,而且包含很多软件包,但我还是用LaTeX 转 HTML比 LaTeX2RTF、Pandoc 或 TeX4ht 更佳。
latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode
这将生成一个同名的文件夹texfile
,因此您可以将生成的 HTML 转换为 ODT:
libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
这将生成一个index.odt
文件。看一下这个答案检查如何使用 LibreOffice 的转换过滤器。
根据评论讨论进行编辑:
虽然上述方法有效,但令人失望的是,我发现生成真正可靠文档的唯一方法是使用 Adobe Acrobat Pro 上 LaTeX 的 PDF 输出。
答案3
软件包提供了另一种解决方案潘多克
举个例子,你可以这样做:
pandoc -f latex -t odt -o output.odt input.tex
如果输入文件经过latin1
编码,比如我的 tex 文件,则解决方案是:
iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt
我报告该包裹的部分描述:
Pandoc 是一个 Haskell 库,用于将一种标记格式转换为另一种标记格式,以及一个使用该库的命令行工具。它可以读取
- markdown 和
- 的子集
- 重新结构化文本,
- HTML,以及
- 乳胶
并且可以写
- 纯文本,
- 降价,
- 重新结构化文本,
- HTML、-LaTeX、-ConTeXt、
- RTF,
- DocBook XML,
- 开放文档 XML,
- 光发射断层扫描,
- GNU Texinfo,
- MediaWiki 标记,
- EPUB,
- 纺织品,
- groff 手册页,
- Emacs Org-mode,以及
- 滑行或
- S5 HTML 幻灯片。