在 Windows 上使用 htlatex 转换为 html 时出错(MiKTeX)

在 Windows 上使用 htlatex 转换为 html 时出错(MiKTeX)

我正在尝试将 LaTeX 文档转换为 HTML(或者更确切地说,我正在尝试输出 HTML 而不是 PDF - 这是正确的说法吗?)

我使用了https://tex.stackexchange.com/a/39458并尝试写下这个:

htlatex book.tex html "" -dhtml "--interaction=nonstopmode"

这确实很有效,直到我收到以下错误:

System call: copy figs/Correlation_examples.png html.
The syntax of the command is incorrect.

我摆弄了一会儿复制命令,然后意识到问题在于正斜杠(在 Unix 上没有问题)在 Windows 上需要是反斜杠(即,而不是无花果/它需要无花果\

因此,一方面这应该是一个简单的修复,但另一方面我很难找到要修改哪个文件来进行修复。

我的问题:在 Windows 上,有没有办法在 MiKTeX 上解决这个问题?我认为 htlatex(以及 mk4tex 等)似乎都是编译后的可执行文件,因此我认为自己不可能修改 htlatex.exe(当然,除非重新编译/重建 MikTeX)。

答案1

我没有使用 Windows,也不使用 Miktex,因此无法测试此问题。不过,我认为我可以回答您的一些问题:

  • htlatex和类似的脚本不是二进制可执行文件,它们只是批处理脚本,会调用具有特殊配置的 LaTeX 三次tex4ht,然后调用tex4ht二进制t4ht文件,这些二进制文件负责实际的转换和调用命令。您无法从这些脚本中修改文件复制的工作方式。
  • 您可以在文件中配置用于图像转换、复制等的命令tex4ht.env。它位于texmf-dist/tex4ht/base/win32/tex4ht.envTeX 发行版根目录中。您可以将此文件复制到您的文档所在的目录中,并找到以下几行:

    % t4ht -d%%2                                                              
    Mmove %%1 %%2%%3                                                                                                                                      
    Ccopy %%1 %%2%%3
    

以 开头的行Ccopy定义了用于文件复制的命令。您可以copy用一些支持正斜杠的命令替换它,这些命令可以将源文件复制到目标目录的正确子目录中。我希望 Windows 中存在这样的命令。

  • 或者,你可以使用制作4小时,这是tex4ht调用的替代命令。即使在 Windows 上,它也应该正确地将文件复制到目标目录。尝试以下命令:

    make4ht -u -d html book.tex
    

相关内容