代码之家  ›  专栏  ›  技术社区  ›  Martin Ba

MikTex的latex.exe生成的file.4ct和file.4tc是什么关系

  •  0
  • Martin Ba  · 技术社区  · 15 年前

    长话短说:

    1. PDF是通过 pdflatex -output-format=pdf -interaction=batchmode ourfile.tex

    2. 然后脚本继续调用3次:

      latex -interaction=batchmode \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 html,5.a.b.c.\input ourfile.tex

    3. 我们的文件.4ct 我们的文件.aux 我们的文件.idx 我们的文件.xref

    4. 然后脚本继续处理.4ct文件,该文件似乎是某种包含标题和引用的TOC文件。脚本使用此数据为chm项目文件(hhp文件)生成TOC数据。

    但是,当我从(2)第4、5、6次交替运行命令时,我可以看到每次运行命令时.4ct和.4tc文件的内容都会交换。即:

    a) 运行乳胶。。。

    b) 运行乳胶。。。 =>ourfile.4ct=793行/ourfile.4tc=126行

    c) 运行乳胶。。。 =>ourfile.4ct=126行/ourfile.4tc=793行

    生成的.log文件仅引用ourfile.4ct,在第一次出现时,我看到以下警告。。。

    ---------------------------------------------------------
    l.1 --- TeX4ht warning --- If not done so, the index is to be processed by
      tex '\def\filename{{Td_g}{idx}{4dx}{ind}} \input  idxmake.4ht'
      makeindex -o Td_g.ind Td_g.4dx
    instead of
      makeindex -o Td_g.ind Td_g.idx
    On some platforms, the quotation marks ' should be
     replaced by double quotation marks " or eliminated.
    ---------------------------------------------------------  ---
    

    ... 如果那有用的话。

    谢谢你的指点!

    1 回复  |  直到 15 年前
        1
  •  1
  •   Kilian Foth    15 年前

    这些文件不是特定于MikTeX的,而是特定于tex4ht包(超文本生成器)。它们没有文档化,因此可能包含生成最终结果所需的临时数据(HTML)。你对结果有什么不满吗?如果是这样的话,你需要问Tex4ht的作者你的HTML输出有什么问题,而不是中间文件-他们可能只会告诉你,“哦,那些是内部文件,不用担心。”

    推荐文章