跳轉到內容

LaTeX/建立包文件

來自華夏公益教科書,開放書籍,開放世界

LaTeX

入門
  1. 介紹
  2. 安裝
  3. 安裝額外的包
  4. 基礎
  5. 如何獲得幫助

常用元素

  1. 文件結構
  2. 文字格式
  3. 段落格式
  4. 顏色
  5. 字型
  6. 列表結構
  7. 特殊字元
  8. 國際化
  9. 旋轉
  10. 表格
  11. 標題建立
  12. 頁面佈局
  13. 自定義頁面頁首和頁尾‎
  14. 匯入圖形
  15. 浮動體、圖形和標題
  16. 腳註和邊注
  17. 超連結
  18. 標籤和交叉引用
  19. 首字母

機制

  1. 錯誤和警告
  2. 長度
  3. 計數器
  4. 方框
  5. 規則和支撐

技術文字

  1. 數學
  2. 高階數學
  3. 定理
  4. 化學圖形
  5. 演算法
  6. 原始碼清單
  7. 語言學

特殊頁面

  1. 索引
  2. 術語表
  3. 參考文獻管理
  4. 更多參考文獻

特殊文件

  1. 科學報告(學士論文、碩士論文、博士論文)
  2. 信件
  3. 簡報
  4. 教師專區
  5. 簡歷
  6. 學術期刊(MLA、APA 等)

建立圖形

  1. 介紹程式化圖形
  2. MetaPost
  3. 圖片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 建立 3D 圖形

程式設計

  1. Plain TeX
  2. 建立包
  3. 建立包文件
  4. 主題

其他

  1. 模組化文件
  2. 協作編寫 LaTeX 文件
  3. 匯出到其他格式

幫助和建議

  1. 常見問題解答
  2. 技巧和竅門

附錄

  1. 作者
  2. 連結
  3. 包參考
  4. LaTeX 文件示例
  5. 索引
  6. 命令詞彙表

編輯此框編輯目錄

文件對於終端使用者來說非常重要,可以讓他們快速瞭解如何使用您的包。它們也對其他開發人員有幫助,因為它們可以使閱讀您的程式碼更容易。每種程式語言都有自己的文件編寫方式。對於 LaTeX,我們從.dtx檔案生成 pdf 文件。

.dtx字尾是documentation TeX的縮寫。它具有兩種功能

  • 向用戶解釋如何使用包中的命令
  • 格式化原始碼以方便閱讀

基本結構

[編輯 | 編輯原始碼]

假設您想要為新建立的包編寫文件,該包名為mypackage例如。 的基本結構.dtx檔案如下所示

% \iffalse meta-comment
% Add copyright,author,version information
% here for this documentation file
% \fi
% \iffalse
%<*driver>
\ProvidesFile{mypackage.dtx}[1.0 My package]
\documentclass{ltxdoc}
\begin{document}
  \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
% write normal LaTeX documentation content here
% \Finale
%
\endinput

當您執行pdflatex mypackage.dtx,您可以生成mypackage.pdf,即手冊。在這個 pdf 檔案中,\fi\endinput 之後的全部內容都會從註釋中剝離出來,並插入到文件之間。注意,當 LaTeX 引擎第一次遇到 \DocInput 時,它會再次讀取同一個檔案,但會剝離所有以 % 開頭的行。結果是,它會忽略包含 \iffalse ...\fi 的程式碼塊。還應注意,同一個檔案的第二次傳遞也會忽略 %<driver>%<*driver> 之間的魔法註釋。指示符 **driver** 表明內部內容是生成最終手冊的包裝器,您可以根據需要用其他單詞替換它們。

有一些宏需要進一步解釋

  • \ProvidesFile{<name>}[<version>] 的工作原理類似於 \ProvidesPackage{<name>}[<version>],它將方括號中的內容寫入日誌檔案。
  • 元註釋用於提供.dtx檔案本身的資訊。由於您不能使用正常的 TeX 註釋,因為它們會被剝離。
  • ltxdoc類似於其他文件類,並提供一些易於使用的命令來編寫包文件,如下所示。

新的宏描述

[編輯 | 編輯原始碼]

要描述在您的包中定義的宏,您可以使用

% \begin{macro}{\mymacro}
% mymacro definition goes here
% \end{macro}

環境macro接受一個強制引數,即宏的名稱,並在左頁邊距處列印。您也可以使用 \DescribeMacro{mymacro} 並將額外的解釋放在正常文字中。對於新的環境描述,您可以使用 \DescribeEnv{mynewenv}。它們的區別在於索引條目型別,這將在下面說明。

索引條目和更改

[編輯 | 編輯原始碼]

在包文件檔案的序言中新增 \EnableCrossrefs(在行開頭不要加註釋)。在您想要索引出現的位置新增 \PrintIndex。您描述的所有宏都將在文件末尾打印出來。有關建立索引的常規介紹,請參見編譯索引。通常,以下構建就足夠了

makeindex -s gind.ist -o mypackage.ind mypackage.idx

ltxdoc還提供了記錄包更改的功能。要啟用此功能,請在序言中新增 \RecordChanges,並使用

\changes{v1.0}{2017/01/01}{create my package.}

在您想要索引出現的位置新增 \PrintChanges。更改將使用術語表支援進行記錄,呼叫makeindex從命令列

makeindex -s gglo.ist -o mypackage.gls mypackage.glo
華夏公益教科書