使用终端和用户命令运行.ins 文件

使用终端和用户命令运行.ins 文件

我在没有管理员权限的电脑上的外部硬盘上使用便携版本的 MiKTeX 2.9。

我尝试使用“latex NameOfPackage.ins”在 TeXmaker 终端上运行 .ins 文件,但它说找不到文件 NameOfPackage.ins。我首先将文件放在 MiKTeX 树中并更新 FNDB,但没有成功。然后我尝试将其放在树外,但仍然找不到文件

我使用 texmaker 中的用户命令来编译 .ins 文件,但出现错误:未找到日志文件

"E:/MiKTeX 2.9/miktex/bin/latex.exe" -interaction=nonstopmode %.ins

我之前使用过用户命令,成功了,但在重置设置后,我不知道命令到底是什么,所以我可能做错了

编辑:当我尝试再次运行相同的命令时,它紧急停止了该线路

\generate{\file{dutch.ldf}{\from{dutch.dtx}{code}}}

dutch.ldf 已经在文件夹中了,所以我删除了该文件并重试。这次成功了,所以问题似乎解决了。我猜最好删除问题发生时生成的文件,以避免出现此类问题

我找到.ins 命令的地方: tex.stackexchange.com/questions/123129

我还是想知道为什么使用终端不起作用

答案1

.ins并且.dtx是源文件,它们通常被排入sourceTDS 树的子树中 ( texmf/source/latex/babel/babel.ins)。

TDS 树中的文件以这样的方式组织,即源文件、文档文件不是当 TeX 查找其输入/包/类文件时,搜索。这减少了搜索空间并加快了文件查找速度。

但另一方面,无法从其他地方调用生成源文件,因为在子树之外找不到.ins或文件。.dtxTDS:tex/

  • 这些文件可以在目录中进行编译,它们位于:

    cd source\latex\babel
    tex babel.ins
    

    然而,由于安全特性,这在 MiKTeX 中不起作用。参见Ulrike 的回答(MiKTeX 在应用程序目录中找不到文件)。

  • 将文件复制到新的临时目录并在那里进行编译:

    md scratch
    copy source\latex\babel/* scratch
    cd scratch
    tex babel.ins
    

    (两个例子中都省略了之前的路径source\...,需要添加。)

通常情况下,LaTeX 安装文件.ins可以通过纯 TeX ( ) 运行tex,因为这些.ins文件基于docstrip,不需要 LaTeX 格式。在某些情况下,仍然需要 LaTeX,有时只是因为一些愚蠢的\NeedsTeXFormat{LaTeX2e}

通常,LaTeX 用户不需要运行.ins文件,因为 TeX 发行版提供了已解压的包。如果 TeX 发行版不包含该包,则 CTAN 可能有package.tds.zip以下文件CTAN:install/。它们只需要在 TDS 树的根目录下解压(并刷新文件名数据库)。

问题 (c) “未找到命令”,在评论部分讨论

MiKTeX 便携式版本不会将其目录添加bin到环境变量中PATH。因此,如果二进制文件没有足够路径组件,Windows 将无法找到它们。这是便携式版本的代价。主机系统保持不变,文件夹的路径bin可能会发生变化(不同的 USB 驱动器号,...)。

为了使用 MiKTeX portable 的命令窗口,miktex-portable首先应在 MiKTeX portable 的安装目录中调用。它会在任务栏中添加一个图标。右键单击提供“命令提示符”选项,该选项打开命令窗口,其中设置了 MiKTeX 的环境变量。请参阅“如何使用 MiKTeX 便携版”

如果你想在你的系统上永久使用 MiKTeX,那么普通的 MiKTeX 版本是首选。否则,可以在 Windows 系统中手动配置环境变量,如果文件夹bin有永久位置或可以使用前面描述的方式。

相关内容