如何編寫一個 LaTeX 包,不僅捆綁 .sty 和 .cls 文件,還捆綁一些 .pdf 或 .eps 格式的標誌?

如何編寫一個 LaTeX 包,不僅捆綁 .sty 和 .cls 文件,還捆綁一些 .pdf 或 .eps 格式的標誌?

我想製作一個包含以下子目錄的 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 約定)並將其放入docsource子樹中,具體取決於文件​​的內容。

分配形式

對於發行版,我會將這些檔案(包括目錄結構)放在一個.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/resourcestex/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樹中。

相關內容