次のサブディレクトリを持つ LaTeX パッケージを作成したいと思います。
tex/latex/common
.tex
(手紙と手紙の間で共有される共通ファイルbeamer
)tex/latex/resources
(グラフィック リソースを含む多数の PDF および EPS ファイル)tex/latex/mybeamer
(5 つのファイルを含むカスタム ビーマー テーマ.sty
)tex/latex/myletter
(.cls
手紙テンプレートのファイル)
これらのファイルを、ユーザーが簡単にインストールできる単一の LaTeX パッケージにパッケージ化したいと考えています。.ins
および.dtx
ファイルについて読み、.sty および ファイルをパッケージ化する方法もわかりましたが、追加のグラフィック、つまり複数の PDF およびファイル.cls
を含むリソース フォルダーについてはどうでしょうか。.eps
答え1
TDS構造
LaTeXパッケージが と呼ばれていると仮定しますfoobar
。TDS(TeXファイルのディレクトリ構造) ファイルは次のディレクトリの下に保存されます。
TDS:tex/latex/foobar/
(TeX ファイルの場合: .tex、.sty、画像)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>
さらにファイルを提供する場合は、この名前を正確に使用し (AFAIK CTAN 規則)、ファイルの内容に応じて、またはサブツリーREADME
に配置します。doc
source
配布形態
配布用に、ディレクトリ構造を含むこれらのファイルを.zip
ファイル( /ルートfoobar.tds.zip
なし) に入れます。そうすれば、ユーザーは簡単に解凍してインストールできるので、インストールは非常に簡単になります。Linux/TeX Live のデフォルトのホーム ツリーのインストール例:TDS:
temxf
$ unzip foobar.tds.zip -d ~/texmf/
パッケージがシステム全体のローカルtexmf
ツリーにインストールされている場合は、ファイル名データベースを更新する必要があります (ルート下)。
$ texhash
または
$ mktexlsr
CTAN
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 ファイルに対して同じ入力パスを共有するため、beamer ファイルと letter ファイルを分離する必要はありません。
答え3
こちらはTeX ディレクトリ構造バンドルの名前を選択します。
- あらゆる形式で使用できるTeXファイルを
tex/generic/bundlename
- クラスやパッケージなどのLaTeXファイルを
tex/latex/bundlename
- グラフィックリソースを配置する
tex/generic/images/bundlename
- ドキュメントを入れる
doc/latex/bundlename
- ドキュメントストリップのソースを入れる
source/latex/bundlename
たとえばpgf
ディストリビューションの内部を見ると、これらが多数使用されていることがわかります。その後のインストール プロセスは、cp -R
ディレクトリをツリーにまとめるだけですtexmf
。