我想製作一個包含以下子目錄的 LaTeX 套件:
tex/latex/common
(信件.tex
之間共享的公共文件)beamer
tex/latex/resources
(大量帶有圖形資源的 pdf 和 eps 檔案)tex/latex/mybeamer
(附 5 個檔案的自訂投影機主題.sty
)tex/latex/myletter
(信件.cls
範本文件)
我想將這些檔案打包到一個 LaTeX 套件中,使用者可以輕鬆安裝。我閱讀了有關.ins
和.dtx
文件的內容,並且可以了解如何打包 .sty 和.cls
文件,但是額外的圖形(包含多個 PDF 和.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>
如果您另外提供一個README
文件,那麼我將準確地使用該名稱(AFAIK CTAN 約定)並將其放入doc
或source
子樹中,具體取決於文件的內容。
分配形式
對於發行版,我會將這些檔案(包括目錄結構)放在一個.zip
檔案中foobar.tds.zip
(不含TDS:
/temxf
根目錄)。那麼安裝對使用者來說是非常簡單的,解壓縮即可輕鬆安裝。 Linux/TeX Live 中預設主目錄樹的安裝範例:
$ 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
- 將 docstrip 來源放入
source/latex/bundlename
如果您查看內部,例如pgf
發行版,您會看到很多正在使用的內容。然後安裝過程只是將cp -R
目錄放入texmf
樹中。