如何将 .tex 转换为 .odt?

Tal*_*ili 48 latex libreoffice

我希望将 .tex 文件转换为 .odt 文件。
你能提出一个好的分步解决方案吗?

Rin*_*ind 26

存储库中有一个工具可以将 LaTeX 更改为 openoffice.org 的 XML 格式:tex4ht 安装 tex4ht

TeX4ht 是一个高度可配置的基于 TeX 的创作系统,用于生成超文本。它通过样式文件和后处理器与基于 TeX 的应用程序交互,将源文件的处理留给本地 TeX 编译器。因此,TeX4ht 可以处理一般基于 TeX 的系统的特性,特别是 LaTeX 的特性。

TeX4ht 既可用于使用 TeX/LaTeX 输入文件创作 HTML,也可用于将现有的 TeX 输入文件(以任何格式)转换为 HTML,(通常)仅进行少量修改。还可以生成其他种类的超文本,包括 XML、XHTML、MathML 和 Openoffice.org 格式的 XML。

命令行...

  1. latex filename.tex
  2. bibtex filename.aux
  3. mk4ht oolatex filename.tex

最终应该得到一个与 openoffice.org/libreoffice 兼容的文件。

  • 谢谢你。顺便说一句,该软件包的主要维护者似乎在两年前不幸去世了。 (2认同)
  • 真可惜 :( (2认同)

vma*_*tto 22

信不信由你,在包含复杂文档和大量包的情况下,我使用LaTeX2HTML获得的结果比使用 LaTeX2RTF、Pandoc 或 TeX4ht 好得多。

latex2html texfile.tex -split 0 -no_navigation -info "" -address "" -html_version 4.0,unicode
Run Code Online (Sandbox Code Playgroud)

这将生成一个具有相同texfile名称的文件夹,因此您将能够将生成的 HTML 转换为 ODT:

libreoffice --headless --convert-to odt:"OpenDocument Text Flat XML" texfile/index.html
Run Code Online (Sandbox Code Playgroud)

这将生成一个index.odt文件。查看此答案以检查如何使用 LibreOffice 的转换过滤器。

从评论讨论中编辑:

尽管上述方法有效,但令人非常失望的是,我发现生成真正可靠文档的唯一方法是在 Adob​​e Acrobat Pro 上使用 LaTeX 的 PDF 输出。


enz*_*tib 19

pandoc提供了另一种解决方案 安装 pandoc

例如,您可以执行以下操作:

pandoc -f latex -t odt -o output.odt input.tex
Run Code Online (Sandbox Code Playgroud)

如果输入文件被latin1编码,就像我的 tex 文件,解决方案是:

iconv -f ISO-8859-1 input.tex | pandoc -f latex -t odt -o output.odt
Run Code Online (Sandbox Code Playgroud)

我报告包的部分描述:

Pandoc 是一个 Haskell 库,用于从一种标记格式转换为另一种标记格式,以及使用该库的命令行工具。它可以读

  • 降价和
  • 的子集
    • 重构文本,
    • HTML,和
    • 乳胶

它可以写

  • 纯文本,
  • 降价,
  • 重构文本,
  • HTML, -LaTeX, -ConTeXt,
  • RTF,
  • DocBook XML,
  • 开放文档 XML,
  • ODT ,
  • GNU Texinfo,
  • MediaWiki 标记,
  • 电子版,
  • 纺织品,
  • groff 手册页,
  • Emacs 组织模式,以及
  • 滑动或
  • S5 HTML 幻灯片。


Cor*_*ite 8

它可以分两步完成。转到http://latex2rtf.sourceforge.net/并使用提供的工具首先从 Latex 转换为 RTF,然后从 RTF 转换为 ODT。

希望能帮助到你。


toh*_*ohu 6

如果你有tex4ht 安装 tex4ht安装包后,该命令oolatex filename会将 .tex 转换为 .odt(有关 tex4ht 的更多信息,请参见此处)。

另一种方式是latex2rtf 安装 latex2rtf 包,使用 RTF 作为中间格式。