我在没有管理员权限的电脑上的外部硬盘上使用便携版本的 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
是源文件,它们通常被排入source
TDS 树的子树中 ( texmf/source/latex/babel/babel.ins
)。
TDS 树中的文件以这样的方式组织,即源文件、文档文件不是当 TeX 查找其输入/包/类文件时,搜索。这减少了搜索空间并加快了文件查找速度。
但另一方面,无法从其他地方调用生成源文件,因为在子树之外找不到.ins
或文件。.dtx
TDS: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
有永久位置或可以使用前面描述的方式。