我正在用Latex
该IEEEtran
软件包写一篇论文。
该文件序言如下:
\documentclass[journal]{IEEEtran}
\usepackage{ifpdf}
\usepackage[pagewise, switch, mathlines]{lineno}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[dvips]{graphicx}
\usepackage{float}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[cmex10]{amsmath}
\usepackage{amssymb,amsfonts,amsthm}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{color}
\def\hlinew#1{%
\noalign{\ifnum0=`}\fi\hrule \@height #1 \futurelet
\reserved@a\@xhline}
\newcommand{\lyxmathsym}[1]{\ifmmode\begingroup\def\b@ld{bold}
\text{\ifx\math@version\b@ld\bfseries\fi#1}\endgroup\else#1\fi}
\usepackage{cite}
\usepackage{algorithmic}
\usepackage{array}
\ifCLASSOPTIONcompsoc
\usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
\else
\usepackage[caption=false,font=footnotesize]{subfig}
\fi
\usepackage{stfloats}
\hyphenation{op-tical net-works semi-conduc-tor}
\hyphenpenalty=3000
\hyphenation{pseudo-training}
\begin{document}
\title{Testing Caption}
\author{ABC}
\maketitle
\begin{abstract}
abstract
\end{abstract}
\begin{IEEEkeywords}
Keywords
\end{IEEEkeywords}
\IEEEpeerreviewmaketitle
\section{Introduction}
Introduction
\section{Experiments}
experiment 1
\begin{table*}
\centering
\caption{Testing Caption.\label{tab:testing-table}}
\begin{center}
\setlength{\tabcolsep}{1pt}
\begin{tabular}{|c|c|}
\hline
% after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
a & b \\
c & d \\
\hline
\end{tabular}
\end{center}
\end{table*}
\end{document}
但结果如下:
不是Testing Caption
大写。你能给出一些建议吗?
更新:
我检查了.log
文件,确实存在@PaulGessler 所建议的以下警告。
Package caption Warning: Unsupported document class (or package) detected (caption) usage of the caption package is not recommended.
See the caption package documentation for explanation.
更新
最后,在回答中得到了大家的善意建议,我发现问题出在subfigure
和上subfig
。其实,我们在使用IEEEtran
包时,没有必要使用caption
和subcaption
。如果我们要使用subfig
,我们可以使用以下脚本(来自IEEEtran_HOWTO.pdf
[https://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/?lang=en]):
\begin{figure*}[!t]
\centering
\subfloat[Case I]{\includegraphics[width=2.5in]{subf
igcase1}
\label{fig_first_case}}
\hfil
\subfloat[Case II]{\includegraphics[width=2.5in]{sub
figcase2}
\label{fig_second_case}}
\caption{Simulation results for the network.}
\label{fig_sim}
\end{figure*}
我的原始脚本如下:
\begin{figure}
\centering
\begin{subfigure}[b]{0.2\textwidth}
\includegraphics[scale=0.25]{fig1.eps}%
\caption{Fig 1 caption}\label{fig:fig1}
\end{subfigure}
\begin{subfigure}[b]{0.2\textwidth}
\includegraphics[scale=0.25]{fig2.eps}%
\caption{Fig 2 caption}\label{fig:fig2}
\end{subfigure}
\caption{Fig 1 and Fig 2}
\label{fig:fig1_and_fig2}
\end{figure}
这需要subfigure
、caption
和subcaption
包。并且表格的标题不是大写,因此我们在帖子中遇到了问题。
答案1
当包中未知的类(如 IEEE)干扰标题样式时,不支持使用caption
(及其依赖的)包。在文件中,您将获得:subcaption
.log
Package caption Warning: Unsupported document class (or package) detected, (caption) usage of the caption package is not recommended. See the caption package documentation for explanation.
当使用这些包时,类所做的样式更改将被覆盖。注释掉它们可以解决当前的问题。
至于子图,您已经拥有 IEEE 推荐的代码(请参阅texdoc ieeetran
subfig
),因此只需使用子浮点数包的功能即可。
多个包/类混杂在标题样式中是灾难的根源:即使您一直在使用 支持的类caption
,也不应该同时使用subcaption
和subfig
。具有相同用途的包在其他更微妙的交互中很容易发生名称冲突。只需选择一个并只使用那个。