将 LaTeX 转换为 OpenOffice

将 LaTeX 转换为 OpenOffice

我需要将 LaTeX 文档转换为 OpenOffice -> Word,以便与非 LaTeX 用户合作。

我尝试了两个命令:

oolatex foo.tex 

mk4ht oolatex foo.tex

在这两种情况下,tex4ht 都无法生成 ODT 或 SWX 文件,但生成了一些临时文件(foo.4ct、、、、、、、)。从我对 TeX4ht 文件的研究来看,4od很明显这些文件后来应该被转换成该文件。4oo4tcfoo-manifes.4offoo-meta.4otfoo-setting.4osfoo-styles.4oy.envOO

还有其他人遇到过这个问题并找到了解决方案吗?

编辑:

在使用 Lian Tze 的建议后,我改变了文件中的所有路径tex4ht.env,但仍然没有成功,我现在收到的错误以某种方式与 java 有关,这完全超出了我的能力范围。

C:\Users\Wojtek\Documents\My Dropbox\INSiK\Raporty\Artykuł problemowy>t4ht docum
ent  -cooxtpipes -coo -ec:\tex4ht\texmf\tex4ht\base\win32\tex4ht.env -cvalidate

----------------------------
t4ht.c (2009-01-31-07:34 kpathsea)
t4ht document
  -cooxtpipes
  -coo
  -ec:\tex4ht\texmf\tex4ht\base\win32\tex4ht.env
  -cvalidate
(C:/Program Files (x86)/MiKTeX 2.8/tex4ht/base/win32/tex4ht.env)
Entering document.lg
System call: move document.4oo document.tmp
        1 file(s) moved.
System return: 0
System call: java -classpath  c:\Program Files (x86)\MiKTeX 2.8\tex4ht\bin\tex4h
t.jar xtpipes -i c:\Program Files (x86)\MiKTeX 2.8\tex4ht\xtpipes\ -o document.4
oo document.tmp
Exception in thread "main" java.lang.NoClassDefFoundError: Files
Caused by: java.lang.ClassNotFoundException: Files
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Files.  Program will exit.
--- Warning --- System return: 1
System call: mkdir sxw-document.dir\Pictures
System return: 0
System call: move  document-settings.4os                  sxw-document.dir\setti
ngs.xml
        1 file(s) moved.
System return: 0
System call: move  document-styles.4oy    sxw-document.dir\styles.xml
        1 file(s) moved.
System return: 0
System call: mkdir sxw-document.dir\META-INF
System return: 0
System call: move  document-manifest.4of sxw-document.dir\META-INF\manifest.xml
        1 file(s) moved.
System return: 0
System call: move  document-meta.4ot    sxw-document.dir\meta.xml
        1 file(s) moved.
System return: 0
System call: cd    sxw-document.dir & zip -r -m  document.zip * & cd ..
  adding: META-INF/ (164 bytes security) (stored 0%)
  adding: META-INF/manifest.xml (164 bytes security) (deflated 66%)
  adding: meta.xml (164 bytes security) (deflated 58%)
  adding: Pictures/ (164 bytes security) (stored 0%)
  adding: settings.xml (164 bytes security) (deflated 46%)
  adding: styles.xml (164 bytes security) (deflated 91%)
System return: 0
System call: move sxw-document.dir\document.zip document.odt
        1 file(s) moved.
System return: 0
System call: del document.4od
System return: 0
System call: if exist sxw-document.dir rmdir /Q /S sxw-document.dir
System return: 0

C:\Users\Wojtek\Documents\My Dropbox\INSiK\Raporty\Artykuł problemowy>

这是最后一次转换操作的日志...

答案1

不确定你的问题是否与我的问题相同,但我oolatex通过编辑让 etc 在 Windows XP 下运行<texmf>\tex4ht\base\win32\tex4ht.env。我更新了所有出现的

c:\tex4ht\texmfc:/tex4ht/texmf

到我的系统上的实际 TEXMF 路径,以便所有路径都能解析。

更新: 请注意,java不喜欢文件路径中的空格字符,因此如果目录名称包含空格,则需要使用那些旧式 8.3 文件名。为了达到目的oolatex,请搜索该<ooxtpipes>部分并java相应地编辑调用:

<ooxtpipes>
.4oo move %%0.4oo %%0.tmp
.4oo java -classpath  c:/Progra~1/MiKTeX~1/tex4ht/bin/tex4ht.jar xtpipes -i c:\Progra~1\MiKTeX~1\tex4ht\xtpipes\ -o %%0.4oo %%0.tmp
.4om move %%1.4om %%1.tmp
.4om java -classpath  c:/Progra~1/MiKTeX~1/tex4ht/bin/tex4ht.jar xtpipes -i c:\Progra~1\MiKTeX~1\tex4ht\xtpipes\ -o %%1.4om %%1.tmp
</ooxtpipes>

答案2

我也遇到过同样的问题。对于不太复杂的文档,我经常将 LaTeX 渲染为 PDF,然后使用 PDF 转 Word 转换器制作 Word 文档。对于许多工作来说,这种方法效果很好,但如果您有数学公式、表格或其他复杂格式,您可能需要对目标文档进行一些编辑。

答案3

mk4ht oolatex foo.tex可能会有问题。替代方案make4ht -f odt test.tex可能会解决许多问题,包括与 xtpipes 相关的问题。

答案4

我以前从未使用过 tex4ht,但是我过去的做法是使用 latex2html,然后将 .html 导入 OpenOffice/Word。这种方法的唯一问题是大型方程式将被渲染为图像(因此无法编辑)。

相关内容