我想知道如何指定 htlatex 生成的 html/css 的输出目录。
我的调用如下:
htlatex main.tex
这些文件生成在 main.tex 所在的同一目录中。但我更愿意将其写入当前目录 (./html) 中包含的名为 html 的文件夹。
我读过有关添加"" "-d/mypath/"
参数的信息,但没有成功。
有人能帮帮我吗?我在获取文档方面也遇到了一些问题,因为使用-h
或调用 htlatex--help
不起作用。
答案1
经过一番调查发现,这htlatex
确实是一个sh
脚本文件,至少在我的系统中是这样的:
$ which htlatex
/usr/texbin/htlatex
$ file /usr/texbin/htlatex
/usr/texbin/htlatex: symbolic link to `../../texmf-dist/scripts/tex4ht/htlatex.sh'
该脚本的内容如下:
$ cat /usr/texbin/htlatex
#!/bin/sh
latex $5 '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode '$2'.a.b.c.\input ' $1
latex $5 '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode '$2'.a.b.c.\input ' $1
latex $5 '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode '$2'.a.b.c.\input ' $1
tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3
t4ht -f/$1 $4 ## -d~/WWW/temp/ -m644
因此,它由一系列调用组成latex
,tex4ht
最后是t4ht
。显然,该脚本需要 5 个参数($1
到$5
),从它们的使用中,我们可以或多或少地推断出它们的功能:
$1
是包含源文件的名称latex
。它会传递给链中的所有工具。$2
\HCode
是传递给为该命令定义的神秘命令的参数的一部分latex
,我没有尝试理解其任务。我将忽略此参数,直到比我更有能力的人能够发现其功能$3
tex4ht
作为选项的一部分传递-i
,从而用于指定字体文件夹。$4
被传递给t4ht
所以看起来像是一个我们可以为其指定额外开关的地方t4ht
。$5
被传递给 latex,因此它看起来像是一个我们可以为其指定附加开关的地方latex
。
使用t4ht --help
我们发现-d
这里可以使用选项来指定目标目录,所以我尝试了:
$ htlatex Example.tex "" "" -d/tmp/
并且成功了。结果转到/tmp/
,但请注意,这只影响最后一步。第一步仍然使用当前目录,因此所有中间文件和辅助文件仍在那里。我猜你不能用开关摆脱它们。