(二)文檔元素
一個結構化的文檔所依賴的各種元素——章節、目錄、列表、圖表、交叉引用、腳注……
2.1章節和目錄
2.1.1 章節標題
三個標准文檔類article,report和book提供了划分章節的命令:
\section{<title>} \chapter{<title>} \subsection{<title>}
\subsubsection{<title>} \paragraph{<title>} \subparagraph{<title>}
- 其中\chapter只在book和report文檔類有定義。
- 這些命令生成章節標題,並能夠自動編號。
- \part命令,用來將整個文檔分割為大的分塊,但不影響\chapter或\section等的編號。
- 上述命令除了生成帶編號的標題外,還向目錄中添加條目,並影響頁眉頁腳的內容。
- 每個命令有兩種變體:
- 帶星號的變體:\section*{<title>}
- 標題不帶編號,也不生成目錄項和頁眉頁腳;
- 可帶參數的變體:\section[<short title>]{<title>}
- 標題使用<title>參數,<在目錄和頁眉頁腳中使用<short title>參數。
- 帶星號的變體:\section*{<title>}
2.1.2 目錄
- 在合適的地方使用命令:\tableofcontents 即可完成目錄的生成。
- 正確生成目錄項,往往要編譯兩次源代碼。
- 有時我們使用了帶星號的變體又想手動生成該章節的目錄項,可以在標題命令后面使用:\addcontentsline{toc}{<level>}{<title>};其中,<level>為章節層次chapter或section等,<title>為出現於目錄項的章節標題。
2.1.3 文檔結構划分
book文檔類還提供了前言、正文、后記、附錄結構的划分命令:
- \frontmatter 前言部分,頁碼為小寫羅馬字母格式;其后的\chapter不編號。
- \mainmatter 正文部分,頁碼為阿拉伯數字格式,從1開始計數;其后的章節編號正常。
- \backmatter 后記部分,頁碼格式不變,繼續正常計數;其后的\chapter不編號。
- \appendix (適用於所有標准文檔類)將正文和附錄分開,其后最高一級章節改為使用拉丁字母編號,從A開始。
2.2 標題頁
latex支持生成簡單的標題頁。首先需要給定標題和作者等信息:
\title{<title>} \author{<author>} \date{<date>}
- 在信息給定后,就可以使用\maketitle命令生成一個簡單的標題頁。
- article文檔類的標題頁默認不單獨成頁,而report和book默認單獨成頁。
- 可在\documentclass命令調用文檔類時指定titlepage/notitlepage選項以修改默認的行為。
- 在titlepage環境下,可以生成不帶頁眉頁腳的一頁,可以使用各種排版元素自由發揮,生成自定義的標題頁以代替\maketitle命令。
- 可以用titlepage環境重新定義\maketitle(生成的標題頁就是一個titlepage環境)
- \renewcommand{\maketitle}{ \begin{titlepage} ……%用戶自定義命令 \end{titlepage} }
- 在\title、\author等命令內可以使用\thanks命令生成標題頁的腳注,用\and隔開多個人名。
\documentclass{book}
\title{Test title}
\author{ BlackBoss\thanks{E-mail:*****@***.com}
\and Chu\thanks{Corresponding author}
\and shou
}
\date{\today}
\begin{document}
\maketitle % 標題頁
\end{document}
2.3 交叉引用
- 強大的自動排版功能的體現之一。
- 在要被交叉引用的地方,如章節、公式、圖標、定理等位置使用 \label命令:\label{<label-name>} 之后可以在別處使用\ref或\pageref命令,分別交叉應用的編號和頁碼:\ref{<label-name>} \pageref{<label-name>}
- 為了生成正確的交叉引用,一般也需要多次編譯源代碼。
- \label命令可用於記錄各種類型的交叉引用,使用位置分別為:
- 章節標題 在章節標題命令\section 等之后緊接使用。
- 行間公式 單行公式在公式內任意位置使用;多行公式在每一行公式的任意位置使用。
- 有序列表 在enumerate 環境的每個\item 命令之后、下一個\item 命令之前任意位置使用。
- 圖表標題 在圖表標題命令 \caption 之后緊接着使用。
- 定理環境 在定理環境內部任意位置使用。
2.4 腳注和邊注
- 使用\footnote命令可以在頁面底部生成一個腳注: \footnote{<footnote>}
- 有些情況下(比如在表格環境、各種盒子內)使用\footnote並不能正確生成腳注。我們可以分兩步進行,先使用\footnotemark 為腳注計數,再在合適的位置用\footnotetext 生成腳注。
- 使用\marginpar命令可在邊欄位置生成邊注: \marginpar[<left-margin>]{<right-margin>} (注:如果只給定了<right-margin>,那么邊注在奇偶數頁文字相同;如果同時給定了<left-margin>,則偶數頁使用<left-margin>的文字。)
1 \documentclass{ctexart} 2 \title{Test title} 3 \author{ BlackBoss\thanks{E-mail:*****@***.com} 4 \and Chu\thanks{Corresponding author} 5 \and shou 6 } 7 \date{\today} 8 \begin{document} 9 \maketitle % 標題頁 10 \newpage 11 今天是一個好日子。\footnote{出自 20220121}\\ 12 \marginpar{\footnotesize邊注較窄,不要寫過多文字,最好設置較小的字號。}\\ 13 \begin{tabular}{l} 14 \hline 15 “今天是一個好日子。”\footnotemark \\ 16 \hline 17 \end{tabular} 18 \footnotetext{表格里出自 20220121} 19 20 \end{document}
2.5 特殊環境
2.5.1 列表
- latex提供了基本的有序和無序列表環境 enumerate 和 itemize 兩者的用法很類似,都用 \item 標明每個列表項。
- enumerate 環境會自動對列表項編號:
1 \begin{enumerate} 2 \item ... 3 \end{enumerate}
- 其中 \item 可帶一個可選參數,將有序列表的奇數或者無序列表的符號替換成自定義的符號。
- 列表可以嵌套使用,最多嵌套四層。
1 \documentclass{ctexart} 2 \begin{document} 3 enumerate環境: 4 \begin{enumerate} 5 \item An item. 6 \begin{enumerate} 7 \item A nested item.\label{itref} 8 \item[*] A starred item. 9 \end{enumerate} 10 \item Reference(\ref{itref}). 11 \end{enumerate} 12 itemize環境: 13 \begin{itemize} 14 \item An item. 15 \begin{itemize} 16 \item A nested item. 17 \item[+] A `plus' item. 18 \item Another item. 19 \end{itemize} 20 \item Go back to upper level. 21 \end{itemize} 22 \end{document}
- 關鍵字環境description的用法與以上兩者類似,不同的是 \item 后的可選參數用來寫關鍵字,以粗體顯示,一般是必填的:
1 %description環境: 2 \begin{description} 3 \item[Enumerate] Numbered list. 4 \item[Itemize] Non-numbered list. 5 \end{description}
- 各級無序列表的符號由命令 \labelitemi 到 \labelitemiv 定義,可以簡單地重新定義它們;
- 各級有序列表的符號由命令 \labelenumi 到 \labelnumiv 定義,重新定義這些命令需要用到計數器(此處暫不做介紹)的相關命令。
1 \renewcommand{\labelitemi}{\ddag} 2 \renewcommand{\labelitemii}{\dag} 3 \begin{itemize} 4 \item First item 5 \begin{itemize} 6 \item Subitem 7 \item Subitem 8 \end{itemize} 9 \item Second item 10 \end{itemize} 11 12 \renewcommand{\labelenumi}{\Alph{enumi}>} 13 \begin{enumerate} 14 \item First item 15 \item Second item 16 \end{enumerate}
2.5.2 對齊環境
- center , flushleft 和 flushright 環境分別用於生成居中、左對齊和右對齊的文本環境。
- 可以用以下命令直接改變文字的對其方式:
- \centering \raggedright \raggedleft
1 \documentclass{ctexart} 2 \begin{document} 3 \begin{center} 4 Centered text using a \verb|center| environment. 5 \end{center} 6 \begin{flushleft} 7 Left-aligned text using a \verb|flushleft| environment. 8 \end{flushleft} 9 \begin{flushright} 10 Right-aligned text using a \verb|flushright| environment. 11 \end{flushright} 12 13 \centering 14 Centered text paragraph.\\ 15 \raggedright 16 Left-aligned text paragraph.\\ 17 \raggedleft 18 Right-aligned text paragraph. 19 \end{document}
- center 等環境會在上下文產生一個額外間距,而 \centering 等命令不產生,只是改變對齊方式。
- 在浮動體環境 table 或 figure 內實現居中對齊,用 \centering 命令即可,沒必要再用 center 環境。
2.5.3 引用環境
兩種引用環境:
- quote 用於引用較短的文字,首行不縮進;
- quotation 用於引用若干段文字,首行縮進。
引用環境較一般文字有額外的左右縮進。
- verse 用於排版詩歌,與 quotation 恰好相反,verse 是首行懸掛縮進的。
\documentclass{ctexart} \begin{document} Francis Bacon says: \begin{quote} Knowledge is power. \end{quote} 《木蘭詩》: \begin{quotation} 萬里赴戎機,關山度若飛。 朔氣傳金柝,寒光照鐵衣。 將軍百戰死,壯士十年歸。 ⋯⋯ \end{quotation} Rabindranath Tagore's short poem: \begin{verse} Beauty is truth's smile when she beholds her own face in a perfect mirror. \end{verse} \end{document}
2.5.4 摘要環境
- 摘要環境abstract 默認只在標准文檔類中的 article 和 report 文檔類可用;
- 一般用於緊跟 \maketitle 命令之后介紹文檔的摘要;
- 如果文檔類制定了 titlepage 選項,則單獨成頁;
- 單欄排版時相當於一個居中的小標題加一個 quotation 環境;
- 雙欄排版時相當於\section* 定義的一節。
2.5.5 代碼環境
- 代碼環境verbatim —— 將代碼原樣轉義輸出;
- 以等寬字體排版代碼,回車和空格分別起到換行和空位的作用;
- 帶星號的版本會將空格顯示成占位符。
- 要排版簡短的代碼或關鍵字,可使用 \verb 命令: \verb<delim><code><delim> 。
-
- <delim>標明代碼的分界位置,前后必須一致,除字母、空格或星號外,可任意選擇使得不與代碼本身沖突,習慣上使用 | 符號。
- \verb 命令對等號的處理比較復雜,一般不能用在其他命令的參數里,否則多半會出錯。
- verbatim 宏包優化了verbatim 環境的內部命令,並提供了 \verbatiminput 命令用來直接讀入文件生成代碼環境。
- fancyvrb 宏包提供了可定制格式的Verbatim 環境;
- listings 宏包可生成關鍵字高亮的代碼環境,支持各種程序設計語言的語法和關鍵字。
1 \documentclass{ctexart} 2 \begin{document} 3 \begin{verbatim} 4 #include <iostream> 5 int main() 6 { 7 std::cout << "Hello, world!"<< std::endl; 8 return 0; 9 } 10 \end{verbatim} 11 12 \begin{verbatim*} 13 for (int i=0; i<4; ++i) 14 printf("Number %d\n",i); 15 \end{verbatim*} 16 17 \verb|\LaTeX| \\ 18 \verb+(a || b)+ \\ 19 \verb*+(a || b)+ 20 \end{document}
2.6 表格
排版表格最基本的 tabular 環境用法為:
1 \begin{tabular}[<align>]{<column-spec>} 2 <item1>&<item2>& ... \\ 3 \hline 4 <item1>&<item2>& ... \\ 5 \end{tabular}
- <column-spec>是列格式標記;
- &用來分隔單元格;
- \\用來換行;
- \hline用來在行與行之間繪制橫線。
- 直接使用tabular環境,會和周圍的文字混排。
- 此時可用參數<align>控制垂直對齊:t 和 b 分別表示按表格頂部、底部對齊,其他參數或省略不寫(默認)表示居中對齊。【如下例】
\documentclass{ctexart} \begin{document} \begin{tabular}{|c|} center-\\ aligned \\ \end{tabular}, \begin{tabular}[t]{|c|} top-\\ aligned \\ \end{tabular}, \begin{tabular}[b]{|c|} bottom-\\ aligned\\ \end{tabular} tabulars. \end{document}
- 通常情況下 tabular 環境很少與文字直接混排,而是會放在 table 浮動體環境中,並用 \caption 命令加標題。
2.6.1 列格式
tabular 環境使用 <column-spec> 參數指定表格的列數以及每列的格式。基本的列格式見表:
- 表格中每行的單元格數目不能多於列格式里l/c/r/p的總數(可以少於這個總和),否則出錯。
- 格式參數重復的寫法 *{<n>}{<column-spec>} ,以下兩種寫法等效: \begin{tabular}{|c|c|c|c|c|p{4em}|p{4em}|} ↔ \begin{tabular}{|*{5}{c|}*{2}{p{4em}|}}
- @格式可在單元格前后插入任意的文本,但同時它也消除了單元格前后額外添加的間距。
-
- @格式可以適當使用充當“豎線”。
- @{}可直接用來消除單元格前后的間距。
2.6.2 列寬
- tabular*環境排版定寬表格,但不是太方便,需要用@格式插入額外命令,令單元格之間的間距為 \fill:
1 \documentclass{ctexart} 2 \begin{document} 3 \begin{tabular*}{14em}%定寬14em 4 {@{\extracolsep{\fill}}|c|c|c|c|} 5 \hline 6 A & B & C & D \\ \hline 7 a & b & c & d \\ \hline 8 \end{tabular*} 9 \end{document}
- tabularx宏包為我們提供了方便的解決方案。
- 引入X列格式,類似p列格式,根據表格寬度自動計算列寬,多個X列格式平均分配列寬;
- X列格式也可以用array里的輔助格式修飾對齊方式。
1 \documentclass{ctexart} 2 \usepackage{tabularx}%調用tabularx宏包 3 \begin{document} 4 \begin{tabularx}{14em}% 5 {|*{4}{>{\centering\arraybackslash}X|}} 6 \hline 7 A & B & C & D \\ \hline 8 a & b & c & d \\ \hline 9 \end{tabularx} 10 \end{document}
2.6.3 橫線
- 除\hline之外,\cline{<i>-<j>}用來繪制跨越部分單元格的橫線;
- booktabs宏包支持三線表的繪制:
-
- \toprule,\midrule和\bottomrule命令用以排版三線表的三條線;
- \cline 對應的 \cmidrule .
1 \documentclass{ctexart} 2 \usepackage{booktabs}%調用booktabs宏包 3 \begin{document} 4 \begin{tabular}{|c|c|c|} 5 \hline 6 4 & 9 & 2 \\ \cline{2-3} 7 3 & 5 & 7 \\ \cline{1-1} 8 8 & 1 & 6 \\ \hline 9 \end{tabular} 10 11 \begin{tabular}{cccc} 12 \toprule 13 & \multicolumn{3}{c}{Numbers} \\ 14 \cmidrule{2-4} 15 & 1 & 2 & 3 \\ 16 \midrule 17 Alphabet & A & B & C \\ 18 Roman & I & II& III \\ 19 \bottomrule 20 \end{tabular} 21 22 \end{document}
2.6.4 合並單元格
- 橫向合並單元格較為容易,由\multicolumn 命令實現: \multicolumn{<n>}{<column-spec>}{<item>}
- <n>為要合並的列數
- <column-spec>為合並單元格后的列格式,只允許出現一個 l/c/r 或 p 格式。
- 如果合並前的單元格前后帶表格線 | ,合並后的列表格也要帶 | 以使得表格的豎線一致。
- \multicolumn{1}{<column-spec>}{<item>} 可修改某一單元格的列格式。
1 \documentclass{ctexart} 2 \usepackage{booktabs}%調用booktabs宏包 3 \begin{document} 4 \begin{tabular}{|c|c|c|} 5 \hline 6 1 & 2 & Center \\ \hline 7 \multicolumn{2}{|c|}{3} & 8 \multicolumn{1}{r|}{Right} \\ \hline 9 4 & \multicolumn{2}{c|}{C} \\ \hline 10 \end{tabular} 11 \end{document}
- 縱向合並單元格需要用到 multirow 宏包提供的 \multirow 命令:
- \multirow{<n>}{<width>}{<item>}
- <width>為合並后單元格的寬度,可以填 * 以使用自然寬度。
1 \documentclass{ctexart} 2 \usepackage{multirow}%調用multirow宏包 3 \begin{document} 4 \begin{tabular}{ccc} 5 \hline 6 \multirow{2}{*}{Item} & 7 \multicolumn{2}{c}{Value} \\ 8 \cline{2-3} 9 & First & Second \\ \hline 10 A & 1 & 2 \\ \hline 11 \end{tabular} 12 \end{document}
2.6.5 行距控制
- 通過修改 \arraystretch 得到行距更加寬松的表格。
- 通過給換行命令 \\ 添加可選參數,在這一行下面加額外的間距
- 適合用於在行間不加橫線的表格;
- 表格首個單元格不能直接使用中括號[](如果要使用,應當放在花括號{}里面,也可以選擇將換行命令寫成\\[0pt].)。
1 \documentclass{ctexart} 2 \begin{document} 3 法一: 4 5 \renewcommand\arraystretch{1.8} 6 \begin{tabular}{|c|} 7 \hline 8 Really loose \\ \hline 9 tabular rows.\\ \hline 10 \end{tabular} 11 12 法二: 13 14 \begin{tabular}{c} 15 \hline 16 Head lines \\[6pt] 17 tabular lines \\ 18 tabular lines \\ \hline 19 \end{tabular} 20 \end{document}
2.7 圖片
- 在調用了graphicx 宏包以后,就可以使用 \includegraphics 命令加載圖片了:
- \includegraphics[<options>]{<filename>}
- 可選參數<options>支持<key> = <value>形式賦值。
- <filename>為圖片文件名,需要用相對路徑或絕對路徑表示(視情況而定);
- 文件名里既不要有空格,也不要有多余的英文點號。
- graphicx宏包提供了 \graphicspath 命令,用於聲明一個或多個圖片文件存放的目錄,使用這些目錄里的圖片時可不用寫路徑。
- \graphicspath{{figures/}{logo/}} (假設主要的照片放在figures子目錄下,標志放在logo子目錄下)
- \includegraphics[<options>]{<filename>}
2.8 盒子
2.8.1 水平盒子
生成水平盒子的命令如下:
1 \mbox{...} 2 \makebox[<width>][<align>]{...}
- \mbox 生成一個基本的水平盒子,內容只有一行,不允許分段。
- \makebox 可以加上可選參數用於控制盒子的寬度,<width>,以及內容的對齊方式<align>,可選居中 c (默認值)、左對齊 l 、右對齊 r 和分散對齊 s 。
1 \documentclass{ctexart} 2 \begin{document} 3 |\mbox{Test some words.}| 4 5 |\makebox[10em]{Test some words.}| 6 7 |\makebox[10em][l]{Test some words.}| 8 9 |\makebox[10em][r]{Test some words.}| 10 11 |\makebox[10em][s]{Test some words.}| 12 \end{document}
2.8.2 帶框的水平盒子
- \fbox 和 \framebox 讓我們可以為水平盒子添加邊框。用法與 \mbox 和 \makebox 一模一樣。
- 通過 \setlength 命令調節邊框的寬度 \fboxrule 和內邊框 \fboxsep。
1 \documentclass{article} 2 \begin{document} 3 \framebox[10em][r]{Test box} 4 \setlength{\fboxrule}{1.6pt} 5 \setlength{\fboxsep}{1em} 6 \framebox[10em][r]{Test box} 7 \end{document}
2.8.3 垂直盒子
- 排版一個文字可以換行的盒子,latex有兩種方法:
-
\parbox[<align>][<height>][<inner-align>]{<width>}{…}
- \begin{minipage}[<align>][<height>][<inner-align>]{<width>} … \end{minipage}
- <align>為盒子和周圍文字的對齊情況(類似tabular環境);
- <height>和<inner-align>設置盒子的高度和內容的對齊方式,
- 類似水平盒子\makebox的設置;
- <inner-align>接受的參數是頂部t、底部b、居中c和分散對齊s。
- minipage 環境里使用 \footnote 命令,生成的腳注會出現在盒子底部,編號是獨立的,並且使用小寫字母編號。
- \parbox 里無法正常使用 \footnote 命令,只能在盒子里使用\footnotemark,在盒子外使用\footnotetext。
1 \documentclass{ctexart} 2 \begin{document} 3 三字經:\parbox[t]{3em}% 4 {人之初性本善性相近習相遠} 5 \quad 6 千字文: 7 \begin{minipage}[b][8ex][t]{4em} 8 天地玄黃宇宙洪荒 9 \end{minipage} 10 11 \fbox{ 12 \begin{minipage}{15em}% 13 這是一個垂直盒子的測試。 14 \footnote{腳注來自minipage。} 15 \end{minipage} 16 } 17 \end{document}
2.8.4 標尺盒子
- \rule 命令用來畫一個實心的矩形盒子,也可適當調整以用來畫線(標尺):
-
- \rule[<raise>]{<width>}{<height>}
-
1 \documentclass{ctexart} 2 \begin{document} 3 Black \rule{12pt}{4pt} box. 4 5 Upper \rule[4pt]{6pt}{8pt} and 6 7 lower \rule[-4pt]{6pt}{8pt} box. 8 9 A \rule[-.4pt]{3em}{.4pt} line. 10 \end{document}
2.9 浮動體
- 浮動體機制的引入,令大塊的內容可以脫離上下文,放置在合適的位置。
- latex預定義了兩種浮動體環境:figure和table。習慣上figure里放圖片,table里放表格,但並沒有嚴格限制。
- 以table環境的用法舉例,figure同理: \begin{table}[<placement>]...\end{table}
- <placement>參數提供了一些符號用來表示浮動體允許排版的位置(默認設置是tbp)。
- 排版位置的選取與參數里符號的順序無關,優先級為h-t-b-p;(即[!htp]==[ph!t])
- 限制包括浮動體個數(除單獨成頁外,默認每頁不超過3個浮動體,中頂部不超過2個,底部不超過1個)以及浮動體空間占頁面百分比(默認頂部不超過70%,底部不超過30%)。
- <placement>參數提供了一些符號用來表示浮動體允許排版的位置(默認設置是tbp)。
- 以table環境的用法舉例,figure同理: \begin{table}[<placement>]...\end{table}
- 雙欄排版環境下,Latex提供了table*和figure*環境用來排版可跨欄的浮動體。
- 雙欄的<placement>參數只能用 tp 兩個位置。
- 浮動體的位置選取受到先后順序的限制(某個浮動體在當前頁無法放置,之后的浮動體一並推遲);
- \clearpage命令會在另起一頁之前,先將所有推遲處理的浮動體排版成頁,此時htbp等位置限制被完全忽略。
- float宏包為浮動體提供了 H 位置參數,不與htbp及!混用。使用H位置參數時,會取消浮動機制,將浮動體視為一般的盒子插入當前位置。
2.9.1 浮動體的標題
- \caption命令加標題,並且自動給浮動體編號: \caption{...}
- 可以用帶星號的命令 \caption* 生成不帶編號的標題,也可以使用帶可選參數的形式 \caption[...]{...},使得在目錄里使用短標題。\caption 命令之后還可以緊跟 \label 命令標記交叉引用。
- 標題樣式的定制功能由caption宏包提供,可通過修改 \figurename 和 \tablename 的內容來修改標題的前綴。
- table 和 figure 兩種浮動體分別有各自的生成目錄命令(生成單獨的章節):
- \listoftables
- \listoffigures
2.9.2 並排和子圖表
-
一個浮動體里面放置多張圖的用法。
-
直接並排放置;
-
通過分段或者換行命令\\ 排版多行多列的圖片。
-
1 \documentclass{ctexart} 2 \usepackage{graphicx} 3 \begin{document} 4 \begin{figure}[htbp] 5 \centering 6 \includegraphics[width = 100 pt]{人工智能1.jpg} 7 \qquad 8 \includegraphics[width = 100 pt]{人工智能2.jpg} \\[10pt] 9 \includegraphics[width = 225 pt]{人工智能3.jpg} 10 \caption{人工智能} 11 \end{figure} 12 \end{document}
- 由於標題是橫跨一行的,用\caption命令為每個圖片單獨生成標題就需要借助前文提到的\parbox或者minipage環境,將標題限制在盒子內。
1 \documentclass{ctexart} 2 \usepackage{graphicx} 3 \begin{document} 4 \begin{figure}[htbp] 5 \centering 6 \begin{minipage}{100 pt} 7 \centering 8 \includegraphics[width = 100 pt]{人工智能1.jpg} 9 \caption{人工智能1} 10 \end{minipage} 11 \qquad 12 \begin{minipage}{100 pt} 13 \centering 14 \includegraphics[width = 100 pt]{人工智能2.jpg} 15 \caption{人工智能2} 16 \end{minipage}\\[20pt] 17 \begin{minipage}{225 pt} 18 \centering 19 \includegraphics[width = 225 pt]{人工智能3.jpg} 20 \caption{人工智能3} 21 \end{minipage} 22 \end{figure} 23 \end{document}
-
給每一個圖片定義小標題時,就要用到subfig宏包的\subfloat命令排版子圖。
1 \documentclass{ctexart} 2 \usepackage{graphicx} 3 \usepackage{subfig} 4 \begin{document} 5 \begin{figure}[htbp] 6 \centering 7 \subfloat[並排子圖1]{ 8 \label{並排子圖1}% 為子圖加交叉引用 9 \begin{minipage}{100 pt} 10 \centering 11 \includegraphics[width = 100 pt]{人工智能1.jpg} 12 \end{minipage} 13 } 14 \qquad 15 \subfloat[並排子圖2]{ 16 \label{並排子圖2} 17 \begin{minipage}{100 pt} 18 \centering 19 \includegraphics[width = 100 pt]{人工智能2.jpg} 20 \end{minipage} 21 }\\[5pt] 22 \subfloat[並排子圖3]{ 23 \label{並排子圖3} 24 \begin{minipage}{225 pt} 25 \centering 26 \includegraphics[width = 225 pt]{人工智能3.jpg} 27 \end{minipage} 28 } 29 \caption{人工智能三張圖片} 30 \end{figure} 31 \end{document}