我正在制作一张海报,我发现 sciposter 是一个非常好的海报类,能够处理 eps 图形。我还发现 sciposter 可以处理\psfrag
用于在图形上添加标签的命令。我的工作需要这个功能。但是,我无法像在普通文章类文档中一样包含子图。sciposter 包中的示例附带了一个展示如何包含子图的示例,但我仍然想像平常一样使用 subfig 包。这是一个最基本的代码:
\documentclass{sciposter}
\usepackage{epsfig}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{caption}
\captionsetup{labelsep=period}
\captionsetup[subfloat]{captionskip=15pt}
%\usepackage{xcolor}
\usepackage{psfrag}
\title{Generalized Pattern Spectra Sensitive to Spatial Information}
\author{Michael H. F. Wilkinson}
\institute{Institute for Mathematics and Computing Science,\\
University of Groningen\\}
\email{[email protected]} % shows author email address below institute
\begin{document}
\conference{{\bf ICPR 2002}, 16th International Conference on Pattern
Recognition, 11-15 August 2002, Qu\'ebec City, Canada}
\maketitle
%%% Begin of Multicols-Enviroment
\begin{multicols}{3}
\section{Introduction}
\begin{figure}[htp]
\centering{
\subfloat[Good stiffness ratio $\overline{k}=0.2$]{
\label{fig:subfig:first figure}
\input{k02bb.tex}
\includegraphics[width=0.48\columnwidth]
{k02bb.eps}}
\hfill
\subfloat[Bad stiffness ratio $\overline{k}=0.3$]{
\label{fig:subfig:second figure}
\input{k02bb.tex}
\includegraphics[width=0.48\columnwidth]
{k02bb.eps}}
\caption{Test figure}
\label{fig:stiffgoodbad}}
\end{figure}
\end{multicols}
\end{document}
上述文件改编自软件包附带的示例文件 sciposter-example.tex。唯一的区别是我使用的是\subfloat
subfig 软件包,并且我的图形分别位于两个文件中:1 个 eps 用于绘图,1 个 tex 文件用于标签。这是我使用 Matlab 和 Laprint 时通常的做法。编译上述内容时,我收到错误消息:
! LaTeX Error: \subfloat outside float.
l.50 \subfloat
[Good stiffness ratio $\overline{k}=0.2$]{
?
使用普通文章或书籍类时,我没有收到此错误\subfloat
。我在这里做错了什么,为什么它不适用于 sciposter?
更新:文件 k02bb.tex 和 k02bb.eps 可以从这里下载:
我关闭了链接。如果您需要这些文件请联系我。
有一个额外的 tex 文件:testforfigure.tex,用于普通文章类,以测试 k02bb.tex 和 k02bb.eps 的组合是否有效。
即使我们去掉上面我放的代码中的两行 \input{k02bb.tex},我仍然会收到相同的错误信息。看来 Sciposter 处理得不\subfloat
太好。
多谢...
答案1
由于 sciposter 文档类提供了自己的figure
代码,因此 subfig 包无法将其识别figure
为浮动环境。
因此,使用\captionsetup{type=figure}
包含子图的图形的第一行应该使\subfloat work
,即
\begin{figure}[htp]
\captionsetup{type=figure}% tell subfig package that this is a figure
...