使用終端機和使用者命令運行 .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 中不起作用。看烏爾里克的回答(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 portable 不會將其目錄加入bin到環境變數中PATH。因此,如果二進位檔案沒有足夠的路徑元件,Windows 將無法找到它們。這就是便攜的代價。主機系統保持不變,並且資料夾的路徑bin可以更改(不同的 USB 磁碟機號,...)。

為了透過指令視窗使用MiKTeX portable,miktex-portable應先呼叫MiKTeX portable安裝目錄中的指令。它將一個圖示新增到工作列。右鍵單擊提供“命令提示字元”選項,該選項將開啟一個命令窗口,在其中設定 MiKTeX 的環境變數。看《如何使用 MiKTeX 便攜版》

如果您想在系統上永久使用 MiKTeX,那麼普通的 MiKTeX 版本是更好的選擇。否則,如果該bin資料夾具有永久位置或可以使用前面描述的方式,則可以在 Windows 系統中手動配置環境變數。

相關內容