📄 ieee.cls
字号:
% -*- LaTeX -*-
%%% ====================================================================
%%% @LaTeX-style-file{
%%% author = "Glenn Paulley",
%%% version = "1.0",
%%% date = "2002 April 16",
%%% time = "17:18:41",
%%% filename = "ieee.cls",
%%% address = "iAnywhere Solutions
%%% 415 Phillip Street
%%% Waterloo, Ontario, Canada
%%% N2L 3X2",
%%% telephone = "(519) 883-6244",
%%% FAX = "(519) 747-4971",
%%% checksum = "",
%%% email = "paulley@ianywhere.com",
%%% codetable = "ISO/ASCII",
%%% keywords = "",
%%% supported = "yes",
%%% abstract = "Contains the LaTeX style command definitions
%%% for typesetting IEEE conference proceedings.",
%%% docstring = "The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
%%% count) utility output of lines, words, and
%%% characters. This is produced by Robert
%%% Solovay's checksum utility.",
%%% }
%%% ====================================================================
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ieee}[2002/04/16
LaTeX2e class file `ieee' v1.0 for IEEE Conference Proceedings]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%
% Process options and load class article:
%
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
%
% Make the generation of page numbers an option.
%
\newif\if@pagenumbers
\@pagenumbersfalse% default is no page numbers
\DeclareOption{pagenumbers}{\@pagenumberstrue}
\DeclareOption{nopagenumbers}{\@pagenumbersfalse}
%
\ProcessOptions
%
\LoadClass[letterpaper,twocolumn,10pt]{article}
%
\setlength\textwidth{6.875in}
\setlength\textheight{8.875in}
% set both margins to 2.5 pc
\setlength{\oddsidemargin}{-0.1875in}% 1 - (8.5 - 6.875)/2
\setlength{\evensidemargin}{-0.1875in}
\setlength{\marginparwidth}{0pc}
\setlength{\marginparsep}{0pc}%
\setlength{\topmargin}{0in} \setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\footskip}{37pt}%
\setlength{\columnsep}{0.3125in}
\setlength{\columnwidth}{3.28125in}% (6.875 - 0.3125)/2 = 3.28125in
\setlength{\parindent}{1pc}
%
\input{ieee.clo}% assumes the use of 10 pt
%
% change default date format
%
\def\today{\number\day\space%
\ifcase\month\or%
January\or February\or March\or April\or May\or June\or%
July\or August\or September\or October\or November\or December\fi%
\space\number\year}
%%
%% Default footnote handling
%%
\setlength\footnotesep{1pt}
\setlength{\skip\footins}{16\p@ \@plus 4\p@ \@minus 2\p@}% less 7 pt for rule
%
% footnoterule: let \footins specify the distance between the text
% and the rule (\footins should be at least 7pts), and space a bit
% before the first footnote so that \footnotesep can be smaller
%
\renewcommand\footnoterule{%
\kern-7\p@
\hrule width .4\columnwidth% \hrule is by default .4pt high
\kern 6.6\p@}
%
% Redefine footnote numerals so that they are no longer raised in the footnote,
% and redefine the footnote shape so that the text is in an unindented block
% also; don't use \@makefnmark, which raises the footnote numeral.
%
\long\def\@makefntext#1{%
\setlength{\parindent}{0pt}%
\begin{list}{}{%
\setlength{\labelwidth}{4mm}%
\setlength{\labelsep}{1mm}%
\setlength{\listparindent}{1pc}%
\setlength{\leftmargin}{\labelwidth}%
\advance\leftmargin\labelsep% indent the entire text
\setlength{\topsep}{0pt}% let footnotesep space the footnotes
\setlength{\parsep}{0pt}%
\setlength{\itemindent}{0pt}% footnote numbers at left margin
\setlength{\itemsep}{0pt}%
\footnotesize}%
\item[\@thefnmark\hfill]#1%
\end{list}}
%
% Titles as per IEEE.
%
\def\affiliation#1{\gdef\@affiliation{#1}} \gdef\@affiliation{}
%
\def\email#1{\gdef\@email{#1}}
\gdef\@email{}
%
\def\@maketitle%
{%
\newpage%
\null%
\vskip .375in%
\begin{center}%
{\Large \bf \@title \par}
% additional two empty lines at the end of the title
\vspace*{24pt}
{
\large
\lineskip .5em
\begin{tabular}[t]{c}
\@author
\end{tabular}
\par
}
% additional small space at the end of the author name
\vskip .5em
{
\large
\begin{tabular}[t]{c}
\@affiliation
\end{tabular}
\par
\ifx \@empty \@email
\else
\begin{tabular}{r@{~}l}
E-mail: & {\tt \@email}
\end{tabular}
\par
\fi
}
% additional empty line at the end of the title block
\vspace*{12pt}
\end{center}
}
%
% Redefine maketitle to set \thanks as above footnotes
%
\renewcommand{\maketitle}{%\par
\begingroup%
\renewcommand{\thefootnote}{\fnsymbol{footnote}}%
\if@twocolumn%
\ifnum \col@number=\@ne%
\@maketitle%
\else%
\twocolumn[\@maketitle]%
\fi%
\else%
\newpage%
\global\@topnum\z@% Prevents figures from going at top of page.
\@maketitle%
\fi%
\if@pagenumbers\thispagestyle{plain}\else\thispagestyle{empty}\fi\@thanks%
\endgroup%
\setcounter{footnote}{0}%
\let\thanks\relax%
\let\maketitle\relax\let\@maketitle\relax%
\gdef\@thanks{}\gdef\@author{}\gdef\@title{}}%
%
% Generate page numbers according to the pagenumbers option.
%
\if@pagenumbers\pagestyle{plain}\else\pagestyle{empty}\fi
%
% set more compact interword spacing
%
\frenchspacing
%
% Section Headings - redefine to meet IEEE standards
%
% Add font size for intermediate headings
%
\newcommand\intermediate{\@setfontsize\intermediate\@xipt{13}}
%
% Alter default section/subsection styles
%
% Paragraphs after section and subsection headings must still be indented.
% To achieve this, ensure the beforeskip value is positive.
%
\renewcommand\section{\@startsection{section}{1}{\z@}%
{2.75ex \@plus 1ex \@minus .2ex}%
{2.3ex \@plus.2ex}%
{\rmfamily\large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
{2.75ex\@plus1ex\@minus.2ex}%
{2.3ex\@plus.2ex}%
{\rmfamily\intermediate\bfseries}}%
%
% Section headings smaller than 'subsection' are to be merely inlined.
% Note: minus in afterskip means no linebreak after section title; it
% determines the horizontal space following it.
%
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-1.25ex\@plus-1ex\@minus-.2ex}%
{-0.5em}%
{\rmfamily\normalsize\bfseries\selectfont}}%
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{0.8ex\@plus.3ex\@minus.2ex}%
{-0.5em}%
{\rmfamily\normalsize\itshape\selectfont}}%
%
% Add trailing period to section numbers as per IEEE format
%
\renewcommand{\@seccntformat}[1]{\csname the#1\endcsname.\hspace{0.70em}}
%
% redo abstract in italics
%
\newenvironment{italictext}
{\list{}{\listparindent 1pc%
\itemindent 1pc%
\leftmargin 0pt
\rightmargin \leftmargin
\it
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
\if@titlepage
\renewenvironment{abstract}{%
\titlepage
\null\vfil
\@beginparpenalty\@lowpenalty
\begin{center}%
\bfseries \abstractname
\@endparpenalty\@M
\end{center}}%
{\par\vfil\null\endtitlepage}
\else
\renewenvironment{abstract}{%
\if@twocolumn
\large
\begin{center}%
{\bfseries \abstractname\vspace*{6pt}}%
\end{center}%
\normalsize
\italictext
\else
\large
\begin{center}%
{\bfseries \abstractname\vspace*{6pt}}%
\end{center}%
\normalsize
\italictext
\fi}
{\enditalictext\vspace*{12pt}}
\fi
%
\renewenvironment{quotation}
{\list{}{\listparindent 1pc%
\itemindent \listparindent
\rightmargin \leftmargin
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
%%%
%
% Change Bibliography environment so that references are listed in 9-pt
%
%%%
\renewenvironment{thebibliography}[1]
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
\begin{small}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\itemindent\z@%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep%
\@openbib@code%
\usecounter{enumiv}%
\let\p@enumiv\@empty%
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy%
\clubpenalty4000%
\@clubpenalty \clubpenalty%
\widowpenalty4000%
\sfcode`\.\@m}%
{\def\@noitemerr%
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist%
\end{small}}%
%
% FLOAT package parameters
%
\renewcommand\topfraction{.8}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.5}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.15}
\renewcommand\floatpagefraction{.8}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.85}
\renewcommand\dblfloatpagefraction{.85}
%
\RequirePackage{float}
\RequirePackage{floatsty}
\floatstyle{IEEE}
\setlength{\floatsep}{7pt plus 3pt minus 1.5pt}
\setlength{\dblfloatsep}{10pt plus 3pt minus 1.5pt}
\setlength{\textfloatsep}{4pt plus 3pt minus 1.5pt}
\setlength{\dbltextfloatsep}{2pt plus 3pt minus 1.5pt}
\restylefloat{figure}
\restylefloat{table}
%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -