文章目录
一、LaTeX 简介
二、ACM 论文模版
三、格式
前三章见专栏:
通过 ACM 论文模版学习 LaTeX 语法
四、图和表
4.1 图
在LaTeX中插入图片是一个常见的需求,尤其是在撰写学术论文、报告或其他需要图示的文档时。下面是详细介绍如何在LaTeX中插入图片。
4.1.1. 导言区设置
首先,确保在文档的导言区加载了 graphicx
包,这是处理图片插入的标准包。可以在文档的开头添加以下代码:
\usepackage{graphicx}
图像保存在名为images
的文件夹中,该文件夹包含在当前目录中:
\graphicspath{{images/}}
4.1.2. 插入图片的基本语法
使用 \includegraphics
命令来插入图片。基本语法如下:
\includegraphics[options]{filename}
- 选项:可以设置图片的宽度、高度、缩放比例等。
- 文件名:图片文件的名称,包括文件扩展名(如
image.png
)。
示例代码:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{LaTeX.png}
\end{document}
我们发现不控制图片尺寸很可能出现显示错误。
4.1.3. 设置图片的尺寸和位置
通过在 \includegraphics
命令中使用选项,可以调整图片的大小和位置:
-
设置宽度:使用
width
选项来指定图片的宽度,例如:width=0.5\textwidth
(占据页面宽度的一半)。\includegraphics[width=0.5\textwidth]{example-image}
-
设置高度:使用
height
选项来指定图片的高度,例如:height=5cm
。\includegraphics[height=5cm]{example-image}
-
设置缩放比例:使用
scale
选项来调整图片的缩放比例,例如:scale=0.5
(缩小到原来的50%)。\includegraphics[scale=0.75]{example-image}
-
保持比例:可以同时设置宽度和高度,但图片可能会失去原始的宽高比。为了保持比例,可以只设置一个尺寸。
示例代码:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
% 设置宽度
\includegraphics[width=0.5\textwidth]{LaTeX.png}
% 设置高度
\includegraphics[height=5cm]{LaTeX.png}
% 设置缩放比例
\includegraphics[scale=0.5]{LaTeX.png}
\end{document}
4.1.4. 图片浮动体
为了使图片与文本内容更好地排版,通常会将图片放入浮动体环境中。可以使用 figure
环境来实现:
\begin{figure}[位置]
\centering
\includegraphics[选项]{文件名}
\caption{图片说明}
\label{图像标签}
\end{figure}
- 位置:可选参数,指定图片的位置,如
h
(here)、t
(top)、b
(bottom)或p
(page of floats)。 - \centering:将图片居中显示。
- \caption{图片说明}:添加图片的说明文字。
- \label{图像标签}:为图片设置标签,以便在文档中引用。
示例代码:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[ht]
\centering
\includegraphics[width=0.5\textwidth]{example-image}
\caption{这是一个示例图片。}
\label{fig:example}
\end{figure}
如图 \ref{fig:example} 所示,这是一张示例图片。
\end{document}
4.1.4.1. figure
环境
figure
环境用于插入浮动体(如图片),它使得 LaTeX 可以根据文档内容和版面设计自动调整图片的位置,以获得最佳的排版效果。
示例代码:
\begin{figure}[ht]
\centering
\includegraphics[width=0.5\textwidth]{LaTeX.png}
\caption{This is an example picture.}
\label{fig:example}
\end{figure}
4.1.4.2. 位置参数
[ht]
是 figure
环境的可选参数,用于指定图片的浮动位置。它是由两个字符组成的:
在 LaTeX 中,figure
和 table
环境的浮动体位置参数用于控制这些浮动体的位置。以下是所有可用的浮动体位置参数及其含义:
- h (here)
- 含义:尽量在当前位置插入浮动体,即浮动体所在的
figure
或table
环境的位置。 - 用法:
[h]
或\begin{figure}[h]
- t (top)
- 含义:将浮动体放在页面的顶部。
- 用法:
[t]
或\begin{figure}[t]
- b (bottom)
- 含义:将浮动体放在页面的底部。
- 用法:
[b]
或\begin{figure}[b]
- p (page of floats)
- 含义:将浮动体放在一个专门的浮动体页面(即仅包含浮动体的页面)。这种页面只包含浮动体,不包含文本内容。
- 用法:
[p]
或\begin{figure}[p]
- ! (override)
- 含义:忽略 LaTeX 对浮动体位置的限制。
!
是一个修改浮动体放置规则的修饰符,通常与其他参数一起使用,例如[!ht]
。 - 用法:
[!h]
或\begin{figure}[!ht]
- H (here strictly)
- 含义:强制浮动体出现在当前位置。
H
是由float
包提供的一个位置参数,它会忽略所有的浮动体位置规则,将浮动体严格放在指定的位置。 - 用法:需要加载
float
包,然后使用H
位置参数。例如:\usepackage{float} \begin{figure}[H] \centering \includegraphics{example-image} \caption{Strictly here.} \end{figure}
LaTeX 会根据这些参数的优先级尝试定位图片。参数的优先级是:h
> t
> b
> p
。如果 h
不适合(如空间不足),则 LaTeX 会考虑 t
,依此类推。
4.1.4.3. \centering
\centering
:使图片居中对齐。它将图片在figure
环境中水平居中显示。
4.1.4.4. \includegraphics
\includegraphics[width=0.5\textwidth]{LaTeX.png}
:插入名为LaTeX.png
的图片,并将图片的宽度设置为页面宽度的 50%。width
选项调整图片的宽度,而LaTeX.png
是图片的文件名。
4.1.4.5. \caption
\caption{This is an example picture.}
:为图片添加说明文字。说明文字会出现在图片下方,并且 LaTeX 会为图片生成一个编号(如“图1”)。
4.1.4.6. \label
\label{fig:example}
:为图片设置标签,用于引用。标签fig:example
允许在文档的其他地方使用\ref{fig:example}
或\pageref{fig:example}
来引用图片。
完整解释:
将以上所有元素结合在一起:
figure
环境允许 LaTeX 自动处理图片的位置。[ht]
参数告知 LaTeX 尽量将图片放在当前位置(h
),如果不合适,则放在页面顶部(t
)。\centering
将图片在figure
环境中居中。\includegraphics
插入并调整图片的大小。\caption
为图片添加说明文字,并生成编号。\label
为图片设置引用标签,方便在文档中引用。
这些命令和参数一起使用,可以帮助你在 LaTeX 文档中优雅地插入和排版图片。
4.1.5. 图片路径
确保图片文件的路径正确。如果图片文件与 .tex
文件在同一目录下,可以直接使用文件名;如果在不同目录下,则需要提供相对路径或绝对路径。
示例代码(图片在子文件夹 images
中):
\includegraphics{images/example-image}
4.1.6. 图片格式
LaTeX支持多种图片格式,包括但不限于:
- PDF:推荐用于矢量图形(如图表和插图)。
- PNG/JPG:适用于位图图像(如照片)。
- EPS:在某些情况下使用,特别是对于旧版本的LaTeX。
确保使用的图片格式与所用的LaTeX引擎兼容。例如,使用PDFLaTeX编译器时,PDF、PNG和JPG格式都是支持的。
通过以上这些方法,你可以在LaTeX文档中灵活地插入和调整图片,以满足不同的排版需求。
4.1.7 示例
示例 1:
\begin{figure*}
\centering
\begin{subfigure}[b]{0.48\textwidth}
\centering
\includegraphics[width=8cm]{figure/cloud_centric_deploy.png}
% \captionsetup{font={\footnotesize,bf,stretch=1.25}}
\caption{\footnotesize Pre-deployment on-cloud model generation (conventional).}
\label{fig:process_comparison:cloud}
\end{subfigure}
~~
\begin{subfigure}[b]{0.48\textwidth}
\centering
\includegraphics[width=8cm]{figure/edge_centric_deploy.png}
\caption{\footnotesize Post-deployment on-device model adaptation (ours).}
\label{fig:process_comparison:edge}
\end{subfigure}
\vspace{-0.3cm}
\caption{Comparison of pre-deployment and post-deployment model generation approaches.}
\label{fig:process_comparison}
\end{figure*}
Despite the effectiveness to find optimal model architecture based on the target environment,
NAS approaches are less practical in many edge/mobile scenarios where the model execution
environments may be very diverse and dynamic.
Searching and maintaining the optimal model architecture in the cloud for each edge would be
very compute- and labor-intensive.
Thus, \emph{a more economic and ideal solution is to let the model self-adapt to the target
environment after deployment,} which we call \textbf{``post-deployment approach''} to
distinguish with the conventional methods, as illustrated in Figure~\ref{fig:process_comparison}.
Doing so brings several other benefits - the quality of model architectures can be more precisely measured in the target environment, and user privacy can be better protected because there is
no need to collect edge information.
图像代码解释:
下面是对每个 LaTeX 命令的详细注释,解释其含义和作用:
\begin{figure*}
% figure* 环境创建一个跨越整个页面宽度的浮动体,用于在双栏文档中插入宽图像或多图并排显示
\centering
% \centering 将整个 figure* 环境中的内容水平居中
\begin{subfigure}[b]{0.48\textwidth}
% subfigure 环境用于在 figure* 环境中插入子图。
% [b] 指定子图的基线对齐方式为底部对齐
% {0.48\textwidth} 设置子图的宽度为页面宽度的 48%
\centering
% \centering 将子图内部的内容水平居中
\includegraphics[width=8cm]{figure/cloud_centric_deploy.png}
% \includegraphics 插入名为 "cloud_centric_deploy.png" 的图像,并将其宽度设置为 8 厘米
% \captionsetup{font={\footnotesize,bf,stretch=1.25}}
% 此行被注释掉了。如果启用,它会设置子图的标题字体为小号粗体,并调整字体行间距为 1.25 倍
% 需要加载 `caption` 包才能使用 \captionsetup
\caption{\footnotesize Pre-deployment on-cloud model generation (conventional).}
% \caption 为子图添加说明文字
% \footnotesize 设置说明文字为小号字体
% 说明文字内容为 "Pre-deployment on-cloud model generation (conventional)"
\label{fig:process_comparison:cloud}
% \label 为子图设置标签,方便在文档中引用
% 标签名为 "fig:process_comparison:cloud"
\end{subfigure}
~~
% 双波浪号插入两个子图之间的水平间距,提供一定的空隙
\begin{subfigure}[b]{0.48\textwidth}
% 第二个 subfigure 环境用于插入第二个子图
% [b] 表示底部对齐
% {0.48\textwidth} 设置子图的宽度为页面宽度的 48%
\centering
% \centering 将子图内部的内容水平居中
\includegraphics[width=8cm]{figure/edge_centric_deploy.png}
% \includegraphics 插入名为 "edge_centric_deploy.png" 的图像,并将其宽度设置为 8 厘米
\caption{\footnotesize Post-deployment on-device model adaptation (ours).}
% \caption 为第二个子图添加说明文字
% \footnotesize 设置说明文字为小号字体
% 说明文字内容为 "Post-deployment on-device model adaptation (ours)"
\label{fig:process_comparison:edge}
% \label 为子图设置标签,方便在文档中引用
% 标签名为 "fig:process_comparison:edge"
\end{subfigure}
\vspace{-0.3cm}
% \vspace 插入垂直空间,用于调整整个 figure* 环境与下方内容之间的间距
% {-0.3cm} 使空间减少 0.3 厘米(负值表示减少间距)
\caption{Comparison of pre-deployment and post-deployment model generation approaches.}
% \caption 为整个 figure* 环境添加说明文字
% 说明文字内容为 "Comparison of pre-deployment and post-deployment model generation approaches."
\label{fig:process_comparison}
% \label 为整个 figure* 环境设置标签,方便在文档中引用
% 标签名为 "fig:process_comparison"
\end{figure*}
总结
figure*
环境用于在双栏文档中插入跨越整个页面宽度的浮动体。\centering
将图像或内容水平居中。subfigure
环境用于创建子图,并允许将多个子图并排显示。\includegraphics
插入图像,并设置其尺寸。\caption
添加图像的说明文字。\label
设置标签以便引用图像。\vspace
调整浮动体与下方内容之间的间距。
这段代码综合使用了 figure*
、subfigure
和 \includegraphics
等命令,创建了一个包含两个子图的大图,并提供了图的说明和引用标签。
效果图:
文中Figure1.
的代码为Figure~\ref{fig:process_comparison}.
:
示例 2:
\begin{figure}
\centering
\includegraphics[width=8.5cm]{figure/predictors.PNG}
\vspace{-0.5cm}
\caption{Performance of cloud-trained accuracy predictor on distribution-shifted edge data. The edge data is simulated with Dirichlet distributions with (a) $\alpha=0.005$ and (b) $\alpha=0.1$. The sample ratios of top-50 classes are shown in (c) and (d).}
\setlength {\parskip} {-0.2cm}
\label{fig:predictors}
\end{figure}
图像代码解释:
\begin{figure}
% figure 环境用于插入浮动体(如图像),LaTeX 会自动决定最合适的位置
% 如果没有其他位置参数,LaTeX 默认会根据文本的排版规则决定浮动体的位置
\centering
% \centering 将整个 figure 环境中的内容水平居中
\includegraphics[width=8.5cm]{figure/predictors.PNG}
% \includegraphics 插入名为 "predictors.PNG" 的图像
% [width=8.5cm] 设置图像的宽度为 8.5 厘米
\vspace{-0.5cm}
% \vspace 插入垂直空间
% {-0.5cm} 使得图像下方与下一个内容之间的空间减少 0.5 厘米(负值表示减少空间)
\caption{Performance of cloud-trained accuracy predictor on distribution-shifted edge data. The edge data is simulated with Dirichlet distributions with (a) $\alpha=0.005$ and (b) $\alpha=0.1$. The sample ratios of top-50 classes are shown in (c) and (d).}
% \caption 为图像添加说明文字
% 说明文字内容描述了图像所示的内容,包括模型性能、数据分布以及图示部分(a)、(b)、(c)、(d)的说明
\setlength {\parskip} {-0.2cm}
% \setlength 调整 LaTeX 排版中的参数
% {\parskip} 设置段落间距(默认值),此行将段落间距减少 0.2 厘米
% 注意,这个设置可能会影响后续文本的段落间距,通常不建议在浮动体环境中调整此参数
\label{fig:predictors}
% \label 为图像设置标签,方便在文档中引用
% 标签名为 "fig:predictors"
\end{figure}
效果图:
示例 3:
\begin{figure*}
\centering
\includegraphics[width=16.4cm]{figure/system_architecture.png}
\vspace{-0.3cm}
\caption{The architecture overview of \name.}
\vspace{-0.3cm}
\label{fig:system_architecture}
\end{figure*}
\begin{figure}
\centering
\includegraphics[width=8cm]{figure/supernet2.png}
% \vspace{-0.2cm}
\caption{Supernet architecture in \name.}
% \vspace{-0.3cm}
\label{fig:supernet}
\end{figure}
图像代码解释:
\begin{figure*}
% figure* 环境用于插入一个浮动体(如图像),并使其跨越整个页面的宽度(在双栏文档中)。在单栏文档中,它也用于插入宽图像。
\centering
% \centering 将整个 figure* 环境中的内容水平居中,使图像在页面中居中显示。
\includegraphics[width=16.4cm]{figure/system_architecture.png}
% \includegraphics 插入名为 "system_architecture.png" 的图像
% [width=16.4cm] 设置图像的宽度为 16.4 厘米。图像路径 "figure/system_architecture.png" 是相对路径。
\vspace{-0.3cm}
% \vspace 插入垂直空间,用于调整图像与下方内容之间的间距
% {-0.3cm} 减少图像下方的垂直空间 0.3 厘米(负值表示减少空间)。
\caption{The architecture overview of \name.}
% \caption 为图像添加说明文字
% 说明文字内容为 "The architecture overview of \name.",描述了图像所示的内容。这里的 "\name" 是一个自定义命令或变量,用于插入具体的名称。
\vspace{-0.3cm}
% 再次插入垂直空间,减少图像说明文字与下方内容之间的间距 0.3 厘米(负值表示减少空间)。
\label{fig:system_architecture}
% \label 为图像设置标签 "fig:system_architecture",用于在文档中引用图像编号。例如,使用 \ref{fig:system_architecture} 可以引用图像编号。
\end{figure*}
\begin{figure}
% figure 环境用于插入浮动体(如图像),LaTeX 会根据文档的排版规则决定浮动体的位置。通常用于单栏文档或在双栏文档中的单栏位置。
\centering
% \centering 将整个 figure 环境中的内容水平居中,使图像在页面中居中显示。
\includegraphics[width=8cm]{figure/supernet2.png}
% \includegraphics 插入名为 "supernet2.png" 的图像
% [width=8cm] 设置图像的宽度为 8 厘米。图像路径 "figure/supernet2.png" 是图像文件的相对路径。
% \vspace{-0.2cm}
% \vspace 插入垂直空间,用于调整图像与下方内容之间的间距
% {-0.2cm} 减少图像下方的垂直空间 0.2 厘米(负值表示减少空间)。此行被注释掉了,因此不实际应用。
\caption{Supernet architecture in \name.}
% \caption 为图像添加说明文字
% 说明文字内容为 "Supernet architecture in \name.",描述了图像所示的内容。这里的 "\name" 是一个自定义命令或变量,用于插入具体的名称。
% \vspace{-0.3cm}
% \vspace 插入垂直空间,用于调整图像说明文字与下方内容之间的间距
% {-0.3cm} 减少图像说明文字与下方内容之间的空间 0.3 厘米(负值表示减少空间)。此行被注释掉了,因此不实际应用。
\label{fig:supernet}
% \label 为图像设置标签 "fig:supernet",用于在文档中引用图像编号
% 使用 \ref{fig:supernet} 可以插入图像的编号,以便在文档中引用。
\end{figure}
效果图:
示例 4:
\begin{figure}
\centering
\includegraphics[width=7cm]{figure/accelerate.png}
\vspace{-0.3cm}
\caption{Speed of evaluating a group of subnets.}
\vspace{-0.1cm}
\label{fig:accelerate}
\end{figure}
\begin{figure}
\begin{subfigure}[b]{0.24\textwidth}
\centering
\includegraphics[width=4.4cm]{figure/strategy.pdf}
\captionsetup{font=scriptsize, justification=centering}
\vspace{-0.3cm}
\caption{Optimal accuracy achieved with different num of subnets.}
\vspace{-0.3cm}
\label{fig:strategy}
\end{subfigure}
~~
\centering
\begin{subfigure}[b]{0.24\textwidth}
\centering
\includegraphics[width=4.4cm]{figure/end2end.pdf}
\captionsetup{font=scriptsize, justification=centering}
\vspace{-0.3cm}
\caption{Optimal accuracy achieved with different search time.}
\vspace{-0.3cm}
\label{fig:end2end}
\end{subfigure}
\vspace{-0.5cm}
\caption{Comparison of search efficiency between different methods.}
\label{fig:eval:search-efficiency}
\end{figure}
图像代码解释:
\begin{figure}
% figure 环境用于插入浮动体(如图像),LaTeX 会自动决定最合适的位置
\centering
% \centering 将整个 figure 环境中的内容水平居中
\includegraphics[width=7cm]{figure/accelerate.png}
% \includegraphics 插入名为 "accelerate.png" 的图像,并将其宽度设置为 7 厘米
\vspace{-0.3cm}
% \vspace 插入垂直空间,减少图像与下方内容之间的垂直间距 0.3 厘米(负值表示减少空间)
\caption{Speed of evaluating a group of subnets.}
% \caption 为图像添加说明文字
% 说明文字内容为 "Speed of evaluating a group of subnets."
\vspace{-0.1cm}
% \vspace 再次插入垂直空间,减少图像说明文字与下方内容之间的垂直间距 0.1 厘米(负值表示减少空间)
\label{fig:accelerate}
% \label 为图像设置标签 "fig:accelerate",以便在文档中引用
\end{figure}
\begin{figure}
% figure 环境用于插入浮动体(如图像),LaTeX 会自动决定最合适的位置
\begin{subfigure}[b]{0.24\textwidth}
% subfigure 环境用于在 figure 环境中插入子图
% [b] 指定子图的基线对齐方式为底部对齐
% {0.24\textwidth} 设置子图的宽度为页面宽度的 24%
\centering
% \centering 将子图内部的内容水平居中
\includegraphics[width=4.4cm]{figure/strategy.pdf}
% \includegraphics 插入名为 "strategy.pdf" 的图像,并将其宽度设置为 4.4 厘米
\captionsetup{font=scriptsize, justification=centering}
% \captionsetup 设置图像说明文字的样式
% {font=scriptsize} 将说明文字的字体设置为脚本大小
% {justification=centering} 将说明文字居中对齐
\vspace{-0.3cm}
% \vspace 插入垂直空间,减少子图与下方内容之间的垂直间距 0.3 厘米(负值表示减少空间)
\caption{Optimal accuracy achieved with different num of subnets.}
% \caption 为子图添加说明文字
% 说明文字内容为 "Optimal accuracy achieved with different num of subnets."
\vspace{-0.3cm}
% \vspace 再次插入垂直空间,减少子图说明文字与下方内容之间的垂直间距 0.3 厘米(负值表示减少空间)
\label{fig:strategy}
% \label 为子图设置标签 "fig:strategy",以便在文档中引用
\end{subfigure}
~~
% 双波浪号插入两个子图之间的水平间距,提供一定的空隙
\centering
% \centering 将整个 figure 环境中的内容水平居中
\begin{subfigure}[b]{0.24\textwidth}
% 第二个 subfigure 环境用于插入第二个子图
% [b] 指定子图的基线对齐方式为底部对齐
% {0.24\textwidth} 设置子图的宽度为页面宽度的 24%
\centering
% \centering 将子图内部的内容水平居中
\includegraphics[width=4.4cm]{figure/end2end.pdf}
% \includegraphics 插入名为 "end2end.pdf" 的图像,并将其宽度设置为 4.4 厘米
\captionsetup{font=scriptsize, justification=centering}
% \captionsetup 设置图像说明文字的样式
% {font=scriptsize} 将说明文字的字体设置为脚本大小
% {justification=centering} 将说明文字居中对齐
\vspace{-0.3cm}
% \vspace 插入垂直空间,减少子图与下方内容之间的垂直间距 0.3 厘米(负值表示减少空间)
\caption{Optimal accuracy achieved with different search time.}
% \caption 为子图添加说明文字
% 说明文字内容为 "Optimal accuracy achieved with different search time."
\vspace{-0.3cm}
% \vspace 再次插入垂直空间,减少子图说明文字与下方内容之间的垂直间距 0.3 厘米(负值表示减少空间)
\label{fig:end2end}
% \label 为子图设置标签 "fig:end2end",以便在文档中引用
\end{subfigure}
\vspace{-0.5cm}
% \vspace 插入垂直空间,减少整个 figure 环境与下方内容之间的垂直间距 0.5 厘米(负值表示减少空间)
\caption{Comparison of search efficiency between different methods.}
% \caption 为整个 figure 环境添加说明文字
% 说明文字内容为 "Comparison of search efficiency between different methods."
\label{fig:eval:search-efficiency}
% \label 为整个 figure 环境设置标签 "fig:eval:search-efficiency",以便在文档中引用
\end{figure}
效果图: