LaTeX插入图片

基本语法

常用选项[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}

多图并排

参考《Ishort》的“3.9.2 并排和子图表”,这次没怎么用到,先不整理了。

我们时常有在一个浮动体里面放置多张图的用法。最简单的用法就是直接并排放置,也可以
通过分段或者换行命令\\ 排版多行多列的图片。以下为示意代码。

\begin{figure}[htbp]
\centering
\includegraphics[width=...]{...}
\qquad
\includegraphics[width=...]{...} \\[..pt]   % 这里换行后的[..pt]可以设置换行的宽度
\includegraphics[width=...]{...}
\caption{...}
\end{figure}

在这里插入图片描述

由于标题是横跨一行的,用\caption 命令为每个图片单独生成标题就需要借助前文提到的
\parbox 或者minipage 环境,将标题限制在盒子内。

\begin{figure}[htbp]
\centering
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{minipage}
\qquad
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\caption{...}
\end{minipage}
\end{figure}

在这里插入图片描述

当我们需要更进一步,给每个图片定义小标题时,就要用到subfig 宏包的功能了。这里仅举
一例。更详细的用法请参考subfig 宏包的帮助文档。

\begin{figure}[htbp]
\centering
\subfloat[...]{\label{sub-fig-1}% 为子图加交叉引用
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\end{minipage}
}
\qquad
\subfloat[...]{%
\begin{minipage}{...}
\centering
\includegraphics[width=...]{...}
\end{minipage}
}
\caption{...}
\end{figure}

在这里插入图片描述

其他问题

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}似乎也没看出什么区别。

猜你喜欢

转载自blog.csdn.net/gsgbgxp/article/details/129655879