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 нет, то вызов:cleanup завершится ошибкой до тех пор, пока в конце не будут выполнены del(s) по умолчанию.

«Система не может найти указанную метку партии — очистка»

Хотя пакетный файл, судя по описанию, работает, SumatraPDF также, как и следовало ожидать, не запустится, поскольку команда снова неверна без .pdf.

странно то, что из описания, даже если бы эти исправления были сделаны, он должен был бы запустить PDFLATEX и т. д., но без представления об ошибках вывода никто не может сказать, почему этого не происходит.

Чтобы отследить ошибки, поставьте паузу на отдельной строке после той, с которой начался SumatraPDF.

На случай, если ссылка на источник будет удалена, вот исправленная версия, соответствующая моим комментариям выше.Обратите внимание на предварительные условия автора. Папка tex (MiKTeX или TeX Live должна быть указана в path).
Этот пакетный файл вызывается с двумя отдельными аргументами в кавычках:
A) полный путь к файлу tex в кавычках, например "d:\my docs"
B) имя файла в кавычках без расширения, например "my tex file".
Его можно запустить из командной строки или из редактора.

Его даже можно модифицировать для вызова из PDF-файла в SumatraPDF, так что при запуске из средства просмотра 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

Связанный контент