Notepad++ 和 MiKTeX — CMD 無法辨識指令/exe

Notepad++ 和 MiKTeX — CMD 無法辨識指令/exe

目前,我無法獲得批次檔/運行命令組合來將我的 .tex 檔案編譯為 PDF——它會在多行中拋出錯誤,我將在程式碼中在它們之前用“*”進行標記。我找到的唯一解決方案是更改路徑檔案以添加 MiKTeX 目錄——我已經這樣做了,但問題仍然存在。我還沒有找到任何其他修復方法。

一、運行命令:

"C:\Users\Matthew\Desktop\latex.bat" "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

然後,.bat 本身

%~d1
cd %1

*call:cleanup

*pdflatex %2
*bibtex  %2
*pdflatex %2
*pdflatex %2

*call:cleanup

START "" "C:\Program Files\SumatraPDF\SumatraPDF.exe" %2 -reuse-instance

del *.dvi
del *.aux
del *.bbl
del *.blg
del *.brf
del *.out
goto:eof

所有代碼均來自這個網頁

據我所知,唯一起作用的部分是運行命令本身、PDF 程式的啟動(並且它試圖打開一個不存在的文件,因為 MiKTeX 不工作)以及日誌文件的刪除在最後。 PDFLatex 本身可以透過命令提示字元調用,但由於某種原因嘗試將其放入批次檔中不起作用。

答案1

該問題是連結來源檔案的縮減版本它不會正常工作由於沒有 :cleanup 行,因此 call:cleanup 將會失敗,直到最後出現預設的 del(s) 。

“系統找不到指定的批次標籤 - 清理”

雖然批次檔似乎確實按照描述運行,但 SumatraPDF 也會失敗,這是可以理解的,因為如果沒有 .pdf,命令再次錯誤

奇怪的是,從描述來看,即使進行了這些更正,它也應該運行 PDFLATEX 等。

若要擷取錯誤,請在啟動 SumatraPDF 的行後面的單獨一行上暫停。

如果連結的來源被刪除,這裡是根據我上面的評論的更正版本。請注意作者的前提條件 A tex bin(MiKTeX 或 TeX Live 必須位於路徑上
此批次檔使用兩個單獨的引號的參數呼叫
A)引號的tex 檔案的完整路徑,例如「d:\ my docs ”
B)帶有引號的不含副檔名的檔案名,例如「我的 tex 檔案」
它可以從命令提示字元或編輯器執行

它甚至可以修改為從 SumatraPDF 中的 PDF 調用,以便從 PDF 檢視器運行,它可以重新編譯在沼澤標準 MSnotePad 或 Wordpad/write 中所做的任何簡單更改(需要 IDE 編輯器:-)

%~d1
cd %1
:: the following line will delete all files listed below prior to a new run and again as it opens the pdf so do NOT list the synctex files
call:cleanup
:: the following calls do not include common requirements such as -synctex=1 etc. (compare with your normal workflow)
pdflatex %2
bibtex  %2
pdflatex %2
pdflatex %2

"C:\Program Files\SumatraPDF\SumatraPDF.exe" %2.pdf  

:cleanup
del *.dvi
del *.aux
del *.bbl
del *.blg
del *.brf
del *.out
:: the following eof is needed once to return to the initial call above then will be ignored on final run
goto:eof

相關內容