📄 ieeetran.cls
字号:
% for bold\def\@IEEEinterspaceratioB{0.375}\def\@IEEEinterspaceMINratioB{0.23}\def\@IEEEinterspaceMAXratioB{0.55}% command to revise the interword spacing for the current font under TeX:% \fontdimen2 = nominal interword space% \fontdimen3 = interword stretch% \fontdimen4 = interword shrink% since all changes to the \fontdimen are global, we can enclose these commands% in braces to confine any font attribute or length changes\def\@@@IEEEsetfontdimens#1#2#3{{%\setlength{\@IEEEtrantmpdimenB}{\f@size pt}% grab the font size in pt, could use 1em instead.\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}%\fontdimen2\font=\@IEEEtrantmpdimenA\relax\addtolength{\@IEEEtrantmpdimenA}{-#2\@IEEEtrantmpdimenB}%\fontdimen3\font=-\@IEEEtrantmpdimenA\relax\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}%\addtolength{\@IEEEtrantmpdimenA}{-#3\@IEEEtrantmpdimenB}%\fontdimen4\font=\@IEEEtrantmpdimenA\relax}}% revise the interword spacing for each font weight\def\@@IEEEsetfontdimens{{%\mdseries\@@@IEEEsetfontdimens{\@IEEEinterspaceratioM}{\@IEEEinterspaceMAXratioM}{\@IEEEinterspaceMINratioM}%\bfseries\@@@IEEEsetfontdimens{\@IEEEinterspaceratioB}{\@IEEEinterspaceMAXratioB}{\@IEEEinterspaceMINratioB}%}}% revise the interword spacing for each font shape% \slshape is not often used for IEEE work and is not altered here. The \scshape caps are% already a tad too large in the free LaTeX fonts (as compared to what IEEE uses) so we% won't alter these either.\def\@IEEEsetfontdimens{{%\normalfont\@@IEEEsetfontdimens\normalfont\itshape\@@IEEEsetfontdimens}}% command to revise the interword spacing for each font size (and shape% and weight). Only the \rmfamily is done here as \ttfamily uses a % fixed spacing and \sffamily is not used as the main text of IEEE papers.\def\@IEEEtunefonts{{\selectfont\rmfamily\tiny\@IEEEsetfontdimens\scriptsize\@IEEEsetfontdimens\footnotesize\@IEEEsetfontdimens\small\@IEEEsetfontdimens\normalsize\@IEEEsetfontdimens\sublargesize\@IEEEsetfontdimens\large\@IEEEsetfontdimens\LARGE\@IEEEsetfontdimens\huge\@IEEEsetfontdimens\Huge\@IEEEsetfontdimens}}% if the nofonttune class option is not given, revise the interword spacing% now - in case IEEEtran makes any default length measurements, and make% sure all the default fonts are loaded\ifCLASSOPTIONnofonttune\else\@IEEEtunefonts\fi% and again at the start of the document in case the user loaded different fonts\AtBeginDocument{\ifCLASSOPTIONnofonttune\else\@IEEEtunefonts\fi}% V1.6 % LaTeX is a little to quick to use hyphenations% So, we increase the penalty for their use and raise% the badness level that triggers an underfull hbox% warning. The author may still have to tweak things,% but the appearance will be much better "right out% of the box" than that under V1.5 and prior.% TeX default is 50\hyphenpenalty=750% If we didn't adjust the interword spacing, 2200 might be better.% The TeX default is 1000\hbadness=1350% IEEE does not use extra spacing after punctuation\frenchspacing% V1.7 increase this a tad to discourage equation breaks\binoppenalty=1000 % default 700\relpenalty=800 % default 500% margin note stuff\marginparsep 10pt\marginparwidth 20pt\marginparpush 25pt% if things get too close, go ahead and let them touch\lineskip 0pt\normallineskip 0pt\lineskiplimit 0pt\normallineskiplimit 0pt% The distance from the lower edge of the text body to the% footline\footskip 0.4in% normally zero, should be relative to font height.% put in a little rubber to help stop some bad breaks (underfull vboxes)\parskip 0ex plus 0.2ex minus 0.1ex\parindent 1.0em\topmargin -49.0pt\headheight 12pt\headsep 0.25in% use the normal font baselineskip% so that \topskip is unaffected by changes in \baselinestretch\topskip=\@IEEEnormalsizeunitybaselineskip\textheight 58pc % 9.63in, 696pt% Tweak textheight to a perfect integer number of lines/page.% The normal baselineskip for each document point size is used % to determine these values.\ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=63\@IEEEnormalsizeunitybaselineskip\fi % 63 lines/page\ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page\ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=52\@IEEEnormalsizeunitybaselineskip\fi % 52 lines/page\ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page\columnsep 1pc\textwidth 43pc % 2 x 21pc + 1pc = 43pc % the default side margins are equal\if@IEEEusingAfourpaper \oddsidemargin 14.32mm\evensidemargin 14.32mm\else\oddsidemargin 0.680in\evensidemargin 0.680in\fi% compensate for LaTeX's 1in offset\addtolength{\oddsidemargin}{-1in}\addtolength{\evensidemargin}{-1in}% adjust margins for conference mode\ifCLASSOPTIONconference \topmargin -0.25in % we retain the reserved, but unused space for headers \addtolength{\topmargin}{-\headheight} \addtolength{\topmargin}{-\headsep} \textheight 9.25in % The standard for conferences (668.4975pt) % Tweak textheight to a perfect integer number of lines/page. \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=61\@IEEEnormalsizeunitybaselineskip\fi % 61 lines/page \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=56\@IEEEnormalsizeunitybaselineskip\fi % 56 lines/page \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page\fi% compsoc conference\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference % compsoc conference use a larger value for columnsep \columnsep 0.375in % compsoc conferences want 1in top margin, 1.125in bottom margin \topmargin 0in \addtolength{\topmargin}{-6pt}% we tweak this a tad to better comply with top of line stuff % we retain the reserved, but unused space for headers \addtolength{\topmargin}{-\headheight} \addtolength{\topmargin}{-\headsep} \textheight 8.875in % (641.39625pt) % Tweak textheight to a perfect integer number of lines/page. \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=53\@IEEEnormalsizeunitybaselineskip\fi % 53 lines/page \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=46\@IEEEnormalsizeunitybaselineskip\fi % 46 lines/page \textwidth 6.5in % the default side margins are equal \if@IEEEusingAfourpaper \oddsidemargin 22.45mm \evensidemargin 22.45mm \else \oddsidemargin 1in \evensidemargin 1in \fi % compensate for LaTeX's 1in offset \addtolength{\oddsidemargin}{-1in} \addtolength{\evensidemargin}{-1in}\fi\fi% draft mode settings override that of all other modes% provides a nice 1in margin all around the paper and extra% space between the lines for editor's comments\ifCLASSOPTIONdraftcls % want 1in from top of paper to text \setlength{\topmargin}{-\headsep}% \addtolength{\topmargin}{-\headheight}% % we want 1in side margins regardless of paper type \oddsidemargin 0in \evensidemargin 0in % set the text width \setlength{\textwidth}{\paperwidth}% \addtolength{\textwidth}{-2.0in}% \setlength{\textheight}{\paperheight}% \addtolength{\textheight}{-2.0in}% % digitize textheight to be an integer number of lines. % this may cause the bottom margin to be off a tad \addtolength{\textheight}{-1\topskip}% \divide\textheight by \baselineskip% \multiply\textheight by \baselineskip% \addtolength{\textheight}{\topskip}%\fi% process CLASSINPUT inner/outer margin% if inner margin defined, but outer margin not, set outer to inner.\ifx\CLASSINPUTinnersidemargin\@IEEEundefined\else \ifx\CLASSINPUToutersidemargin\@IEEEundefined \edef\CLASSINPUToutersidemargin{\CLASSINPUTinnersidemargin} \fi\fi\ifx\CLASSINPUToutersidemargin\@IEEEundefined\else % if outer margin defined, but inner margin not, set inner to outer. \ifx\CLASSINPUTinnersidemargin\@IEEEundefined \edef\CLASSINPUTinnersidemargin{\CLASSINPUToutersidemargin} \fi \setlength{\oddsidemargin}{\CLASSINPUTinnersidemargin} \ifCLASSOPTIONtwoside \setlength{\evensidemargin}{\CLASSINPUToutersidemargin} \else \setlength{\evensidemargin}{\CLASSINPUTinnersidemargin} \fi \addtolength{\oddsidemargin}{-1in} \addtolength{\evensidemargin}{-1in} \setlength{\textwidth}{\paperwidth} \addtolength{\textwidth}{-\CLASSINPUTinnersidemargin} \addtolength{\textwidth}{-\CLASSINPUToutersidemargin} \typeout{** ATTENTION: Overriding inner side margin to \CLASSINPUTinnersidemargin\space and outer side margin to \CLASSINPUToutersidemargin\space via \string\CLASSINPUT.}\fi% process CLASSINPUT top/bottom text margin% if toptext margin defined, but bottomtext margin not, set bottomtext to toptext margin\ifx\CLASSINPUTtoptextmargin\@IEEEundefined\else \ifx\CLASSINPUTbottomtextmargin\@IEEEundefined \edef\CLASSINPUTbottomtextmargin{\CLASSINPUTtoptextmargin} \fi\fi\ifx\CLASSINPUTbottomtextmargin\@IEEEundefined\else % if bottomtext margin defined, but toptext margin not, set toptext to bottomtext margin \ifx\CLASSINPUTtoptextmargin\@IEEEundefined \edef\CLASSINPUTtoptextmargin{\CLASSINPUTbottomtextmargin} \fi \setlength{\topmargin}{\CLASSINPUTtoptextmargin} \addtolength{\topmargin}{-1in} \addtolength{\topmargin}{-\headheight} \addtolength{\topmargin}{-\headsep} \setlength{\textheight}{\paperheight} \addtolength{\textheight}{-\CLASSINPUTtoptextmargin} \addtolength{\textheight}{-\CLASSINPUTbottomtextmargin} % in the default format we use the normal baselineskip as topskip % we only need 0.7 of this to clear typical top text and we need % an extra 0.3 spacing at the bottom for descenders. This will % correct for both. \addtolength{\topmargin}{-0.3\@IEEEnormalsizeunitybaselineskip} \typeout{** ATTENTION: Overriding top text margin to \CLASSINPUTtoptextmargin\space and bottom text margin to \CLASSINPUTbottomtextmargin\space via \string\CLASSINPUT.}\fi% LIST SPACING CONTROLS% Controls the amount of EXTRA spacing% above and below \trivlist % Both \list and IED lists override this.% However, \trivlist will use this as will most% things built from \trivlist like the \center% environment.\topsep 0.5\baselineskip% Controls the additional spacing around lists preceded% or followed by blank lines. IEEE does not increase% spacing before or after paragraphs so it is set to zero.% \z@ is the same as zero, but faster.\partopsep \z@% Controls the spacing between paragraphs in lists. % IEEE does not increase spacing before or after paragraphs% so this is also zero. % With IEEEtran.cls, global changes to% this value DO affect lists (but not IED lists).\parsep \z@% Controls the extra spacing between list items. % IEEE does not put extra spacing between items.% With IEEEtran.cls, global changes to this value DO affect% lists (but not IED lists).\itemsep \z@% \itemindent is the amount to indent the FIRST line of a list% item. It is auto set to zero within the \list environment. To alter% it, you have to do so when you call the \list.% However, IEEE uses this for the theorem environment% There is an alternative value for this near \leftmargini below\itemindent -1em% \leftmargin, the spacing from the left margin of the main text to% the left of the main body of a list item is set by \list.% Hence this statement does nothing for lists.% But, quote and verse do use it for indention.\leftmargin 2em% we retain this stuff from the older IEEEtran.cls so that \list
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -