Файл ‘darkmode.sty’ не найден, экстренная остановка

Вопрос или проблема

Описание

При использовании vimtex для компиляции моего документа у меня появляется ошибка:

Файл `darkmode.sty' не найден.
ошибка| Экстренная остановка.
ошибка| Произошла фатальная ошибка, PDF файл не создан!

Эта ошибка возникает с несколькими разными пакетами, такими как darkmode, circuitikz и float. Когда я запускаю latexmk из командной строки, он компилируется без проблем. В частности, следующая информация выводится для примера файла:

Прочитанные файлы Rc:
  НЕТ
Latexmk: Это Latexmk, Джон Коллинз, 31 янв. 2024. Версия 4.83.
Нет существующего .aux файла, поэтому я создам простой, и потребуется запуск *latex.
Latexmk: применяется правило 'pdflatex'...
Правило 'pdflatex':  Причины для повторного запуска
Категория 'другое':
  Повторный запуск 'pdflatex' принудительно или ранее требовался:
    Причина или флаг: 'Начальная настройка'

------------
Номер запуска 1 правила 'pdflatex'
------------
------------
Запуск 'pdflatex  -recorder  "temp.tex"'
------------
Это pdfTeX, Версия 3.141592653-2.6-1.40.25 (TeX Live 2023/nixos.org) (предварительно загруженный формат=pdflatex)
 ограниченная \write18 разрешена.
вход в расширенный режим
(./temp.tex
LaTeX2e <2023-11-01> уровень исправления 1
Уровень программирования L3 <2024-02-20>

(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/base/article.cls
Класс документа: article 2023/05/17 v1.4n Стандартный класс документа LaTeX

(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/base/size10.clo))
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/darkmode/darkmode.sty
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/l3kernel/expl3.sty
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/l3backend/l3backend-pdftex.def))
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/l3packages/l3keys2e/l3keys2e.sty)
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/xcolor/xcolor.sty
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/graphics-cfg/color.cfg)
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/graphics-def/pdftex.def)
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/graphics/mathcolor.ltx))
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/pagecolor/pagecolor.sty
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/kvoptions/kvoptions.sty
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/graphics/keyval.sty)
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/generic/ltxcmds/ltxcmds.sty)
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/latex/kvsetkeys/kvsetkeys.sty)))) (./temp.aux)
(/nix/store/jq3pgdrl04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/te
x/context/base/mkii/supp-pdf.mkii
[Загрузка MPS в PDF конвертер (версия 2006.09.02).]
) [1{/nix/store/43i94gavdacv9x87kjw3d11lrh05wffn-texlive-combined-2023/share/te
xmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./temp.aux) )</nix/store/jq3pgdrl
04wbgrsxhvkglcfv0b1dsj3q-texlive-combined-2023-texmfdist/fonts/type1/public/ams
fonts/cm/cmr10.pfb>
Вывод записан в temp.pdf (1 страница, 16780 байт).
Транскрипт записан в temp.log.
Latexmk: Получение лог-файла 'temp.log'
Latexmk: Изучение 'temp.fls'
Latexmk: Изучение 'temp.log'
Latexmk: Лог-файл говорит, что выход в 'temp.pdf'
Latexmk: Все цели (temp.pdf) актуальны

Пример файла, о котором идет речь:

\documentclass{article}
\usepackage{darkmode}
\enabledarkmode

\begin{document}

tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\end{document}

Шаги для воспроизведения

  1. Откройте минимальный tex документ в neovim
  2. Используйте пакет darkmode (также проблема с несколькими другими пакетами)
  3. Запустите :VimtexCompileSS

Ожидаемое поведение

Документ компилируется без проблем, как в случае с командной строкой

Фактическое поведение

Появляется ошибка, и документ не компилируется

VimtexInfo

Информация о системе:
  ОС: Linux 6.6.63
  Версия Vim: NVIM v0.10.2
  Имеет клиент-сервер: true
  Имя сервера: /run/user/1000/nvim.29353.0

Проект VimTeX: temp
  база: temp.tex
  корень: /home/ea
  tex: /home/ea/temp.tex
  основной парсер: текущий файл проверен
  класс документа: article
  пакеты: darkmode expl3 keyval kvoptions kvsetkeys l3keys2e ltxcmds pagecolor xcolor
  компилятор: latexmk
    движок: -pdf
    опции:
      -verbose
      -file-line-error
      -synctex=1
      -interaction=nonstopmode
    обратный вызов: 1
    непрерывный: 1
    исполняемый файл: latexmk
  просмотрщик: Zathura
    xwin id: 0
  метод qf: LaTeX logfile

Информация о системе

Я использую NixOS с home manager. У меня установлен latex в соответствии с страницей NixOS Wiki о TexLive. В частности, я установил комбинированный пакет полного набора с указанным пакетом darkmode:

let
  tex = (pkgs.texlive.combine {
    inherit (pkgs.texlive) scheme-full
      darkmode;
  });
  зависимости = с pkgs; [
    tex
  ];
в {

и

home.packages = с pkgs; [
 tex
];

Ответ или решение

Ошибка "File ‘darkmode.sty’ not found, emergency stop" возникает при компиляции документа LaTeX с использованием vimtex, когда не удается найти указанный файл пакета. Эта проблема проявляется в разных пакетах, что может указывать на несколько возможных причин. Давайте подробно рассмотрим эту проблему и предложим возможные решения.

Проблема

При использовании :VimtexCompileSS для компиляции небольшого файла LaTeX с использованием пакета darkmode, возникает ошибка, указывающая на то, что файл darkmode.sty не найден. В то же время компиляция с использованием latexmk из командной строки проходит успешно и файл генерируется без каких-либо ошибок. Это может указывать на различия в конфигурации окружения между vimtex и командной строкой.

Возможные причины

  1. Различия в путях к пакетам: Vimtex может не использовать тот же путь к файлам, что и latexmk, что может объяснять проблему с нахождением файла darkmode.sty. При этом команда latexmk успешно использует нужные пакеты, поскольку имеет доступ к правильной конфигурации TeX Live.

  2. Переменные окружения: Иногда конфигурация среды, в которой запускается vimtex, может отличаться от той, что используется в терминале. Это может быть вызвано различиями в переменных окружения PATH или других переменных, относящихся к Tex Live.

  3. Установка пакетов: Возможно, пакет darkmode не установлен в системе Vimtex, хотя он доступен из команды, выполняемой в терминале. Это может произойти, если Vimtex использует другую версию TeX Live.

Рекомендации по устранению проблемы

  1. Проверка конфигурации путей: Убедитесь, что vimtex использует правильные пути к пакетам. Проверьте, какие пути установлены в texmf и включены в переменную окружения TEXMF, исполнив команду kpsewhich в терминале:

    kpsewhich darkmode.sty

    Сделайте то же самое в vim, чтобы сравнить результаты.

  2. Проверка переменных окружения: Проверьте, не отличаются ли переменные окружения, используемые vim и терминалом. В vim выполните следующую команду:

    :echo $PATH

    Сравните с аналогичной командой в терминале.

  3. Обновление пакетов: Если проблема связана с отсутствующими пакетами, попробуйте обновить TeX Live и убедитесь, что все необходимые зависимости установлены. Это можно сделать через nix-env или в файле конфигурации NixOS.

    Пример:

    let
     tex = (pkgs.texlive.combine {
       inherit (pkgs.texlive) scheme-full darkmode;
     });
    in {
     home.packages = with pkgs; [ tex ];
    }
  4. Проверка конфигурации Vimtex: Убедитесь, что vimtex правильно настроен в файле конфигурации Vim (например, ~/.config/nvim/init.vim или ~/.vimrc). Проверьте, не задает ли ваша конфигурация vimtex явно какие-либо ограничения, которые могли бы помешать доступу к пакетам.

  5. Использование альтернативных инструментов: Если проблема не решается, рассмотрите возможность использования других средств компиляции LaTeX внутри Neovim, таких как TeXShop или Overleaf, которые могут предоставить более простую интеграцию.

Заключение

Ошибка "File ‘darkmode.sty’ not found" при использовании vimtex может проявляться по ряду причин, включая неправильные пути к пакетам, переменные окружения и отсутствие необходимых пакетов. Следуя вышеприведенным рекомендациям, вы сможете устранить данную ошибку и успешно скомпилировать ваши LaTeX документы. Если проблемы продолжают возникать, желательно обратиться к документации vimtex или сообществу за дополнительной поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...