📄 ieeetran.cls
字号:
% they specified a \labelwidth \settowidth{\labelwidth}{\csname labelitem\romannumeral\the\@itemdepth\endcsname}% \@IEEEsavelistparams% save our list parameters \list{\csname\@itemitem\endcsname}{% \@IEEErestorelistparams% override any list{} changes % to our globals \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel \IEEEiedlistdecl% let user alter parameters #1\relax% % If the user has requested not to use the % labelindent factor, don't revise \labelindent \ifIEEEnolabelindentfactor\relax% \else\IEEElabelindent=\IEEElabelindentfactor\labelindent% \fi% % Unless the user has requested otherwise, % calculate our left margin based % on \IEEElabelindent, \labelwidth and % \labelsep \ifIEEEnocalcleftmargin\relax% \else\IEEEcalcleftmargin{\IEEElabelindent}% \fi}\fi\fi}%% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS% IEEEtran enumerate list MDS 1/2001% Note controlled spacing here, shield end of lines with %\def\@@IEEEenumerate[#1]{% \ifnum\@enumdepth>3\relax\@toodeep\else% \ifnum\@listdepth>5\relax\@toodeep\else% \advance\@enumdepth\@ne% \edef\@enumctr{enum\romannumeral\the\@enumdepth}% % get the labelindentfactor for this level \advance\@listdepth\@ne% we need to know what the level WILL be \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% \advance\@listdepth-\@ne% undo our increment \def\@IEEEiedjustify{2}% right justified labels are default % set other defaults \IEEEnocalcleftmarginfalse% \IEEEnolabelindentfactorfalse% \topsep\IEEEiedtopsep% \IEEElabelindent\IEEEelabelindent% \labelsep\IEEEiednormlabelsep% \partopsep 0ex% \parsep 0ex% \itemsep 0ex% \rightmargin 0em% \listparindent 0em% \itemindent 0em% % calculate the label width % We'll set it to the width suitable for all labels using % normalfont 1) to 9) % The user can override this later \settowidth{\labelwidth}{9)}% \@IEEEsavelistparams% save our list parameters \list{\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}% \@IEEErestorelistparams% override any list{} changes % to our globals \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel \IEEEiedlistdecl% let user alter parameters #1\relax% % If the user has requested not to use the % IEEElabelindent factor, don't revise \IEEElabelindent \ifIEEEnolabelindentfactor\relax% \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% \fi% % Unless the user has requested otherwise, % calculate our left margin based % on \IEEElabelindent, \labelwidth and % \labelsep \ifIEEEnocalcleftmargin\relax% \else\IEEEcalcleftmargin{\IEEElabelindent}% \fi}\fi\fi}%% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS% IEEEtran description list MDS 1/2001% Note controlled spacing here, shield end of lines with %\def\@@IEEEdescription[#1]{% \ifnum\@listdepth>5\relax\@toodeep\else% % get the labelindentfactor for this level \advance\@listdepth\@ne% we need to know what the level WILL be \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% \advance\@listdepth-\@ne% undo our increment \def\@IEEEiedjustify{0}% left justified labels are default % set other defaults \IEEEnocalcleftmarginfalse% \IEEEnolabelindentfactorfalse% \topsep\IEEEiedtopsep% \IEEElabelindent\IEEEdlabelindent% % assume normal labelsep \labelsep\IEEEiednormlabelsep% \partopsep 0ex% \parsep 0ex% \itemsep 0ex% \rightmargin 0em% \listparindent 0em% \itemindent 0em% % Bogus label width in case the user forgets % to set it. % TIP: If you want to see what a variable's width is you % can use the TeX command \showthe\width-variable to % display it on the screen during compilation % (This might be helpful to know when you need to find out % which label is the widest) \settowidth{\labelwidth}{Hello}% \@IEEEsavelistparams% save our list parameters \list{}{\@IEEErestorelistparams% override any list{} changes % to our globals \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel \IEEEiedlistdecl% let user alter parameters #1\relax% % If the user has requested not to use the % labelindent factor, don't revise \IEEElabelindent \ifIEEEnolabelindentfactor\relax% \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% \fi% % Unless the user has requested otherwise, % calculate our left margin based % on \IEEElabelindent, \labelwidth and % \labelsep \ifIEEEnocalcleftmargin\relax% \else\IEEEcalcleftmargin{\IEEElabelindent}\relax% \fi}\fi}% v1.6b we use one makelabel that does justification as needed.\def\@IEEEiedmakelabel#1{\relax\if\@IEEEiedjustify 0\relax\makebox[\labelwidth][l]{\normalfont #1}\else\if\@IEEEiedjustify 1\relax\makebox[\labelwidth][c]{\normalfont #1}\else\makebox[\labelwidth][r]{\normalfont #1}\fi\fi}% VERSE and QUOTE% V1.7 define environments with newenvironment\newenvironment{verse}{\let\\=\@centercr \list{}{\itemsep\z@ \itemindent -1.5em \listparindent \itemindent \rightmargin\leftmargin\advance\leftmargin 1.5em}\item\relax} {\endlist}\newenvironment{quotation}{\list{}{\listparindent 1.5em \itemindent\listparindent \rightmargin\leftmargin \parsep 0pt plus 1pt}\item\relax} {\endlist}\newenvironment{quote}{\list{}{\rightmargin\leftmargin}\item\relax} {\endlist}% \titlepage% provided only for backward compatibility. \maketitle is the correct% way to create the title page. \newif\if@restonecol\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn \else \newpage \fi \thispagestyle{empty}\c@page\z@}\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}% standard values from article.cls\arraycolsep 5pt\arrayrulewidth .4pt\doublerulesep 2pt\tabcolsep 6pt\tabbingsep 0.5em%% FOOTNOTES%%\skip\footins 10pt plus 4pt minus 2pt% V1.6 respond to changes in font size% space added above the footnotes (if present)\skip\footins 0.9\baselineskip plus 0.4\baselineskip minus 0.2\baselineskip% V1.6, we need to make \footnotesep responsive to changes% in \baselineskip or strange spacings will result when in% draft mode. Here is a little LaTeX secret - \footnotesep% determines the height of an invisible strut that is placed% *above* the baseline of footnotes after the first. Since% LaTeX considers the space for characters to be 0.7/baselineskip% above the baseline and 0.3/baselineskip below it, we need to% use 0.7/baselineskip as a \footnotesep to maintain equal spacing% between all the lines of the footnotes. IEEE often uses a tad% more, so use 0.8\baselineskip. This slightly larger value also helps% the text to clear the footnote marks. Note that \thanks in IEEEtran% uses its own value of \footnotesep which is set in \maketitle.{\footnotesize\global\footnotesep 0.8\baselineskip}\skip\@mpfootins = \skip\footins\fboxsep = 3pt\fboxrule = .4pt% V1.6 use 1em, then use LaTeX2e's \@makefnmark% Note that IEEE normally *left* aligns the footnote marks, so we don't need% box resizing tricks here.\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@makefnmark}#1}% V1.6 use 1em% V1.7 compsoc does not use superscipts for footnote marks\ifCLASSOPTIONcompsoc\def\@IEEEcompsocmakefnmark{\hbox{\normalfont\@thefnmark.\ }}\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@IEEEcompsocmakefnmark}#1}\fi% IEEE does not use footnote rules\def\footnoterule{}% V1.7 for compsoc, IEEE uses a footnote rule only for \thanks. We devise a "one-shot"% system to implement this.\newif\if@IEEEenableoneshotfootnoterule\@IEEEenableoneshotfootnoterulefalse\ifCLASSOPTIONcompsoc\def\footnoterule{\relax\if@IEEEenableoneshotfootnoterule\kern-5pt\hbox to \columnwidth{\hfill\vrule width 0.5\columnwidth height 0.4pt\hfill}\kern4.6pt\global\@IEEEenableoneshotfootnoterulefalse\else\relax\fi}\fi% V1.6 do not allow LaTeX to break a footnote across multiple pages\interfootnotelinepenalty=10000% V1.6 discourage breaks within equations% Note that amsmath normally sets this to 10000,% but LaTeX2e normally uses 100.\interdisplaylinepenalty=2500% default allows section depth up to /paragraph\setcounter{secnumdepth}{4}% technotes do not allow /paragraph\ifCLASSOPTIONtechnote \setcounter{secnumdepth}{3}\fi% neither do compsoc conferences\@IEEEcompsocconfonly{\setcounter{secnumdepth}{3}}\newcounter{section}\newcounter{subsection}[section]\newcounter{subsubsection}[subsection]\newcounter{paragraph}[subsubsection]% used only by IEEEtran's IEEEeqnarray as other packages may% have their own, different, implementations\newcounter{IEEEsubequation}[equation]% as shown when called by user from \ref, \label and in table of contents\def\theequation{\arabic{equation}} % 1\def\theIEEEsubequation{\theequation\alph{IEEEsubequation}} % 1a (used only by IEEEtran's IEEEeqnarray)\ifCLASSOPTIONcompsoc% compsoc is all arabic\def\thesection{\arabic{section}} \def\thesubsection{\thesection.\arabic{subsection}}\def\thesubsubsection{\thesubsection.\arabic{subsubsection}}\def\theparagraph{\thesubsubsection.\arabic{paragraph}}\else\def\thesection{\Roman{section}} % I% V1.7, \mbox prevents breaks around - \def\thesubsection{\mbox{\thesection-\Alph{subsection}}} % I-A% V1.7 use I-A1 format used by IEEE rather than I-A.1\def\thesubsubsection{\thesubsection\arabic{subsubsection}} % I-A1\def\theparagraph{\thesubsubsection\alph{paragraph}} % I-A1a\fi% From Heiko Oberdiek. Because of the \mbox in \thesubsection, we need to% tell hyperref to disable the \mbox command when making PDF bookmarks.% This done already with hyperref.sty version 6.74o and later, but% it will not hurt to do it here again for users of older versions.\@ifundefined{pdfstringdefPreHook}{\let\pdfstringdefPreHook\@empty}{}%\g@addto@macro\pdfstringdefPreHook{\let\mbox\relax}% Main text forms (how shown in main text headings)% V1.6, using \thesection in \thesectiondis allows changes% in the former to automatically appear in the latter\ifCLASSOPTIONcompsoc \ifCLASSOPTIONconference% compsoc conference \def\thesectiondis{\thesection.} \def\thesubsectiondis{\thesectiondis\arabic{subsection}.} \def\thesubsubsectiondis{\thesubsectiondis\arabic{subsubsection}.} \def\theparagraphdis{\thesubsubsectiondis\arabic{paragraph}.} \else% compsoc not conferencs \def\thesectiondis{\thesection} \def\thesubsectiondis{\thesectiondis.\arabic{subsection}} \def\thesubsubsectiondis{\thesubsectiondis.\arabic{subsubsection}} \def\theparagraphdis{\thesubsubsectiondis.\arabic{paragraph}} \fi\else% not compsoc \def\thesectiondis{\thesection.} % I. \def\thesubsectiondis{\Alph{subsection}.} % B. \def\thesubsubsectiondis{\arabic{subsubsection})} % 3) \def\theparagraphdis{\alph{paragraph})} % d)\fi% just like LaTeX2e's \@eqnnum\def\theequationdis{{\normalfont \normalcolor (\theequation)}}% (1)% IEEEsubequation used only by IEEEtran's IEEEeqnarray\def\theIEEEsubequationdis{{\normalfont \normalcolor (\theIEEEsubequation)}}% (1a)% redirect LaTeX2e's equation number display and all that depend on% it, through IEEEtran's \theequationdis\def\@eqnnum{\theequationdis}% V1.7 provide string macros as article.cls does\def\contentsname{Contents}\def\listfigurename{List of Figures}\def\listtablename{List of Tables}\def\refname{References}\def\indexname{Index}\def\figurename{Fig.}\def\tablename{TABLE}\@IEEEcompsocconfonly{\def\figurename{Figure}\def\tablename{Table}}\def\partname{Part}\def\appendixname{Appendix}\def\abstractname{Abstract}% IEEE specific names\def\IEEEkeywordsname{Index Terms}\def\IEEEproofname{Proof}% LIST OF FIGURES AND TABLES AND TABLE OF CONTENTS%\def\@pnumwidth{1.55em}\def\@tocrmarg{2.55em}\def\@dotsep{4.5}\setcounter{tocdepth}{3}% adjusted some spacings here so that section numbers will not easily % collide with the section titles. % VIII; VIII-A; and VIII-A.1 are usually the worst offenders
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -