我需要将 LaTeX 文档转换为 OpenOffice -> Word,以便与非 LaTeX 用户合作。
我尝试了两个命令:
oolatex foo.tex
和
mk4ht oolatex foo.tex
在这两种情况下,tex4ht 都无法生成 ODT 或 SWX 文件,但生成了一些临时文件(foo.4ct
、、、、、、、)。从我对 TeX4ht 文件的研究来看,4od
很明显这些文件后来应该被转换成该文件。4oo
4tc
foo-manifes.4of
foo-meta.4ot
foo-setting.4os
foo-styles.4oy
.env
OO
还有其他人遇到过这个问题并找到了解决方案吗?
编辑:
在使用 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\texmf
和c:/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。这种方法的唯一问题是大型方程式将被渲染为图像(因此无法编辑)。