TeX Policy: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 14: Строка 14:
* '''Дистрибутив ТеХ''' — пакет или коллекция пакетов, предоставляющих исполняемые файлы оригинальной программ {{prg|tex}} и {{prg|metafont}} Дональда Кнута, а также совместимых с ним программ, и прочие файлы, необходимые для их работы. В настоящий момент в Сизифе имеется два дистрибутива TeX — {{pkg|texlive}} и {{pkg|tetex}}. Дистрибутивы ТеХ конфликтуют между собой и на настоящий момент нет возможности одновременно установить пакеты, относящиеся к разным дистрибутивам ТеХ.
* '''Дистрибутив ТеХ''' — пакет или коллекция пакетов, предоставляющих исполняемые файлы оригинальной программ {{prg|tex}} и {{prg|metafont}} Дональда Кнута, а также совместимых с ним программ, и прочие файлы, необходимые для их работы. В настоящий момент в Сизифе имеется два дистрибутива TeX — {{pkg|texlive}} и {{pkg|tetex}}. Дистрибутивы ТеХ конфликтуют между собой и на настоящий момент нет возможности одновременно установить пакеты, относящиеся к разным дистрибутивам ТеХ.
* '''Дерево TEXMF''' — подкаталог файловой системы, организованный в соответствии с TDS. В контексте создания пакетов актуальны следующие деревья texmf:
* '''Дерево TEXMF''' — подкаталог файловой системы, организованный в соответствии с TDS. В контексте создания пакетов актуальны следующие деревья texmf:
** '''TEXMFMAIN''' —  
** '''TEXMFMAIN''' — {{path|/usr/share/texmf}}
** '''TEXMFDIST''' —
** '''TEXMFDIST''' — {{path|/usr/share/texmf-<tex_distro_name>}}
* '''Модуль TEXMF''' — любые файлы, предназначенные для использования ТеХ’ом и совместимыми с ним программами (размещаемые в одном из деревьев TEXMF и доступные средствами библиотеки {{pkg|libkpathsea}}). Модуль TEXMF может быть оформлен в качестве отдельного пакета, независимого от конкретного дистрибутива ТеХ, что позволяет использовать такие пакеты с любым из дистрибутивов ТеХ.
* '''Модуль TEXMF''' — любые файлы, предназначенные для использования ТеХ’ом и совместимыми с ним программами (размещаемые в одном из деревьев TEXMF и доступные средствами библиотеки {{pkg|libkpathsea}}). Модуль TEXMF может быть оформлен в качестве отдельного пакета, независимого от конкретного дистрибутива ТеХ, что позволяет использовать такие пакеты с любым из дистрибутивов ТеХ.
* '''Пакет, использующий подсистему ТеХ''' — любой пакет, который нуждается в сборочных либо установочных зависимостях на любые программы, входящие в дистрибутив ТеХ.
* '''Пакет, использующий подсистему ТеХ''' — любой пакет, который нуждается в сборочных либо установочных зависимостях на любые программы, входящие в дистрибутив ТеХ.


== Установочные зависимости ==
== Упаковка пакетов, использующих подсистему ТеХ ==
Если пакет не специфичен для конкретного дистрибутива ТеХ, следует указывать обобщённую
зависимость на те или иные необходимые программы ТеХ, не привязывая пакет без надобности
к одному из дистрибутивов ТеХ.


{{discuss|FIXME: в каких случаях зависимости будут найдены автоматически, в каких необходимо проставлять их вручную}}
=== Установочные зависимости ===
 
В общем случае (пакет не специфичен для конкретного дистрибутива ТеХ), зависимости на
необходимые программы из состава дистрибутива ТеХ '''не следует указывать явно''' — они
будут обнаружены автоматически. Выполнение этого правила позволит использовать такой
пакет с любым из дистрибутивов ТеХ, не привязывая его без необходимости к одному из них.
 
В случае, если необходимая зависимость не была по каким-то причинам обнаружена
автоматически, допускается явное указание зависимости на конкретный исполняемый
файл, необходимый пакету, например:
 
<pre>
Requires: /usr/bin/latex
Requires: /usr/bin/dvips
</pre>
 
Обо всех случаях, когда необходимые зависимости не были обнаружены автоматически,  
следует сообщать как об ошибке.
 
Возможны ситуации, когда пакет специфичен для конкретного дистрибутива ТеХ
и либо не работает с другим дистрибутивом ТеХ, либо не имеет для него смысла.
В этом случае допускается указание зависимости на имена пакетов конкретного дистрибутива
TeX, например, {{pkg|tetex-latex}}.
 
Во всех остальных случаях указание в пакете зависимости на имена пакетов одного из
дистрибутивов ТеХ считается ошибкой.
 
=== Сборочные зависимости ===


== Сборочные зависимости ==
Пакетам, вызывающим ТеХ или его модификации для сборки, следует указывать  
Пакетам, вызывающим ТеХ или его модификации для сборки, следует указывать  
сборочную зависимость на пакеты одного из дистрибутивов ТеХ.  
сборочную зависимость на пакеты одного из дистрибутивов ТеХ.  
Строка 34: Строка 57:
* texlive -- {{pkg|texlive-latex-base}}
* texlive -- {{pkg|texlive-latex-base}}


== Упаковка модулей texmf ==
== Упаковка модулей TEXMF ==
В этом разделе рассмотрены правила упаковки компонентов ТеХ на нескольких  
В этом разделе рассмотрены правила упаковки компонентов ТеХ на нескольких  
наиболее распространённых примерах.  
наиболее распространённых примерах.  
Строка 41: Строка 64:
Сначала определим некоторые дополнительные термины:
Сначала определим некоторые дополнительные термины:


'''TEXMFMAIN''' {{path|/usr/share/texmf}}
'''TEXMFMAIN'''  


'''TEXMFDIST''' {{path|/usr/share/texmf-<distro_name>}}
'''TEXMFDIST'''  


* TeX input files
* TeX input files

Версия от 09:43, 26 марта 2009

ALT TeX policy

Stub.png
Черновик политики Sisyphus
Автор(ы) — KirillMaslinsky
[none Обсуждение в devel@]
Обсуждается с none


Данный документ содержит правила и рекомендации по упаковке пакетов, предоставляющих компоненты подсистемы TeX или использующих ТеХ и его компоненты для сборки, а также имеющих установочные зависимости на те или иные части подсистемы ТеХ.

Определения

  • Дистрибутив ТеХ — пакет или коллекция пакетов, предоставляющих исполняемые файлы оригинальной программ tex и metafont Дональда Кнута, а также совместимых с ним программ, и прочие файлы, необходимые для их работы. В настоящий момент в Сизифе имеется два дистрибутива TeX — texlive и tetex. Дистрибутивы ТеХ конфликтуют между собой и на настоящий момент нет возможности одновременно установить пакеты, относящиеся к разным дистрибутивам ТеХ.
  • Дерево TEXMF — подкаталог файловой системы, организованный в соответствии с TDS. В контексте создания пакетов актуальны следующие деревья texmf:
    • TEXMFMAIN/usr/share/texmf
    • TEXMFDIST/usr/share/texmf-<tex_distro_name>
  • Модуль TEXMF — любые файлы, предназначенные для использования ТеХ’ом и совместимыми с ним программами (размещаемые в одном из деревьев TEXMF и доступные средствами библиотеки libkpathsea). Модуль TEXMF может быть оформлен в качестве отдельного пакета, независимого от конкретного дистрибутива ТеХ, что позволяет использовать такие пакеты с любым из дистрибутивов ТеХ.
  • Пакет, использующий подсистему ТеХ — любой пакет, который нуждается в сборочных либо установочных зависимостях на любые программы, входящие в дистрибутив ТеХ.

Упаковка пакетов, использующих подсистему ТеХ

Установочные зависимости

В общем случае (пакет не специфичен для конкретного дистрибутива ТеХ), зависимости на необходимые программы из состава дистрибутива ТеХ не следует указывать явно — они будут обнаружены автоматически. Выполнение этого правила позволит использовать такой пакет с любым из дистрибутивов ТеХ, не привязывая его без необходимости к одному из них.

В случае, если необходимая зависимость не была по каким-то причинам обнаружена автоматически, допускается явное указание зависимости на конкретный исполняемый файл, необходимый пакету, например:

Requires: /usr/bin/latex
Requires: /usr/bin/dvips

Обо всех случаях, когда необходимые зависимости не были обнаружены автоматически, следует сообщать как об ошибке.

Возможны ситуации, когда пакет специфичен для конкретного дистрибутива ТеХ и либо не работает с другим дистрибутивом ТеХ, либо не имеет для него смысла. В этом случае допускается указание зависимости на имена пакетов конкретного дистрибутива TeX, например, tetex-latex.

Во всех остальных случаях указание в пакете зависимости на имена пакетов одного из дистрибутивов ТеХ считается ошибкой.

Сборочные зависимости

Пакетам, вызывающим ТеХ или его модификации для сборки, следует указывать сборочную зависимость на пакеты одного из дистрибутивов ТеХ.

Наиболее типичная сборочная зависимость -- использование LaTeX при сборке:

  • tetex -- tetex-latex
  • texlive -- texlive-latex-base

Упаковка модулей TEXMF

В этом разделе рассмотрены правила упаковки компонентов ТеХ на нескольких наиболее распространённых примерах.

Размещение файлов

Сначала определим некоторые дополнительные термины:

TEXMFMAIN

TEXMFDIST

  • TeX input files
  • Документация
  • Конфигурационные файлы

Стили для LaTeX

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

  • Схема именования пакетов: latex-<имя_стиля>
  • FIXME: сделать шаблон спека

Шрифты для использования в ТеХ

  • Схема именования пакетов: fonts-<тип>-<имя_коллекции>-tex. См. также FontsPolicy
  • FIXME: сделать шаблон спека

Ссылки