Как написать пакет LaTeX, который объединяет не только файлы .sty и .cls, но и некоторые логотипы в форматах .pdf или .eps?

Как написать пакет LaTeX, который объединяет не только файлы .sty и .cls, но и некоторые логотипы в форматах .pdf или .eps?

Я хотел бы создать пакет LaTeX со следующими подкаталогами:

  • tex/latex/common(общий .texфайл, общий для всех beamerи письма)
  • tex/latex/resources(множество файлов pdf и eps с графическими ресурсами)
  • tex/latex/mybeamer(индивидуальная тема для Beamer с 5 .styфайлами)
  • tex/latex/myletter( .clsфайл для шаблона письма)

Я хотел бы упаковать эти файлы в один пакет LaTeX, который пользователи могли бы легко установить. Я прочитал о файлах .insи .dtxи вижу, как упаковать файлы .sty и .cls, но что насчет дополнительной графики - папки ресурсов, которая содержит несколько .epsфайлов PDF и ?

решение1

Структура ТДС

Предположим, что ваш пакет LaTeX называется foobar. Тогда согласно TDS (Структура каталогов для файлов TeX) файлы будут располагаться в следующих каталогах:

  • TDS:tex/latex/foobar/(для файлов TeX: .tex, .sty, images)
  • TDS:doc/latex/foobar/ (для файлов документации)
  • TDS:source/latex/foobar/(для исходных файлов .dtx, .ins)

Дальнейшие подкаталоги — на ваше усмотрение. Я бы избегал их, если файлов немного. Если файлов много, то дальнейшие уровни каталогов могут помочь организовать файлы.

Пример:

  • TDS:doc/latex/foobar/foobar.pdf
  • TDS:source/latex/foobar/foobar.dtx
  • TDS:source/latex/foobar/foobar.ins
  • Другие исходные файлы, не указанные в .dtxфайле, могут быть указаны в:
    TDS:source/latex/foobar/или
    TDS:source/latex/foobar/resources/
  • TDS:tex/latex/foobar/foobar.cls
  • TDS:tex/latex/foobar/foobar-common.sty(Файл TeX для класса письма и шаблонов проектора)
  • TDS:tex/latex/foobar/<foobar beamer file 1>,
    TDS:tex/latex/foobar/<foobar beamer file 2>,
    ...,
    TDS:tex/latex/foobar/<foobar beamer file 5>
  • TDS:tex/latex/foobar/resources/<.eps/.pdf image files>

Если вы дополнительно предоставите READMEфайл, то я бы использовал именно это имя (насколько мне известно, соглашение CTAN) и поместил бы его в поддерево docили sourceв зависимости от содержимого файла.

Форма распространения

Для дистрибуции я бы поместил эти файлы, включая структуру каталогов, в .zipфайл foobar.tds.zip(без TDS:/ temxfroot). Тогда установка будет довольно простой для пользователя, который может легко установить, распаковав. Пример установки для домашнего дерева по умолчанию в Linux/TeX Live:

$ unzip foobar.tds.zip -d ~/texmf/

В случае, если пакет установлен в локальном texmfдереве системы, необходимо обновить базу данных имен файлов (под учетной записью root):

$ texhash

или

$ mktexlsr

КТАН

Предложение по форме CTAN, если вы хотите предоставить ее там:

  • CTAN:macros/latex/foobar/foobar.dtx
  • CTAN:macros/latex/foobar/foobar.ins
  • CTAN:macros/latex/foobar/foobar.pdf(документация)
  • ( CTAN:macros/latex/foobar/README)
  • CTAN:macros/latex/foobar/resources.zip(или распаковать в каталог resources/)
  • CTAN:install/macros/latex/foobar.tds.zip

решение2

В структуре каталогов TeX (TDS) имена каталогов ниже tex/latexявляются глобальным общим ресурсом, поэтому вам не нужно брать слишком много и выбирать имена, которые являются уникальными для вашего пакета. Поэтому tex/latex/resourcesи tex/latex/commonне будут хорошими именами (и я подозреваю, что не будут приняты, если вы попытаетесь включить пакет в дистрибутив, такой как texlive).

beamerи letterоба используют один и тот же входной путь для файлов tex, поэтому нет необходимости разделять файлы проектора и письма.

решение3

ЗдесьСтруктура каталога TeXпуть. Выберите название для вашего пакета.

  • Поместите файлы TeX, которые можно использовать в любом формате, вtex/generic/bundlename
  • Поместите файлы LaTeX, такие как классы и пакеты, вtex/latex/bundlename
  • Поместите графические ресурсы вtex/generic/images/bundlename
  • Поместите документацию вdoc/latex/bundlename
  • Поместите источники docstrip вsource/latex/bundlename

Вы увидите много из этого в использовании, если посмотрите внутрь, например, дистрибутива pgf. Тогда процесс установки просто в cp -Rкаталоги в texmfдереве.

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