我正在使用 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}