Запуск .ins-файла с помощью терминала и пользовательской команды

Запуск .ins-файла с помощью терминала и пользовательской команды

Я использую портативную версию MiKTeX 2.9 на внешнем жестком диске на ПК без прав администратора.

Я пытаюсь запустить файл .ins с помощью терминала TeXmaker, используя 'latex NameOfPackage.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 организованы таким образом, что исходные файлы документациинетsearched, когда TeX ищет свои файлы input/package/class. Это уменьшает пространство поиска и ускоряет поиск файлов.

Но с другой стороны, невозможно вызвать генерацию исходных файлов откуда-либо еще, потому что .insфайлы .dtxне найдены за пределами поддерева TDS: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. В противном случае переменные среды можно настроить вручную в системе Windows, если папка binимеет постоянное расположение или можно использовать ранее описанный способ.

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