如何在 Elsevier cas-dc 类中并排排列两张具有不同标题的图像?

如何在 Elsevier cas-dc 类中并排排列两张具有不同标题的图像?

我正在使用 elsevier 的模板 - cas-dc,我想并排显示两张具有不同标题的图像双栏
但标题并没有出现在图片的正下方,其中一个标题位于整篇文章的中间。

并且报告了溢出错误。

ps:参考了类似问题的答案,没有得到解决。
将三幅图并排放置,每幅图都有自己的标题

\begin{figure*}
    \begin{minipage}[t]{0.48\linewidth}
        \includegraphics[width=\linewidth]{figs/Fig1.pdf}
        \caption{Problems due to rivet aging}
        \label{fig-problemofrivet}
    \end{minipage}
    \hfill
    \begin{minipage}[t]{0.48\linewidth}
        \includegraphics[width=\linewidth]{figs/Fig1.pdf}
        \caption{Example of rivet replacement by the bolt}
        \label{fig-rivetrepla}
    \end{minipage}
\end{figure*}

答案1

这个类有一些严重的设计缺陷(包含在 中cas-common.sty)。我不确定修改它的代码是否是个好主意,但以下补丁应该可以解决:

编辑:由于无条件定义可能存在问题,\bibsep我已将其更改为仅在尚未定义时才执行此操作,并且很晚才执行此操作。

\documentclass[]{cas-dc}

\AddToHook{begindocument/before}{\ifdefined\bibsep\else\newlength\bibsep\fi} % class is broken...

\ExplSyntaxOn
\exp_args:NNno \exp_args:Nno \use:n { \cs_gset:Npn \__make_fig_caption:nn #1#2 }
  {
    \exp_after:wN \use_ii_i:nn \exp_after:wN
      { \__make_fig_caption:nn {#1} {#2} }
      { \dim_set:Nn \l_fig_width_dim \linewidth }
  }
\exp_args:NNno \exp_args:Nno \use:n { \cs_gset:Npn \__make_tbl_caption:nn #1#2 }
  {
    \exp_after:wN \use_ii_i:nn \exp_after:wN
      { \__make_tbl_caption:nn {#1} {#2} }
      { \dim_set:Nn \l_tbl_width_dim \linewidth }
  }
\ExplSyntaxOff

\usepackage{duckuments}

\begin{document}
\blindduck[all]
\begin{figure*}
  \begin{minipage}[t]{0.48\linewidth}
    \includegraphics[width=\linewidth]{example-image-duck}
    \caption{Problems due to rivet aging\label{fig-problemofrivet}}
  \end{minipage}
  \hfill
  \begin{minipage}[t]{0.48\linewidth}
    \includegraphics[width=\linewidth]{example-image-duck}
    \caption{Example of rivet replacement by the bolt\label{fig-rivetrepla}}
  \end{minipage}
\end{figure*}
\blindduck[all]
\end{document}

在此处输入图片描述

相关内容