使用 htlatex 将 LaTeX 转换为 HTML

使用 htlatex 将 LaTeX 转换为 HTML

我似乎htlatex已经htxelatex在我的电脑上安装了。但是当我尝试运行它们时,它出现了这样的消息,'I can't write on file 'texput.log''

我正在尝试将 LaTeX 文件转换为 HTML。

这是在 Windows 上,使用 MiKTeX。

答案1

这可能会对你有帮助。我做了一个批处理脚本我使用时使用的htlatex。您可以将其复制并粘贴到文件中,并使用.bat扩展名保存,例如html.bat

  1. 你需要打开一个命令提示符,您可以在搜索栏中输入cmd,或按下WndLogo + R并写入cmd以执行命令提示符。命令提示符是一个可以在其中运行不同命令的应用程序。在窗口顶部,您将看到当前目录。例如,C:\Windows\system32\cmd.exe。您可以检查本教程了解更多信息。
  2. 然后,您只需使用 移动到文件所在的目录即可cd path。例如,如果您的 LaTeX 文档位于C驱动器中名为 的文件夹中My Latex,则可以使用 移动到该文件夹cd "C:\My Latex"​​。请注意,由于路径上有空格,因此必须用引号括起来。
  3. 您可以使用 执行脚本html.bat file.tex。这将创建一个html目录,您可以在其中找到文件。(这假设您的文件与您的文件位于同一目录中.tex。但是,您可以将脚本放在文件夹中,然后将该文件夹添加到您的环境变量。然后你就可以从任何地方调用它了。)
    • 如果你不想使用脚本,你可以简单地执行htlatex file.tex html "" -dSomeDir "--interaction=nonstopmode"。该html选项设置输出类型,-dSomeDir设置输出目录SomeDir(虽然这不是强制性的,但它是一个好主意,因为htlatex会产生几个文件),并且nonstopmode告诉编译器如果可以避免就不要停止。

脚本如下:

@echo off
if [%1]==[] goto usage
set name=%~n1
if exist .\html goto exists
mkdir html
goto process
:exists
echo y | del .\html\*
:process

htlatex %name%.tex html "" -dhtml "--interaction=nonstopmode"

:clean
del %name%.4tc > nul
del %name%.4ct > nul
del %name%.tmp > nul
del %name%.xref > nul
del %name%.idv > nul
del %name%.lg > nul
del %name%.html > nul
del %name%.css > nul
goto end

:usage

echo Usage: %0 file.tex
echo *** Caution *** If there is a html directory it will be deleted.
echo. 
:end

答案2

您必须打开命令行窗口。我目前无法访问 Windows 计算机,所以我不知道是否有更好的方法,但我似乎记得,如果您单击“开始”,然后导航到“程序”菜单(执行此操作的方式似乎取决于您的 Windows 版本),然后在“附件”下有“DOS 提示符”或“命令提示符”之类的东西。当命令提示符窗口打开时,您必须更改为包含您的文件的目录(或文件夹)(cd "\Documents And Something\XYZ's Documents\whatever\folder\it\is\in"),然后运行htlatex myfile.tex。如果 htlatex 在您的 PATH 中,这将起作用。如果不在,您必须键入 htlatex 的完整路径,例如

"C:\the\full path\to\htlatex.exe" myfile.tex

希望对 Windows 有更多了解的人能够编辑此内容或提供更好的答案。

答案3

  1. 下面给出 3 个bat文件、3 个cfg文件和 1 个tco文件。
  2. 将 *.bat 文件复制到 C:\Program Files\MiKTeX 2.9\scripts\tex4ht\文件夹。
  3. 将 *.cfg 文件复制到 C:\Program Files\MiKTeX 2.9\tex\latex\base\cfg\文件夹。
  4. 请注意,您可能必须创建文件tex4htcfg
  5. 使用 MiKTeX 设置(管理员)和Refresh FNDB
  6. 转至TeXnicCenter-> Build-> Define Output Profiles->Import tex4ht.tco
  7. 将在以下位置创建三 (3) 个新的输出配置文件TeXnicCenter
  8. LaTeX=>HTML2LaTeX=>MathJax配置文件创建*.html输出文件: LaTeX=>MathML配置文件创建*.xml输出文件。
  9. 请通过合并 pstricks 和 tikz 的代码来改进上述内容。

latex2html.bat

REM @echo off
REM - windows batch file for converting latex to html
cd "%1"
htlatex %2 "html,mathml-"
@echo "Process Ended"

latex2mathjax.bat

REM @echo off
REM - windows batch file for converting latex to html using MathJax
cd "%1"
htlatex %2 "ht5mathjax,charset=utf-8,NoFonts" " -cunihtf -utf8"
@echo "Process Ended"

latex2mathml.bat

REM @echo off
REM - windows batch file for converting latex to xml
cd "%1"
mk4ht mzlatex %2 "html,pmathml,charset=utf-8,NoFonts" " -cunihtf -utf8"
@echo "Process Ended"

ht5mathjax.cfg

\Preamble{xhtml,mathml}
\Configure{VERSION}{}
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
         rel="stylesheet" type="text/css"
         href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\Configure{@HEAD}{\HCode{<script type="text/javascript"\Hnewline
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"\Hnewline
></script>\Hnewline}}
\Configure{@HEAD}{\HCode{<style type="text/css">\Hnewline
  .MathJax_MathML {text-indent: 0;}\Hnewline
</style>\Hnewline}}
\begin{document}
\EndPreamble

% From Michal Hoftich <[email protected]> on 2 Aug 2012
% by email with cc to [email protected]
% Hoftich suggests the name mathjax.cfg
% His suggested command line:
%   htlatex 1109.1881v2.tex "ht5mathjax, charset=utf-8,NoFonts" " -cunihtf -utf8"
%   to produce html file
% Mods by William F. Hammond
% mk4ht mzlatex $1 "ht5mathjax"

html.cfg

Preamble{xhtml}
\Configure{VERSION}{}
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
         rel="stylesheet" type="text/css"
         href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\begin{document}
\EndPreamble

xhtml.cfg

\Configure{VERSION}{}
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
         rel="stylesheet" type="text/css"
         href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\begin{document}
\EndPreamble

tex4ht.tco

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<txcop:outputProfiles version="2" xmlns:txcop="http://schemas.ToolsCenter.org/TeXnicCenter/OutputProfiles.xsd">
    <outputProfileList>
        <outputProfile name="LaTeX=&gt;MathJax" stopOnLatexError="false">
            <texCommand execute="false" path="" arguments=""/>
            <bibTexCommand execute="false" path="" arguments=""/>
            <makeIndexCommand execute="false" path="" arguments=""/>
            <preProcessors/>
            <postProcessors>
                <processor name="latex2mathjax" path="latex2mathjax.bat" arguments="&quot;%dm&quot; %nm" inputFile="" outputFile=""/>
            </postProcessors>
            <viewer path="firefox.exe" closeBeforeCompilation="false">
                <viewProjectCommand type="commandLine">
                    <commandLineCommand path="firefox.exe" arguments="%bm.html"/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewProjectCommand>
                <viewCurrentFileCommand type="commandLine">
                    <commandLineCommand path="firefox.exe" arguments=""/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewCurrentFileCommand>
                <viewCloseCommand type="commandLine">
                    <commandLineCommand path="" arguments=""/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewCloseCommand>
            </viewer>
        </outputProfile>
        <outputProfile name="LaTeX=&gt;HTML2" stopOnLatexError="false">
            <texCommand execute="false" path="" arguments=""/>
            <bibTexCommand execute="false" path="" arguments=""/>
            <makeIndexCommand execute="false" path="" arguments=""/>
            <preProcessors/>
            <postProcessors>
                <processor name="latex2html batch file" path="latex2html.bat" arguments="&quot;%dm&quot; %nm" inputFile="" outputFile=""/>
            </postProcessors>
            <viewer path="firefox.exe&quot;" closeBeforeCompilation="false">
                <viewProjectCommand type="commandLine">
                    <commandLineCommand path="firefox.exe&quot;" arguments="%bm.html"/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewProjectCommand>
                <viewCurrentFileCommand type="commandLine">
                    <commandLineCommand path="firefox.exe&quot;" arguments=""/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewCurrentFileCommand>
                <viewCloseCommand type="commandLine">
                    <commandLineCommand path="" arguments=""/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewCloseCommand>
            </viewer>
        </outputProfile>
        <outputProfile name="LaTeX =&gt; MathML" stopOnLatexError="false">
            <texCommand execute="false" path="htlatex.exe " arguments="%bm.tex &quot;html,mathplayer&quot;"/>
            <bibTexCommand execute="false" path="" arguments=""/>
            <makeIndexCommand execute="false" path="" arguments=""/>
            <preProcessors/>
            <postProcessors>
                <processor name="latex2mathml" path="latex2mathml.bat" arguments="&quot;%dm&quot; %nm" inputFile="" outputFile=""/>
            </postProcessors>
            <viewer path="firefox.exe" closeBeforeCompilation="false">
                <viewProjectCommand type="commandLine">
                    <commandLineCommand path="firefox.exe" arguments="%bm.xml"/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewProjectCommand>
                <viewCurrentFileCommand type="commandLine">
                    <commandLineCommand path="firefox.exe" arguments=""/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewCurrentFileCommand>
                <viewCloseCommand type="commandLine">
                    <commandLineCommand path="" arguments=""/>
                    <ddeCommand path="" server="" topic="System" command=""/>
                </viewCloseCommand>
            </viewer>
        </outputProfile>
    </outputProfileList>
</txcop:outputProfiles>

相关内容