定理、證明與專業公式
使用 amsthm 定義定理、引理和定義環境,使用 proof 排版證明。amsmath 和 amssymb 則提供常用運算元、集合字型與數學符號。
EasyLaTeX 編譯器設定:XeLaTeX + ctex;需載入 amsmath、amsthm 和 amssymb。
定義定理環境
在導言區用 \newtheorem 宣告環境。下面的寫法讓定理按節編號,例如「定理 1.1」:
\usepackage{amsthm}\newtheorem{theorem}{定理}[section]\newtheorem{lemma}[theorem]{引理}\theoremstyle{definition}\newtheorem{definition}[theorem]{定義}[section] 表示每個 \section 重新開始編號;[theorem] 表示引理和定義與定理共用同一序列。根據文件要求選擇一種穩定編號方案,不要在同一論文中隨意混用。
定理、引理與定義
定義完成後,在正文中使用對應EasyLaTeX 編譯器設定:
\begin{theorem}[勾股定理]直角三角形兩直角邊的平方和等於斜邊的平方。\end{theorem}\begin{definition}若集合 \(A\) 的元素個數有限,則稱 \(A\) 為有限集。\end{definition}方括號中的「勾股定理」是定理標題,可省略。amsthm 的 definition 樣式通常使用直立正文,適合定義、例和備註。
證明環境
amsthm 提供 proof 環境,並在末尾自動加入證畢符號:
\begin{proof}由假設 \(a=b\),兩邊同時加上 \(c\) 可得 \(a+c=b+c\)。\end{proof}若證明以獨立公式結束,證畢符號可能需要手動放入公式中:
\begin{proof}\[ (a+b)^2 = a^2 + 2ab + b^2. \qedhere\]\end{proof}\qedhere 讓證畢符號出現在公式行末,避免另起一行。
常用運算元與集合
數學運算元應使用內建指令,而不是把名字逐字母斜體輸入:
\[ \sin x + \log y = \lim_{n \to \infty} a_n.\]常用集合可用 \mathbb 表示:
\[ \mathbb{N} \subset \mathbb{Z} \subset \mathbb{Q} \subset \mathbb{R} \subset \mathbb{C}.\]\mathbb 由 amssymb 提供。機率、期望、秩等沒有統一的單字母慣例時,應在文件中首次定義含義。
自訂運算元
對於經常使用的多字母運算元,在導言區用 \DeclareMathOperator 定義:
\DeclareMathOperator{\rank}{rank}\DeclareMathOperator*{\argmax}{arg\,max}帶星號的版本會在顯示公式中把上下限放到運算元正下方或正上方:
\[ \argmax_{x \in \mathbb{R}} f(x).\]不要反覆寫 \mathrm{rank} 偽造運算元;它不能像真正運算元一樣處理間距與上下標位置。
常見問題
環境未定義
出現 Environment theorem undefined 或 Environment proof undefined 時,確認導言區已載入 \usepackage{amsthm},且 \newtheorem 寫在正文開始前。
中文定理標題樣式不合適
先確認 ctex 與 amsthm 的預設輸出是否符合學校模板。模板已有定理定義時,不要再次宣告同名環境;應重複使用模板的名稱和編號規則。
\mathbb 未定義
載入 \usepackage{amssymb}。同樣地,符號或指令未定義時,應先查它屬於哪個套件,而不是複製多個未知的套件配置。
完整示例
\documentclass[UTF8,a4paper,12pt]{ctexart}\ctexset{contentsname={目錄},listfigurename={插圖目錄},listtablename={表格目錄},figurename={圖},tablename={表}}\usepackage{amsmath}\usepackage{amsthm}\usepackage{amssymb}\newtheorem{theorem}{定理}[section]\theoremstyle{definition}\newtheorem{definition}[theorem]{定義}\DeclareMathOperator{\rank}{rank}\begin{document}\section{示例}\begin{definition}若 \(A \subseteq \mathbb{R}\),則稱 \(A\) 為實數集合的子集。\end{definition}\begin{theorem}對任意實數 \(a\) 與 \(b\),有 \((a+b)^2=a^2+2ab+b^2\)。\end{theorem}\begin{proof}直接展開 \((a+b)(a+b)\) 即得\[ (a+b)^2 = a^2 + 2ab + b^2. \qedhere\]\end{proof}\end{document}