overleaf 插入图片,引用图片,图标标题Fig与文章引用Figure不一致解决

发布于:2023-09-22 ⋅ 阅读:(97) ⋅ 点赞:(0)

目录

1.一般插图

2.插入双栏图片

3 插入子图

4. 引用出现问题 

问题1 : pdf 文中引用只出现了图片序号,如“3”。没有出现“Fig.3 或者Figure.3”

问题2:文中引用的标题和图片下面的标题不一致

1   首先,在导言区添加以下行来引入 cleveref 宏包并配置它:

2  若要文章引用标题和图片下面的标题Fig保持一致。

  总结:


在 Overleaf 中插入图片并引用图片需要使用 LaTeX,并通常使用 graphicx 宏包来实现。以下是详细步骤和示例:

1.一般插图

步骤 1:导入 graphicx 宏包

在你的 LaTeX 文档中,导入 graphicx 宏包,以便能够插入和引用图片。在导言区添加以下行:

\usepackage{graphicx}

 这将使你能够使用 \includegraphics 命令来插入图片。

步骤 2:插入图片

使用 \includegraphics 命令来插入图片。命令的一般格式如下:

\includegraphics[选项]{图片文件名}

其中:

  • 选项:可以用来设置图片的大小、位置等选项。
  • 图片文件名:指定图片文件的文件名,包括文件扩展名。

示例代码:

\begin{figure}[htbp]
\centering
\includegraphics[width=0.5\textwidth]{example.png}
\caption{这是图片的标题。}
\label{fig:myfigure}
\end{figure}

上面的示例代码插入了一张名为 "example.png" 的图片,并设置了图片宽度为页面宽度的一半。同时,它为图片添加了标题和标签(label)以便后续引用。

步骤 3:引用图片

要在文档中引用图片,你可以使用 \ref 命令并指定图片的标签(label)。示例代码如下:

as shown in \ref{fig:myfigure} 

在上述示例中,我们使用 \ref{fig:myfigure} 引用了标签为 "fig:myfigure" 的图片,它会自动显示图片的编号。

特殊情况:

2.插入双栏图片

\begin{figure*}[htbp]
\centering
\includegraphics[width=\textwidth]{example.png}
\caption{This is the caption for a two-column figure.}
\label{fig:twocolumn}
\end{figure*}

在上述示例中:

  • 我们使用 figure* 环境将图片包装起来,使其成为一个跨双栏的浮动对象。
  • \centering 命令将图片居中显示。
  • \includegraphics 命令用于插入图片,其中 width=\textwidth 将图片的宽度设置为文本宽度,以便它跨足两个栏。
  • \caption 命令用于设置图片的标题。
  • \label 命令用于为图片添加标签,以便后续引用。

引用双栏图片

要在文档中引用双栏图片,你可以使用 \ref 命令并指定图片的标签(label)。示例代码如下:

As shown in Fig. \ref{fig:twocolumn}, this is the content of a two-column figure.

 在上述示例中,我们使用 \ref{fig:twocolumn} 引用了标签为 "fig:twocolumn" 的图片,它会自动显示图片的编号。

3 插入子图

        在 Overleaf 中插入子图可以使用 subfiguresubcaption 宏包来实现。以下是使用 subcaption 宏包的步骤和示例:

步骤 1:导入必要的宏包

在导言区导入以下宏包,以便能够插入和引用子图:

\usepackage{graphicx}
\usepackage{subcaption}
  • graphicx 宏包用于插入图片。
  • subcaption 宏包用于创建和管理子图。

步骤 2:插入子图

使用 subfigure 环境来插入子图。示例代码如下:

\begin{figure}[htbp]
  \centering
  \begin{subfigure}[b]{0.45\textwidth}
    \includegraphics[width=\textwidth]{subfig1.png}
    \caption{子图 1}
    \label{subfig:1}
  \end{subfigure}
  \hfill
  \begin{subfigure}[b]{0.45\textwidth}
    \includegraphics[width=\textwidth]{subfig2.png}
    \caption{子图 2}
    \label{subfig:2}
  \end{subfigure}
  \caption{主图标题}
  \label{fig:main}
\end{figure}

在上述示例中:

  • 我们使用 subfigure 环境来包装每个子图。
  • \includegraphics 命令用于插入子图的图片。
  • \caption 命令用于设置每个子图的标题。
  • \label 命令用于为每个子图添加标签,以便后续引用。

步骤 3:引用子图

要在文档中引用子图,可以使用 \subref 命令并指定子图的标签(label)。示例代码如下:

如图 \subref{subfig:1} 和 \subref{subfig:2} 所示,这是子图 1 和子图 2。

在上述示例中,我们使用 \subref{subfig:1}\subref{subfig:2} 引用了标签为 "subfig:1" 和 "subfig:2" 的子图,它们将自动显示子图的编号。

通过这种方式,你可以在 Overleaf 中插入和引用子图。你可以根据需要添加更多子图,并按照上面的示例进行设置和引用。

4. 引用出现问题 

问题1 : pdf 文中引用只出现了图片序号,如“3”。没有出现“Fig.3 或者Figure.3”

(1)如插入图片的latex 源码如下:

\begin{figure}[htbp]
\centerline{\includegraphics[width=6.5 cm,height=10cm]{fig3-encoder block.jpg}}
\caption{The transformer encoder encoder encoder encoder.}
\label{fig3}
\end{figure}

(2)引用部分的latex源码:

as shown in \ref{fig3}.

显示为:

没有如愿显示为Figure.3或者Fig.3。

解决:

如果在 PDF 中只显示了 "3" 而不是 "Figure 3" 或其他文本,这可能是由于 LaTeX 的设置或宏包的问题。你可以尝试以下几种方法来解决这个问题:

使用 cleveref 宏包: 在导言区添加 \usepackage{cleveref} 并在文本中使用 \Cref{fig:2} 来引用图表。cleveref 宏包会自动添加适当的前缀,例如 "Figure"。

\usepackage{cleveref}
...
如\Cref{fig:2}所示,这是一个示例图表。

 解决1 接上面示例:换成如下方式引用,注意\Cref    是大写的  C,如下

as shown in \Cref{fig3}.

 则pdf文中显示为Figure 3如下

   解决2接上面示例:换成如下方式引用,注意\cref    是小写的  c,如下 

as shown in \cref{fig3}.

则pdf 文中显示为fig.3 ,如下

此时你又发现,pdf 中的图的标题如下: 

而文中引用部分则显示为   as shown in Figure 3,如下

 

问题2:文中引用的标题和图片下面的标题不一致

该如何让文中引用的标题和图片下面的标题保持一致呢 ?

要统一引用和图标题,你可以使用 LaTeX 的宏包 cleverefcleveref 宏包允许你自动添加适当的引用前缀,以匹配图表、表格等对象的标题。

1   首先,在导言区添加以下行来引入 cleveref 宏包并配置它:
\usepackage{cleveref}
\crefname{figure}{figure}{figures}
\Crefname{figure}{Figure}{Figures}

上述代码中,我们使用了 \crefname\Crefname 命令来配置引用的前缀。在这个例子中,我们配置了图表(figure)的引用前缀为 "figure"(小写)和 "Figure"(首字母大写)。

即 \cref    显示为   figure

     \Cref   显示为   Figure

接下来,你可以在文档中使用 \cref\Cref 命令来引用图表,而不必手动添加前缀。例如:

加入以上命令后:

(1)示例1:

as shown in \cref{fig3}.

 将显示为 

(2) 示例2

 

as shown in \Cref{fig3}.

则又显示为

2  若要文章引用标题和图片下面的标题Fig保持一致。

此时我们将以上命令修改为:

\usepackage{cleveref}
\crefname{figure}{fig}{figures}
\Crefname{figure}{Fig}{Figures}

(1)示例1 

此时若

as shown in \cref{fig3}.

则显示为

 (2)示例2

若如下:

as shown in \Cref{fig3}

则终于和图片下边的标题保持一致了

 


5 引用问题总结

\usepackage{cleveref}
\crefname{figure}{figure}{figures}
\Crefname{figure}{Figure}{Figures}
  1. \usepackage{cleveref}:这行代码用于引入 cleveref 宏包,该宏包提供了更强大的交叉引用功能,允许你智能地引用文档中的对象,如图表、公式、章节等。

  2. \crefname{figure}{figure}{figures}:这行代码配置了 cleveref 如何处理图表的引用。具体来说:

    • 第一个参数 {figure} 指定了要配置的对象类型,这里是图表(figure)。
    • 第二个参数 {figure} 指定了该对象类型的引用格式,即小写形式,通常是 "figure"。
    • 第三个参数 {figures} 指定了该对象类型的引用格式的复数形式,通常是 "figures"。
  3. \Crefname{figure}{Figure}{Figures}:这行代码配置了 cleveref 如何处理图表的引用,但在这里使用了大写形式。具体来说:

    • 第一个参数 {figure} 指定了要配置的对象类型,这里是图表(figure)。
    • 第二个参数 {Figure} 指定了该对象类型的引用格式,即首字母大写的形式,通常是 "Figure"。
    • 第三个参数 {Figures} 指定了该对象类型的引用格式的复数形式,通常是 "Figures"。
本文含有隐藏内容,请 开通VIP 后查看