
Я не хочу изобретать велосипед, поэтому, возможно, вы могли бы помочь мне найти инструмент, который соответствует моим потребностям.
Фон
Насколько мне известно, требуется некоторое время, чтобы пакет 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 нуждается в переработке и оптимизации...