1、27.3 并列的子图形 在某些情况下,有时会希望将并列的图形组成一组,而其中的每一幅图 都保持其独立性。 paisubfigure 宏包的 \subfigure 命令将这一 组做为一幅图形,其中的每一幅图做为子图形。例如: \begin{figure} \centering \subfigure[Small Box with a Long Caption]{ \label{fig:subfig:a} %% label for first subfigure \includegraphics[width=1.0in]{graphic.eps}}
2、 \hspace{1in} \subfigure[Big Box]{ \label{fig:subfig:b} %% label for second subfigure \includegraphics[width=1.5in]{graphic.eps}} \caption{Two Subfigures} \label{fig:subfig} %% label for entire figure \end{figure} 生成图 27.9。这里使用 LATEX 的引用命令 \ref{fig:subfig:a} 会得到 27.9(a)
3、 \ref{fig:subfig:b} 得到 27.9(b), \ref{fig:subfig} 得到 27.9。 像其它的并列图形一样,子图也可以在小页环境中使用。而且在一些情况下, 这样做还能更方便的得到理想的图形间距。例如: \begin{figure} \subfigure[Small Box with a Long Caption]{ \label{fig:mini:subfig:a} %% label for first subfigure \begin{minipage}[b]{0.5\textwidth} \
4、centering \includegraphics[width=1in]{graphic.eps} \end{minipage}}% \subfigure[Big Box]{ \label{fig:mini:subfig:b} %% label for second subfigure \begin{minipage}[b]{0.5\textwidth} \centering \includegraphics[width=1.5in]{graphic.eps} \end{minipage}
5、} \caption{Minipages Inside Subfigures} \label{fig:mini:subfig} %% label for entire figure \end{figure} 得到图 27.10,其中包括两个子图 27.10(a) 和 27.10(b)。 图 27.10 中的子图标题比图 27.9 中的要宽一些。 这是因为子图标题的宽度和子图的宽度相同,图 27.9 中的子图 只包含图形,而图 27.10 中的子图包含了宽度为 0.5\textwidth 的小页。 子图的标记有两种形式: 1. 一种是出现在子图
6、的下面作为标题的一部分。这通过命令 \@thesubfigure 来生成。 2. 另一种是在使用 \ref 命令的时候出现。这通过将命令 \p@subfigure 的输出处理后传递给 \thesubfigure 命令来生成。 上面的这些命令使用 subfigure 计数器和 \thefigure 命令。 子图的标记的格式由下面的命令来控制。 · 命令 \thefigure 印出当前图形的编号。 · 计数器 subfigure 记录子图的编号,命令 \alph{subfigure} 将计数器 subfigure 的值用小写字母印出,而 命令 \roman{subfigure
7、} 则是用小写罗马数字印出(有关印出 计数器值的命令可参见文献 [1, 第 98 页] 和 [3, 第 446 页]。)。 · 命令 \thesubfigure 缺省使用小写字母,如 (a),(b) 等。 · 命令 \@thesubfigure 缺省为 \thesubfigure\space,即在 标题标记和文本之间加上一个空白。 · 命令 \p@subfigure 缺省为 \thefigure。 如果改变子图标题的标记,字体等的缺省值,可参见文献 [10]。下面 给出几个简单的例子: · 若想让子图标题标记使用小写罗马数字如 (i), (ii)等, \ref 命令的结果
8、 如 12i, 12ii 等,可使用下面的命令(最好放在导言区中) · \renewcommand{\thesubfigure}{\roman{subfigure}} · \makeatletter · \renewcommand{\@thesubfigure}{(\thesubfigure)\space} · \renewcommand{\p@subfigure}{\thefigure} · \makeatother · 若想让子图标题标记使用阿拉伯数字如 12.1:, 12.2: 等, \ref 命令
9、的结果 如 12.1, 12.2 等,可使用下面的命令 · · \renewcommand{\thesubfigure}% · {\thefigure.\arabic{subfigure}} · \makeatletter · \renewcommand{\@thesubfigure}{\thesubfigure:\space} · \renewcommand{\p@subfigure}{} \makeatother 缺省情况下,用 \listoffigures
10、命令生成的图形目录中只包括图形, 而不包括子图。要想在图形目录中包括子图,要在 \listoffigures 命令前加上 \setcounter{lofdepth}{2}。 需要说明的是,由于 LATEX 的变化,导致目前版本(3/95) 的 subfigure 宏包在图形目录的子图输入项开始部分都加上 ``numberline1''。将下面的代码加到导言区中就可以解决这一问题。 \makeatletter \renewcommand{\@subcaption}[2]{% \begingroup \let\label\@gobble \
11、def\protect{\string\string\string}% \xdef\@subfigcaptionlist{% \@subfigcaptionlist,% {\numberline {\@currentlabel}% \noexpand{\ignorespaces #2}}}% \endgroup \@nameuse{@make#1caption}{\@nameuse{@the#1}}{#2}} \makeatother 27.2 并列的浮动图形 在上一节中,通过在一
12、个图形环境中使用多个小页环境从而得到一个由 多幅图形组成的浮动图形。若将 \caption 命令放到每个小页环境 中,则每个小页环境就生成一浮动图形。例如: \begin{figure} \begin{minipage}[t]{0.5\linewidth} \centering \includegraphics[width=1in]{graphic.eps} \caption{Small Box} \label{fig:side:a} \end{minipage}% \begin{minipage}[t]{0.5\li
13、newidth} \centering \includegraphics[width=1.5in]{graphic.eps} \caption{Big Box} \label{fig:side:b} \end{minipage} \end{figure} 生成图 27.3 和 27.4。尽管上面的命令 只使用了一个 figure 环境,但由于每个小页中都包含一 个 \caption 命令,所以仍然得到两个浮动图形。 在图 27.3 和 27.4中,并列的小页环境使用了 [t] 选项,使得两幅图形的基线对齐。这对于
14、非旋转的图形 没有任何问题,而且使得两标题的顶部对齐。不过,如果图形的底部 不对齐的话(如其中一图形被旋转),就会发生问题。例如: \begin{figure} \centering \begin{minipage}[t]{.33\textwidth} \centering \includegraphics[width=2cm]{graphic.eps} \caption{Box with a Long Caption} \end{minipage}% \begin{minipage}[t]{.33\textwidth}
15、 \centering \includegraphics[width=2cm,angle=-30]{graphic.eps} \caption{Rotated Box} \end{minipage}% \end{figure} 生成图 27.5 和 27.6,我们可以看到这里 两幅图形的标题并不对齐。而若只使用小页的 [b] 选项,会使得标题 的最后一行对齐,并不能解决问题。 一种解决办法是在小页环境中把图形和标题分开放到两行中:第一行放置图形, 第二行放置标题。例如: \begin{figure} \centeri
16、ng \begin{minipage}[b]{.33\textwidth} \centering \includegraphics[width=2cm]{graphic.eps} \end{minipage}% \begin{minipage}[b]{.33\textwidth} \centering \includegraphics[width=2cm,angle=-30]{graphic.eps} \end{minipage}\\[-10pt] \begin{minipage}[t]{.33\textw
17、idth} \caption{Box with a Long Caption} \end{minipage}% \begin{minipage}[t]{.33\textwidth} \caption{Rotated Box} \end{minipage}% \end{figure} 生成的图 27.7 和 27.8 中,图形的基 线和标题的第一行分别对齐。 在这个例子中,需要注意: · 在最后一幅图后面用 \\ 来断行, \\ 的参数项 [-10pt] 使得图形与标题之间的距离比当前行距 减少 10pt。这样做是让图形和标
18、题更接近些,用户也可 自己选用合适的值。 · 包含图形的小页使用 [b] 选项,使得它们的参考点为 其最后一行的基线。 · 包含标题小页使用 [t] 选项,使得它们的参考点为 其第一行的基线。 · 任何一个 \label 命令都必须和它相应的 \caption 命令在同一个小页中。 Wang Lei 2000-04-15 latex的subfigure排版并排放置的两张图 Posted on 2007-10-23 by LaTeX插图始终是件麻烦的事情, 这里介绍了如何 在LaTeX文档中插入图片, 但有时还是不能满足某些特殊要求. 前面介绍了使用La
19、tex的subfigure竖排图形, 这是介绍使用latex的subfigure排版并排放置的两张图. 注意要使用宏包\usepackage{graphicx}和\usepackage{subfigure} [CODE] \begin{figure} \begin{minipage}[t]{0.5\linewidth} \centering \includegraphics[width=2.2in]{fig1.eps} \caption{fig1} \label{fig:side:a} \end{minipage}% \begin{minipage}[t]{0.5\line
20、width} \centering \includegraphics[width=2.2in]{fig2.eps} \caption{fig2} \label{fig:side:b} \end{minipage} \end{figure} 还有一种方法: 在某些情况下,有时会希望将并列的图形组成一组,而其中的每一幅图 都保持其独立性。 paisubfigure 宏包的 \subfigure 命令将这一 组做为一幅图形,其中的每一幅图做为子图形。例如: [code] \begin{figure} \centering \subfigure[Small Box wi
21、th a Long Caption]{ \label{fig:subfig:a} %% label for first subfigure \includegraphics[width=1.0in]{graphic.eps}} \hspace{1in} \subfigure[Big Box]{ \label{fig:subfig:b} %% label for second subfigure \includegraphics[width=1.5in]{graphic.eps}} \caption{Two Subfigures} \label{fig:subfig} %% label for entire figure \end{figure}
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818