IEEE Access Latex 模板中宽图的多行标题

IEEE Access Latex 模板中宽图的多行标题

IEEE Access 的 Latex 模板使用自己的图形类名为\Figure

\Figure[t!](topskip=0pt, botskip=0pt, midskip=0pt){fig1.png}{<caption>\label{fig1}}

此命令适用于宽图,即跨越两列的图。(对于列宽图,语法[width=\columnwidth]插入在 {fig1.png} 之前)

当标题的长度超过纸张可打印区域的宽度时,就会出现问题。它会以一行的形式超出页面范围。

对于带有长标题的列宽图形,不会出现此问题。它会自动转换为多行。

这个帖子提供了一种解决方法,但它会弄乱字体类型和字体大小。

因此,我决定自己做研究,并尝试查看该ieeeaccess.cls文件(您也可以找到这里)。但我对 .cls 文件完全是菜鸟。我强烈感觉到ieeeaccess.clsCaptions部分下的文件中缺少了一些东西。

它的内容如下

%%%
%Captions
\def\@IEEEtablestring{table}

\long\def\@makecaption#1#2{%
% test if is a for a figure or table
\ifx\@captype\@IEEEtablestring%
% if a table, do table caption
\begin{flushleft}
\vspace*{5pt}
{\vss\color{accessblue}\tablecapheadfont #1. \ }{\raggedright\tablecapfont#2\vss}%
\end{flushleft}
\@IEEEtablecaptionsepspace% V1.6 was a hard coded 8pt
% if not a table, format it as a figure
\else
\@IEEEfigurecaptionsepspace% V1.6 was a hard coded 5pt
% 3/2001 use footnotesize, not small; use two nonbreaking spaces, not one
\setbox\@tempboxa\hbox{\strut{\color{accessblue}\figcapheadfont #1. \ }\raggedright\figcapfont#2\strut}%
%\ifdim \wd\@tempboxa >\columnwidth%
\ifdim \xfigwd >\columnwidth%
% if caption is longer than a line, let it wrap around
\setbox\@tempboxa\hbox{{\color{accessblue}\figcapheadfont #1. \ }}%
\mbox{}\hfill\begin{tabular}{@{}l@{}}\noindent\raggedright\unhbox\@tempboxa\figcapfont#2\end{tabular}\hfill\mbox{}%
% if caption is shorter than a line,
% allow user to control short figure caption justification (left or center)
\else%
%\ifcenterfigcaptions \hbox to\hsize{\footnotesize\hfil\box\@tempboxa\hfil}%
%\else 
\setbox\@tempboxa\hbox{{\color{accessblue}\figcapheadfont #1. \ }}%
%\parbox[t]{\columnwidth}
{\vss\raggedright\noindent\unhbox\@tempboxa\figcapfont#2\vss}%
%\hbox to\hsize{\box\@tempboxa\hfil}%
%\fi
\fi\fi\vskip 1pt plus 1pt minus 1pt}

我感觉应该有一个嵌套elseif来检查条件\ifdim \xfigwd >\textwidth%

然而,我似乎没有找到任何关于nested \如果dim

正如我之前所说,我对文件及其语法完全一窍不通.cls。我的观察很可能是错误的。

是否有人熟悉.cls语法,碰巧与我有相同的观察结果,并且希望知道可以在.cls文件中进行哪些更改,以使宽图能够出现多行标题?

提前致谢。

答案1

好的,在摆弄了文件之后ieeeaccess.cls,我发现\columnwidth用替换\textwidth可以允许多行(神奇地)出现在宽图形和列宽图形中。

因此,在Caption部分下,只需将行替换为

\ifdim \xfigwd >\columnwidth%

\ifdim \xfigwd >\textwidth%

请注意,我仍然不确定为什么这是有效的(但确实有效)。我把技术解释留给专家。

话虽如此,它也不会弄乱 IEEE Access 设置的字体类型和字体大小,这正是我想要的。

附言:如果有人发现这个解决方案不正确,并解释其原因,并提供合理的解决方案,我将很乐意删除我的解决方案。(目前它仍然是我的首选解决方案:))。我希望 IEEE Access 注意到这个问题。

[更新]

也可以使用\linewidth%。感谢用户@Zarko 的建议。

相关内容