課程 五

文件類

本課解釋了什麼是文件類以及它如何影響文件佈局和設計。它列出了在 TeX 發行版中可以找到的主要文件類。

你可能已經注意到,到目前為止我們建立的所有 LaTeX 文件都以\documentclass行開始,而且 \documentclass{article}是最常見的選擇。(我們在上一課中需要 \documentclass{report}來嘗試\chapter命令。)這行是所有 LaTeX 文件都必需的,而且幾乎總是應該是文件中的第一個命令。

注意:在本課程中,我們將使用ctexart類來建立包含中文的文件,這是一箇中文文件類,可以自動處理中文的排版問題。

文件類的作用

文件類設定文件的整體佈局,例如:

文件類也可以更普遍地新增新命令;這在特殊情況下尤其如此,比如建立演示幻燈片。

文件類行也可以設定_全局選項_:應用於整個文件的內容。這些選項在方括號中給出: \documentclass[<選項>]{<名稱>}。這種語法,即在方括號中首先給出可選資訊,在許多 LaTeX 命令中都使用。

基礎文件類

LaTeX 自帶一組標準文件類,它們的外觀相似但有一些變化:

這些類都有自己的選項,可以用來調整佈局和功能。articlereportbook類有非常相似的可用命令,正如我們已經看到的。

與之相對,CTex包提供了一些中文文件類:

如果某種標準文件類未發現對應的ctex版本,可以在文件類定義後新增ctex包來呼叫中文文件類。引用格式為:

\documentclass{<標準文件類名>}
\usepackage{ctex}

選擇不同的文件類,可能會有一些可用命令與環境的細微差別。例如,當寫信時,可用的命令有點不同:

% !TEX program=lualatex

\documentclass{letter}
\usepackage{ctex}
\begin{document}

\begin{letter}{某某地址\\某某街道\\某某城市}

\opening{親愛的先生或女士,}

信件正文在這裡

\closing{此致,}

\end{letter}

\end{document}

看看如何使用\\來分隔地址的行;我們將在稍後討論換行。另外請注意letter類如何為每封信建立一個新的環境並有專門的命令。

標準的articlereportbook類接受10pt11pt12pt選項來改變字型大小,以及twocolumn選項來使文件成為雙欄。

功能豐富的類

核心類非常穩定,但這也意味著它們在設計和可用命令範圍方面都相當保守。隨著時間的推移,一些更強大的類被編寫出來,讓你無需手動操作就可以改變設計(我們將在稍後提到)。

美國數學學會提供標準類的變體(amsartamsbook),設計風格更傳統,更接近數學期刊出版物中使用的風格。

兩個最大和最流行的”擴充套件”類是KOMA-Script包和memoir類。KOMA-Script提供了一組與標準類”平行”的類:scrartclscrreprtscrbookscrlttr2,而memoir類則是一個單一的類,最像是book的擴充套件。

這些擴充套件類有很多定製鉤子,我們將在練習中探索一些。你可能想知道我們如何了解它們提供的鉤子;我們將在後面的課程中介紹這一點,但你總是可以提前了解!

簡報

slides類是為製作20世紀80年代中期的物理幻燈片而開發的,因此沒有任何功能來建立基於PDF的互動式簡報。有現代的類可以做到這一點:它們相對於一般的 LaTeX 文件來說比較特殊,所以我們在補充資訊中介紹了它們。

練習

探索如何在標準類、KOMA包和memoir之間更改文件類如何影響文件的外觀。

% !TEX program=lualatex

\documentclass{ctexart}
\begin{document}

\section{簡介}

這是一個示例文件,帶有一些虛擬文字\footnote{和一個腳註}。這段文字相當長,
因為我們可能想看看讓文件成為雙欄的效果。

\end{document}

新增類選項twocolumn,看看佈局如何變化。

\section改為\chapter,找出使用scrreprt類時以下類選項有什麼效果: