LaTeX插入图片
LaTeX插入图片方法简介,多图并排,主标题与子标题设置,subfloat和subfigure的使用;插入图片占位符;设置图片大小
1 基本语法
常用选项[htbp]是浮动格式(参考《LaTeX2e插图指南》16.2节和《Ishort》3.9节):
- 『h』当前位置。将图形放置在正文文本中给出该图形环境的地方。如果本页所剩的页面不够,这一参数将不起作用。
- 『t』顶部。将图形放置在页面的顶部。
- 『b』底部。将图形放置在页面的底部。
- 『p』浮动页。将图形放置在一只允许有浮动对象的页面上。
- 『!』 在决定位置时忽视限制
在table或者figure 后加 [!htb] 是系统忽略“美学”标准,把表格和图片插入到你的代码中,是动的,但是不加感叹号,它就是按顺序选择h(此处),t(上方),b(下方),所以为了让图片随着你的代码移动,最好加一个[!htb]
其他网友解释:“LaTeX对每个位置的浮动体的总数和占用大小有一定限制,超出限制的浮动体会被排在较后的页面中,但可以在位置选项中增加一个!符号,来忽略这些参数限制。因此,在LaTeX中最宽松的浮动体位置就是[!htbp]。在位置选项中加上!号将使浮动体相对更靠近文字或靠前出现。”
注1:排版位置的选取与参数里符号的顺序无关,LATEX 总是以h-t-b-p 的优先级顺序决定浮动体位置。
也就是说[!htp] 和[ph!t] 没有区别。
注2:限制包括浮动体个数(除单独成页外,默认每页不超过3 个浮动体,其中顶部不超过2 个,底部不
超过1 个)以及浮动体空间占页面的百分比(默认顶部不超过70%,底部不超过30%)。
\begin{figure}[htb]
\centering
\includegraphics[width=7.8cm]{figures/aaa.pdf}
\caption{aaa}
\label{fig:aaa}
\end{figure}
控制图片宽度的不同写法
\includegraphics[width=7.8cm]{figures/aaa.pdf}
\includegraphics[width=.5\textwidth]{figures/aaa.pdf}
2 多图并排
参考《Ishort》的“3.9.2 并排和子图表”。
2.1 直接排放共用一个主标题
我们时常有在一个浮动体里面放置多张图的用法。最简单的用法就是直接并排放置,也可以
通过分段或者换行命令\\ 排版多行多列的图片。以下为示意代码。
\begin{figure}[htbp]
\centering
\includegraphics[width=...]{...}
\qquad
\includegraphics[width=...]{...} \\[..pt] % 这里换行后的[..pt]可以设置换行的宽度
\includegraphics[width=...]{...}
\caption{...}
\end{figure}
2.2 并排各自有其标题
由于标题是横跨一行的,用\caption 命令为每个图片单独生成标题就需要借助前文提到的
\parbox 或者minipage 环境,将标题限制在盒子内。
\begin{figure}[htbp]
\centering
\begin{minipage}{...} % minipage后定义页面宽度,如60pt
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{minipage}
\qquad
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{minipage}
\end{figure}
2.3 主标题下每张子图各有小标题
2.3.1 subfig包下的subfloat环境
参考《Ishort》的“3.9.2 并排和子图表”
当我们需要更进一步,给每个图片定义小标题时,就要用到subfig 宏包的功能了。这里仅举
一例。更详细的用法请参考subfig 宏包的帮助文档。
1、简单示例
\begin{figure}[htbp]
\centering
\subfloat[]{
\centering
\label{fig:subfig_a}
\includegraphics[width=7.5 cm]{picture.jpg}}
\hspace{10pt}%
\subfloat[]{
\centering
\label{fig:subfig_b}
\includegraphics[width=7.5 cm]{picture.jpg}}
\caption{Title}
\label{fig:subfig}
\end{figure}
2、结合minipage防止标题折行
当子图小标题较长时可能出现折行,此时可插入minipage
。
参考包太雷《lnotes-v2.66》5.2.6节
\begin{figure}[htbp]
\centering
\subfloat[subtitle-1]{\label{sub-fig-1} % 为子图加交叉引用
\begin{minipage}{...} % minipage后定义页面宽度,如60pt
\centering
\includegraphics[width=...]{picture.jpg}
\end{minipage}
}
\qquad
\subfloat[subtitle-2]{%
\begin{minipage}{...}
\centering
\includegraphics[width=...]{picture.jpg}
\end{minipage}
}
\caption{...}
\end{figure}
2.3.2 subcaption包下的subfigure环境
需要注意的是,subcaption和subfig两个宏包似乎冲突,不能同时使用。
使用样例如下:
1、使用样例-1:通过subfigure添加
\begin{figure}[htbp]
\centering
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{figure.pdf}
\caption{a}
\label{fig:subfig1}
\end{subfigure}
\hspace{0.5cm}
\begin{subfigure}[b]{0.4\textwidth}
\centering
\includegraphics[width=\textwidth]{figure.pdf}
\caption{b}
\label{fig:subfig2}
\end{subfigure}
\caption{Title}
\label{fig:side-by-side}
\end{figure}
2、使用样例-2:使用subcationbox添加
参考链接:https://www.zhihu.com/question/544368943/answer/2585548337
\documentclass{article}
\usepackage{graphicx, subcaption}
\begin{document}
\begin{figure}[htbp]
\centering
\subcaptionbox{A}{
\includegraphics[width = .3\linewidth]{figures/example-image-a.pdf}
}
\subcaptionbox{B}{
\centering
\includegraphics[width = .3\linewidth]{figures/example-image-b.pdf}
}
\subcaptionbox{C}{
\includegraphics[width = .3\linewidth]{figures/example-image-c.pdf}
}
\caption{TEST}
\end{figure}
\end{document}
2.4 零散问题
2.4.1 标题左右对齐与居中对齐
上面添加标题都是默认居中对齐,但是在有的模板中(如MDPI的模板)设置了全局标题左对齐,所以会出现子标题也左对齐的情况。但我们想要实现的效果是子标题在子图的正下方居中对齐,此时的解决方案如下。
如果正在使用subfig宏包,可以在导言区或者具体的figure环境中使用以下命令来设置子标题居中对齐:
\captionsetup[subfloat]{justification=centering}
如果正在使用subcaption宏包,可以在导言区或者具体的figure环境中使用以下命令来设置子标题居中对齐:
\captionsetup[sub]{justification=centering}
其中的 subfloat 和 sub 参数表示设置仅应用于子图和子表的标题。这是一种局部设置,只影响 \subfigure、\subtable 或类似环境的标题。
subfloat环境下的使用示例如下
\begin{figure}[htbp]
\captionsetup[subfloat]{justification=centering}
\centering
\subfloat[]{
\centering
\label{fig:subfig_a}
\includegraphics[width=7.5 cm]{figure.pdf}}
\hspace{10pt}%
\subfloat[]{
\centering
\label{fig:subfig_b}
\includegraphics[width=7.5 cm]{figure.pdf}}
\caption{Title}
\label{fig:subfig}
\end{figure}
那如果是想要实现该图表环境中的子标题和主标题都居中对齐,那么设置方式为
\begin{figure}[htbp]
\centering
\captionsetup{justification=centering}
% 插入图片和子图
\caption{Main figure caption}
\label{fig:main}
\end{figure}
2.4.2 修改默认子图编号样式
默认的子表编号是(a)(b)©,一般不需要修改,如果一定要修改可参考
latex 画图子图排布、编号
采用的方式是
\setcounter {subfigure} {0} a)
插入图片占位符
参考链接:https://blog.csdn.net/yq_forever/article/details/129431799
在论文草稿阶段有的时候想先插入图片占位符拟定大纲或写作思路,可以使用以下命令(overleaf可用)
\begin{figure}[htbp]
\includegraphics[width=3 cm]{example-image-a}
\includegraphics[width=3cm]{example-image-golden} % 黄金比例
\includegraphics[width=3cm]{example-grid-100x100pt}\\ % 设置大小
\includegraphics[width=3cm]{example-image} % 只写个image
\includegraphics[width=3cm]{example-image-duck} % 一只可爱的小鸭子. 用多次每次的鸭子都不一样
\caption{title.}
\label{}
\end{figure}
显示效果如下
设置图片大小
在LaTeX中,有几种方式可以设置插入图片的大小。以下是其中几种常用的方法:
-
使用
width
和height
参数:可以在\includegraphics
命令中使用width
和height
参数来设置图片的宽度和高度。例如:\includegraphics[width=5cm,height=3cm]{image}
这样会将图片的宽度设置为5cm,高度设置为3cm。你可以根据需要调整具体的尺寸值。
-
使用
scale
参数:可以使用scale
参数来按比例缩放图片的大小。例如:\includegraphics[scale=0.5]{image}
这样会将图片的大小缩放为原来的50%。
-
使用相对单位:可以使用相对单位,如
\textwidth
、\linewidth
、\columnwidth
等,来相对于页面、行宽或列宽设置图片的大小。例如:\includegraphics[width=0.8\textwidth]{image}
这样会将图片的宽度设置为页面宽度的80%。
-
使用
adjustbox
宏包【方法尚未验证】:adjustbox
宏包提供了更灵活的图片调整和缩放功能。你可以使用\adjustbox
命令包裹\includegraphics
命令,并使用其中的选项来设置图片的大小、缩放和对齐等。例如:\usepackage{adjustbox} ... \begin{figure}[htbp] \centering \adjustbox{width=5cm,height=3cm,keepaspectratio}{\includegraphics{image}} \caption{插入图片} \label{fig:insert-image} \end{figure}
在上面的示例中,我们使用
adjustbox
宏包的width
和height
选项来设置图片的大小,并使用keepaspectratio
选项保持宽高比。
其他问题
1、\centerline和\centering有什么区别?
先说结论,平时插入图片就用 \centering
就可以了。
\centerline是一个命令,可以将图片居中放置,并且在该命令后面的所有内容也会居中对齐。示例如下:
\begin{figure}[htbp]
\centerline{\includegraphics[width=.45\textwidth]{Figures/Curve.pdf}}
\caption{curve}
\label{fig:Curve}
\end{figure}
\center是一个环境,可以将图片居中放置,并且在该环境内所有的内容也会居中对齐。它的语法结构如下:
\begin{center}
\includegraphics[参数]{图片文件名}
\end{center}
(以下回答内容来自ChatGPT-3.5,未验证是否准确)
在 LaTeX 中,\begin{center}
、\centerline
和 \centering
都可以用来居中对齐文本或图形,但它们有一些区别。
\begin{center}
和\end{center}
是一个环境,它将环境内的所有内容居中对齐。这意味着你可以在环境中包含多行文本或多个图形,并且它们将被一起居中对齐。当你在这个环境中输入文本或插入图形时,它们都将在页面的中心对齐,而不是默认左对齐。这个环境可以用在 LaTeX 文档中的任何地方,例如在标题、段落或图片等元素周围,以实现居中对齐的效果。\centerline
是一个命令,它只能用于单行文本或图形。它将给定的文本或图形居中对齐,忽略行末的换行符。\centering
是一个命令,它将当前段落中的所有文本居中对齐。它不像 \begin{center} 那样创建一个新的环境,也不像 \centerline 那样只针对单个元素,而是影响当前段落中的所有内容。如果你只想居中对齐一行文本,可以使用 \centering 命令,并在行末使用双反斜杠 \\ 来结束该行。
在《Ishort》的“3.5.2 对齐环境”中有这样一段话
center 等环境会在上下文产生一个额外间距,而\centering 等命令不产生,只是改变对齐方式。比如在浮动体环境table或figure 内实现居中对齐,用\centering 命令即可,没必要再用center 环境。
但是自己在\begin{figure}中套用了\begin{center}似乎也没看出什么区别。
更多推荐
所有评论(0)