Многострочная подпись для широких рисунков в шаблоне IEEE Access Latex

Многострочная подпись для широких рисунков в шаблоне IEEE Access Latex

Шаблон Latex от IEEE Accessиспользует свой собственный класс фигур с именем\Figure

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

Эта команда предназначена для широких фигур, то есть фигур, охватывающих два столбца. (Для фигур шириной в столбец синтаксис [width=\columnwidth]вставляется перед {fig1.png})

Проблема возникает, когда заголовок длиннее ширины печатной области бумаги. Он выходит за пределы страницы в виде одной строки.

Эта проблема не возникает для столбчатых рисунков с длинными подписями. Он автоматически преобразуется в многострочный.

Эта почтапредоставляет обходной путь, но он портит тип и размер шрифта.

Итак, я решил провести собственное исследование и попытался заглянуть в ieeeaccess.clsфайл (который вы также можете найтиздесь). Но я полный новичок в .cls файлах. У меня есть сильное ощущение, что в файле ieeeaccess.clsпод Captionsразделом чего-то не хватает.

Это читается как

%%%
%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 \ifdim.

Как я уже говорил ранее, я полный новичок в .clsфайлах и их синтаксисе. И мои наблюдения вполне могут быть неверными.

Может быть, кто-нибудь, знакомый с .clsсинтаксисом, разделяет мои наблюдения и, надеюсь, знает, что можно изменить в .clsфайле, чтобы сделать возможными многострочные подписи для широких рисунков?

Заранее спасибо.

решение1

Итак, повозившись с файлом ieeeaccess.cls, я обнаружил, что замена \columnwidthна \textwidthпозволяет (волшебным образом) отображать многострочный текст как для широких фигур, так и для фигур шириной в столбец.

Итак, в Captionразделе просто замените строку

\ifdim \xfigwd >\columnwidth%

с

\ifdim \xfigwd >\textwidth%

Обратите внимание, что я все еще не уверен, почему это работает (но это работает). Я оставляю техническое объяснение экспертам.

При этом он также не меняет тип и размер шрифта, установленные IEEE Access, а именно этого я и хотел.

P.S.: Если кто-то посчитает это решение неверным, объяснит, почему это так, и предоставит обоснованное решение, я с радостью удалю свое. (Это все еще будет моим предпочтительным решением на данный момент:)). И я надеюсь, что IEEE Access примет во внимание эту проблему.

[ОБНОВЛЯТЬ]

Работает с \linewidth%тоже. Спасибо пользователю @Zarko за это предложение.

Связанный контент