(二)文档元素
一个结构化的文档所依赖的各种元素——章节、目录、列表、图表、交叉引用、脚注……
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}