【注】筆記來自《LaTeX入門》——劉海洋。
1. 導言區
在 \begin{document}
前面的部分稱爲導言區,導言區通常用來對文檔的性質做一些設置,或者自定義一些命令。
1.1 聲明文檔類
\documentclass{article} # 西文短文類
\documentclass[UTF8]{ctexart} # 中文短文類
1.2 引用宏包
\usepackage{}
1.3 設定標題、作者、日期等
\title{雜談勾股定理}
\author{張三}
\date{\today}
\begin{document}
\maketitle
...
\end{document}
【注】這些信息並不會馬上出現在編譯的結果中,而是要通過在 \begin{document} ... \end{document}
中添加 \maketitle
進行排版纔會顯現出來。
1.4 聲明參考文獻格式
\bibliographystyle{plain}
2. 正文區
\begin{document} ... \end{document}
中包裹的便是正文區,即論文的正文部分,也即直接輸出的部分。
2.1 輸出標題、作者、日期等信息
在正文區使用 \maketitle
命令來自動排版輸出在導言區定義的文章標題、作者和日期等信息。
\begin{document}
\maketitle
...
\end{document}
2.2 輸出目錄
在正文區使用 \tableofcontents
命令來排版輸出文章的目錄,LaTeX 會自動收集章節命令所定義的各章節標題。
\begin{document}
...
\tableofcontents
...
\end{document}
在 article 中,目錄標題的格式相當於由
\section*
開始的一節。在 report 和 book 中,目錄標題相當於由
\chapter*
開始的一章。
同理,若要輸出圖片標題的目錄,則在正文區插入 \listoffigures
命令;若要輸出表格標題的目錄,則在正文區插入 \listoftables
命令。
-
\listoffigures
和\listoftables
命令主要收集圖表環境中由\caption
定義的圖表標題。
【注】要生成目錄至少需要編譯兩次,讓 LaTeX 有機會讀完整個論文來計算目錄結構。
2.3 摘要
在正文中添加摘要內容需要使用 abstract 環境:
\begin{abstract}
...
\end{abstract}
2.4 段落
空白行分段:單個的換行就相當於一個空格,單個換行不會使文字另起一段,空白行會使文字另起一段。但空白行只起到分段作用,使用很多空白行並不能增大段間距。
空格:段前不用打空格,就算打了也會被忽略,LaTeX 會自動完成文字的縮進;通常漢字後面的空格會被忽略,其他符號後面的空格則會被保留。空格只起到分隔單詞或符號的作用,使用很多空格並不能增大字詞間距。
2.5 腳註
腳註命令爲 \footnote[n]{腳註內容}
。
- 可以通過設定 n 對腳註進行手動編號,也可以省略 n 讓 LaTeX 自動對同一頁面的多個腳註按照出現的先後順序進行編號。
2.6 引用
在正文中添加引用內容需使用 quote 環境:
\begin{quote}
\zihao{-5} % 設定引用內容字號
\kaishu % 設定引用內容字體
...
\end{quote}
2.7 定理
在正文中添加定理內容需要使用定理環境,定理環境是一類環境,在使用前需要先在導言區做定義:
\newtheorem{thm}{定理} % thm 爲定義的環境名稱,「定理」爲定理指示語
如上便定義了一個 thm 的環境。這樣定義的定理環境有一個可選參數,即定理的名字:
\begin{thm}[勾股定理]
...
\end{thm}
定理環境會自動對正文中出現的定理按順序編號,定理最終在正文中的顯示格式爲:
定理指示語 定理編號(定理名字)定理內容
2.8 數學公式
正文公式/行內公式:夾在行文中的公式,使用美元符號
$ $
或\( \)
將公式括起來。顯示公式/列表公式:單獨居中寫在一行的公式,爲了方便引用,還可以給公式編號。使用 equation 環境就可以方便地輸入這種公式,
\[ \]
和$$ $$
是對 equation 環境的簡寫。
在 equation 環境中也可以定義標籤等信息,然後在正文中就可以通過
\ref{公式標籤}
進行引用。
【注】$ $
和 $$ $$
是 Plain TeX 的語法,\( \)
和 \[ \]
是 LaTeX 的語法。在 Plain TeX 中只能使用第一中語法,LaTeX 中兩者都可以使用,但推薦使用第二種。
2.9 插入圖片
插圖功能不是由 LaTeX 的內核直接提供的,而是由 graphicx 宏包提供的,因此要使用插圖功能需要在導言區使用 \usepackage
命令引入 graphicx 宏包:
\usepackage{graphicx}
固定插圖:如果想要直接插圖夾到文字中,則可以在正文區的文字中直接使用
\includegraphics[]{}
命令。這樣插入的圖片的位置是固定的,但這樣會給 LaTeX 分頁造成困難。浮動插圖:通常都是把圖形放在一個可變動相對位置的環境中,即 figure 環境,稱爲浮動體。浮動體還可以給圖形加入說明性的標題、設定對齊方式、設定標籤等。
\begin{figure}[ht]
\centering
\includegraphics[scale=0.6]{圖片路徑.pdf}
\caption{圖片標題}
\label{fig:圖片標籤}
\end{figure}
- 參數 ht 分別表示浮動體可以出現的位置爲 here 和 top,即當前環境周圍文本的所在處以及一頁的頂部。
\centering
表示後面的內容居中對齊。\includegraphics
插入圖片,scale 爲縮放因子。\caption
插入圖片標題,並給圖片自動編號。\label
給圖片定義一個標籤,使用這個標籤就可以在文章其他地方引用\caption
產生的標號。
在正文中引用圖片使用 \ref{圖片標籤}
命令。
2.10 插入表格
在正文區插入表格需要使用 tabular 環境來完成。
\begin{tabular}{|rrr|}
\hline
直角邊 $a$ & 直角邊 $b$ & 斜邊 $c$ \\
\hline
3 & 4 & 5 \\
5 & 12 & 13 \\
\hline
\end{tabular}
上述例子中,tabular 環境有一個參數,其聲明瞭表格中列的模式。|rrr| 表示表格有三列,都是右對齊的,在第一列前面和最後一列後面各有一條垂直的表格線。表格中相鄰行間的橫線是用命令 \hline
產生的。行與行之間用換行命令 \ 隔開,每行內部的列表項用 & 隔開。
- 表格和
\includegraphics
命令得到的插圖一樣,都是一個比較大的盒子,一般也需要放在浮動環境中,即 table 環境,參數與大體的使用格式和 figure 類似。
\usepackage{float}
\begin{table}[H]
\begin{tabular}{|rrr|}
\hline
直角邊 $a$ & 直角邊 $b$ & 斜邊 $c$ \\
\hline
3 & 4 & 5 \\
5 & 12 & 13 \\
\hline
\end{tabular}
\label{tab:xxx}
\end{table}
其中,H 參數表示固定在 table 所在的上下文位置,使用此參數需要引入 float 宏包。
在正文中引用圖片使用 \ref{表格標籤}
命令。
2.11 參考文獻
- 參考文獻排版使用的是 BibTeX 工具。
首先需要在導言區聲明參考文獻的格式:
\bibliographystyle{plain}
然後需要定義「參考文獻數據庫」。BibTeX 使用的參考文獻數據庫其實就是一個後綴爲 .bib
的文件,其內容爲多條文獻,每條文獻包括類型、引用標籤、標題、作者、出版年、出版社等信息。在現實中,BibTeX 數據庫經常並不需要我們自己錄入,而可以從相關學科網站直接下載或是從其他類型的文獻數據庫轉換得到。若需要自己錄入,還可以使用 JabRef 這種軟件來管理。
% Encoding: UTF-8
@Book{Kelaiyin,
author = {克萊因},
title = {古今數學思想},
year = {2002},
journal = {上海科學技術出版社},
}
@Book{Shiyejiantailang,
author = {失野健太郎},
title = {幾何的有名定理},
year = {1986},
journal = {上海科學技術出版社},
}
@Article{Quanjing,
author = {曲安京},
journal = {數學傳播},
title = {商高、趙爽與劉徽關於勾股定理的證明},
year = {1998},
number = {3},
volume = {20},
}
@Comment{jabref-meta: databaseType:bibtex;}
接着就可以通過 \cite{引用標籤}
在文中引用參考文獻。如果在列表中顯示並不直接引用的文獻,則可以使用 \nocite{引用標籤}
命令,一般把它放在 \bibliography
命令之前。
最後在正文區最後使用 \bibliography
命令打印出參考文獻列表。
【注】使用 BibTeX 處理文獻時,編譯 xxx.tex 文件需要執行四次:
xelatex xxx.tex
bibtex xxx.aux
xelatex xxx.tex
xelatex xxx.tex
- 第一次運行
xelatex
爲 BibTeX 準備好輔助文件,確定數據庫中的哪些文獻將被列出來。 - 第二次運行
bibtex
處理輔助文件 xxx.aux,從文獻數據庫中選取文獻,按指定格式生成文獻列表的 LaTeX 代碼。 - 第三次和第四次運行
xelatex
再讀入文獻列表代碼並生成正確的引用信息。使用\cite
命令顯示文獻在列表的編號在第三次編譯後才能確定。
2.12 設計格式
- 使用 geometry 宏包來設計頁面尺寸。
\usepackage{geometry}
\geometry{a6paper, centering, scale=0.8}
- 使用 caption 宏包設定圖表標題格式。
\usepackage[format=hang, font=small, texfont=it]{caption} % 斜體 it 對漢字來說就是楷書
- 增加目錄的項目可以使用 tocbibing 宏包,該宏包默認會在目錄中加入目錄項本身、參考文獻、索引等項目。
\usepackage[nottoc]{tocbibind} % nottoc 選項表明取消在目錄中顯示目錄本身
3. 實現
在 document 環境之內避免直接使用諸如字號、對齊縮進的格式控制命令,而代之以有意義的環境和命令,讓文檔變得清晰。
- 定義新環境:
\newenvironment
有三個參數,第一個參數爲環境名,第二、三個參數分別爲在環境開始和結束處的代碼。
\newenvironment{myquote}
{\begin{quote}\kaishu\zihao{-5}}
{\end{quote}}
- 定義新命令:
\newcommand
有兩個參數,第一個參數是新命令名,第二個參數是新命令的定義。
\newcommand\degree{^\circ}
3.1 代碼
%-*- coding: UTF8 -*-
% 雜談勾股定理
\documentclass[UTF8]{ctexart}
\usepackage{float}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage[format=hang, font=small, textfont=it]{caption}
\usepackage[nottoc]{tocbibind}
\newtheorem{thm}{定理}
\newenvironment{myquote}
{\begin{quote}\kaishu\zihao{-5}}
{\end{quote}}
\newcommand\degree{^\circ}
\geometry{a6paper, centering, scale=0.8}
\title{\heiti 雜談勾股定理}
\author{\kaishu BlueHeart0621}
\date{\today}
\bibliographystyle{plain}
\begin{document}
\maketitle
\tableofcontents
\begin{abstract}
這是一篇關於勾股定理的小短文。
\end{abstract}
\section{勾股定理在古代}\label{sec:gudai}
西方稱勾股定理爲畢達哥拉斯定理,將勾股定理的發現歸功於公元前 6 世紀的畢達哥拉斯學派\cite{Kelaiyin}。該學派得到了一個法則,可以求出可排成直角三角形三邊的三元數組。畢達哥拉斯學派沒有書面著作,該定理的嚴格表述和證明則見於歐幾里得\footnote{歐幾里得,約公元前 330--275 年。}《幾何原本》的命題 47:「直角三角形斜邊上的正方形等於兩直角邊上的兩個正方形之和。」證明是用面積做的。
我國《周髀算經》載商高(約公元前 12 世紀)答周公問:
\begin{myquote}
勾廣三,股修四,徑隅五。
\end{myquote}
又載陳子(約公元前 7--6 世紀)答榮方問:
\begin{myquote}
若求邪至日者,以日下爲勾,日高爲股,勾股各自乘,並而開方除之,得邪至日。
\end{myquote}
都較古希臘更早。後者已經明確道出勾股定理的一般形式。圖 \ref{fig:xiantu} 是我國古代對勾股定理的一種證明\cite{Quanjing}。
\begin{figure}[ht]
\centering
\includegraphics[scale=0.6]{xiantu.pdf}
\caption{宋趙爽在《周髀算經》注中作的弦圖(仿製),該圖給出了勾股定理一個極具對稱美的證明。}
\label{fig:xiantu}
\end{figure}
\section{勾股定理的近代形式}\label{sec:jindai}
勾股定理可以用現代語言表述如下:
\begin{thm}[勾股定理]
直角三角形斜邊的平方等於兩腰的平方和。
\end{thm}
可以用符號語言表述爲:設直角三角形 $ABC$,其中 $\angle C = 90\degree$,則有 \begin{equation}
AB^2 = BC^2 + AC^2
\label{eq:gougu}
\end{equation}
滿足式 \ref{eq:gougu} 的整數稱爲 \emph{勾股數}。第 \ref{sec:gudai} 節所說的畢達哥拉斯學派得到的三元數組就是勾股數。下表列出一些較小的勾股數:
\begin{table}[H]
\centering
\begin{tabular}{|rrr|}
\hline
直角邊 $a$ & 直角邊 $b$ & 斜邊 $c$ \\
\hline
3 & 4 & 5 \\
5 & 12 & 13 \\
\hline
\end{tabular}%
\qquad
$
(a^2 + b^2 = c^2)
$
\end{table}
\nocite{Shiyejiantailang}
\bibliography{math}
\end{document}