Я хотел бы создать пакет 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:
/ temxf
root). Тогда установка будет довольно простой для пользователя, который может легко установить, распаковав. Пример установки для домашнего дерева по умолчанию в 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
дереве.