图像与算法风格之间的冲突

图像与算法风格之间的冲突

我正在尝试写一篇包含图形和算法的文章。与图像相关的命令应该是这些:

\usepackage{float}
\usepackage{graphicx}
\usepackage[margin=1.5cm]{caption}
\restylefloat{figure}

相反,与算法相关的代码应该是这样的:

\usepackage{algorithm}
\usepackage[noend]{algpseudocode}

问题在于:在引入这些伪代码的最后命令之前,图像的样式是单独的图形,其标题的宽度低于其余文本的宽度,而引入这些线条后,图像基本上采用了与算法相同的图形样式:

算法图形样式图

您知道我该怎么做才能恢复标准图形的图形风格吗?

答案1

您只需删除该行

\restylefloat{figure}

事实上,你应该有类似的东西

\documentclass{article}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage{float}
\usepackage{graphicx}
\usepackage[margin=1.5cm]{caption}
\restylefloat{figure}

\begin{document}

\begin{figure}
  \caption{A figure}
\end{figure}

\begin{algorithm}
  \caption{An algorithm}
\end{algorithm}

\end{document} 

输出结果如下

在此处输入图片描述

删除该行,你会得到

在此处输入图片描述

问题在于,该algorithm包将浮动样式重新定义为ruled,当你发出

\restylefloat{figure}

ruled样式也适用于figure浮动。


如果由于某种原因您必须将该行保留在文档中,则解决方案是algorithm在该行之后加载。

相关内容