algorithm2e 不显示带有 iucr 文档类的标题

algorithm2e 不显示带有 iucr 文档类的标题

我正在准备一份稿件提交给 IUCr 期刊。通过使用提供的模板 (http://journals.iucr.org/s/services/latexstyle.html),其中documentclass设置为iucr,我发现使用 创建的算法框algorithm2e没有显示标题。图形的标题显示正常。切换到 后\documentclass{article},算法框标题恢复正常。

MWE 列表如下:

\documentclass[preprint]{iucr} 
\usepackage{algorithm2e}
\usepackage{amsmath}
\RestyleAlgo{boxruled}

\begin{document} 
\begin{algorithm}[H]
\SetAlgoLined
\KwIn{$g$: the scan grid configuration}
\KwIn{$\Theta$: the list of projection angles}
\For{$z$ in $g_z$}{
  \For{$y$ in $g_y$}{
    \For{$x$ in $g_x$}{
      \For{$\theta$ in $\Theta$}{
          Acquire projection image
      }
    }
  }
}
End Acquisition
\label{box:acq_local}
\caption{Algorithm for image acquisition used for local tomogram stitching.}
\end{algorithm}
\end{document}

打印的算法框看起来像这样 - 虽然\caption提供了,但在pdf中缺少。 在此处输入图片描述

cls可以通过上面的链接找到 IUCr 模板的文件。

任何想法都值得赞赏。

答案1

该类根据浮点数是图形还是表格(或特定于类的环境)iucr重新定义。不幸的是,其他类型的浮点数(例如算法)没有默认情况,这意味着对于这些浮点数,的定义是空白的。\captionexample\caption

您可以为标题提供自定义命令(借用自article),并将其用于除图形和表格之外的所有浮点数。看来此解决方案保留了编号和正确的引用(见下面的示例)。

请注意,期刊可能对自定义标题的位置、字体样式、缩写等有其他要求。另外:最好向期刊编辑提及应在其文档类中解决此问题。

梅威瑟:

\documentclass[preprint]{iucr} 
\usepackage{algorithm2e}
\usepackage{amsmath}
\RestyleAlgo{boxruled}

\makeatletter
\newcommand{\mycaption}{%
\ifx \@captype \@undefined \@latex@error {\noexpand \caption outside float}\@ehd \expandafter \@gobble \else \refstepcounter \@captype \expandafter \@firstofone \fi {\@dblarg {\@caption \@captype }}%
}%
\makeatother

\begin{document}
Consider Figures \ref{fig:first} and \ref{fig:second} and Algorithms \ref{box:acq_local} and \ref{box:acq_short}.

\begin{figure}
\fbox{A figure}
\caption{Figure caption}
\label{fig:first}
\end{figure}

\begin{algorithm}
\SetAlgoLined
\KwIn{$g$: the scan grid configuration}
\KwIn{$\Theta$: the list of projection angles}
\For{$z$ in $g_z$}{
  \For{$y$ in $g_y$}{
    \For{$x$ in $g_x$}{
      \For{$\theta$ in $\Theta$}{
          Acquire projection image
      }
    }
  }
}
End Acquisition
\mycaption{Algorithm for image acquisition used for local tomogram stitching.}
\label{box:acq_local}
\end{algorithm}

\begin{figure}
\fbox{Another figure}
\caption{Other figure caption}
\label{fig:second}
\end{figure}

\begin{algorithm}
\SetAlgoLined
\KwIn{$g$: the scan grid configuration}
\KwIn{$\Theta$: the list of projection angles}
Do Magic\;
End Acquisition
\mycaption{Short algorithm for image acquisition.}
\label{box:acq_short}
\end{algorithm}

\end{document}

结果:

在此处输入图片描述

相关内容