Кроссплатформенный менеджер пакетов для пакетов, *не* входящих в CTAN

Кроссплатформенный менеджер пакетов для пакетов, *не* входящих в CTAN

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

Фон

Насколько мне известно, требуется некоторое время, чтобы пакет LaTeX стал доступен на CTAN. И некоторые люди (включая меня) разрабатывают пакеты на Github и т. д. Поэтому было бы неплохо иметь инструмент (типа apt-getили tmgr), который может управлять пакетами LaTeX вне CTAN.

Требования

  • КроссплатформенныйИнструмент должен работать на всех основных операционных системах и быть совместим с TeXLive и MiKTeX.
  • Поддержка GithubЗагружайте и обновляйте пакеты LaTeX с таких сервисов, как Github / Sourceforge / Google Code.
  • Интерфейс командной строкиДолжны быть вариантыобновлятьвсе установленные пакеты илиустановитьпакет с указанного URL

решение1

При создании такого менеджера самая большая проблема заключается в следующем:Как автоматически преобразовать произвольные макеты (созданные авторами) в макет TDS (TeX Directory Standard).

Есть частичное решение, которое мы используем при извлечении из CTAN в TeX Live, это скрипт, который называется , ctan2tdsкоторый знает много о многих различных пакетах и ​​о том, как преобразовать их в макет TDS. У него даже есть автоматический режим, если не указано ничего особенного. Этот автоматический режим работает довольно хорошо для простых пакетов, но никак не для слегка сложных пакетов.

Теперь о супер-tlmgr: необходимо преодолеть несколько проблем:

  • включение/расширение ctan2tds: это, вероятно, самая простая часть
  • научить super-tlmgr получать доступ к различным источникам (git, svn, zip, tar.gz, плоские файлы, ...)
  • сделать его независимым от платформы (удачи! Я знаю, как это сложно на Windows)

Тем не менее, это не невозможно. Я представляю себе расширение tlmgr, которое включает кодовую базу ctan2tds, а также патчи пользовательского режима, чтобы можно было устанавливать в произвольные деревья. Super-tlmgr загрузит пакет из любого источника, попытается запустить код ctan2tds на нем, поместит его во временную папку TDS и представит результат пользователю, предложив установить или удалить.

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

Последнее: я так не думаю.якогда-нибудь будет время поработать над этим. И есть еще одна вещь, а именно, что код ctan2tds нуждается в переработке и оптимизации...

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