forked from nmathewson/mixminion-doc
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathIEEEtran.cls
2460 lines (2290 loc) · 99.7 KB
/
IEEEtran.cls
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%%
%% IEEEtran.cls 7/2001 version V1.5 (IEEE release)
%% (file is named IEEEtran_v15.cls for distribution purposes)
%% Provides formatting for authors of the Institute of Electrical
%% and Electronics Engineers (IEEE) Transactions Journals.
%% See:
%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
%% for the latest version.
%%
%%
%% IT IS IMPORTANT THAT YOU READ THE DOCS BELOW EVEN IF YOU ARE
%% FAMILIAR WITH OTHER VERSIONS OF IEEEtran.cls! This version's
%% itemize, enumerate and description list environments, and
%% \appendix(ces) have new controls and behavior.
%%
%%
%% Contributors:
%% Gerry Murray (1993), Silvano Balemi (1993),
%% Jon Dixion (1996), Peter N"uchter (1996),
%% Juergen von Hagen (2000), and Michael Shell (2001)
%%
%%
%% Copyright 1993-2001 by Gerry Murray, Silvano Balemi,
%% Jon Dixion, Peter N"uchter,
%% Juergen von Hagen and Michael Shell
%%
%% Special thanks to Peter Wilson (CUA) and Donald Arseneau
%% for allowing the inclusion of the \@ifmtarg command
%% from their ifmtarg LaTeX package.
%%
%%**********************************************************************
%% Legal Notice:
%% This code is offered as-is without any warranty either
%% expressed or implied; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE!
%% User assumes all risk.
%% In no event shall IEEE or any contributor to this code
%% be liable for any damages or losses, including, but not limited to,
%% incidental, consequential, or any other damages, resulting from the
%% use or misuse of any information contained here.
%%
%% All statements made here are the opinions of their respective
%% authors and are not necessarily endorsed by the IEEE.
%%
%% This code is distributed under the Perl Artistic License
%% ( http://language.perl.com/misc/Artistic.html )
%% and may be freely used, distributed and modified.
%% Please retain the contribution notices and credits.
%%
%% Major changes to the user interface should be indicated by an
%% increase in the version numbers. If a version is a beta, it will
%% be indicated with a BETA suffix, i.e., 1.4BETA.
%% Small changes can be indicated by appending letters to the version
%% such as "IEEEtran_v14a.cls".
%% In ALL cases, the distribution filename, \Providesclass, any \typeout
%% messages to the user, \IEEEtransversionmajor and \IEEEtransversionminor
%% must reflect the correct version information.
%% The changes should also be documented via source comments.
%%**********************************************************************
%%
%
%
%*******
% 7/2001 V1.5 (MDS) changes:
%
% 1) Fixed \and within \author bug: (! Misplaced \crcr. \endtabular ->\crcr)
% NOTICE: A side effect of this change is that you will have to repeat
% fontsize commands for each line in the author information as font size
% changes will be confined to that line (or at least it does on my TeTeX
% system). Do not attempt enclose multiple lines within a pair of braces
% as an error may occur (or at least it does on my system).
% This is because the author data is now printed from within the tabular
% environment exactly as is done in article.cls (which also exhibits the
% same limitations). The \and feature is most useful when IEEEtran.cls is
% used for conferences. For example:
%
% \author{\large First Author\\
% \normalsize First School\\
% \normalsize City1\\
% \normalsize Email: [email protected]
% \and
% \large Second Author\\
% \normalsize Second School\\
% \normalsize City2\\
% \normalsize Email: [email protected]}
%
% Thanks to Rainer Dorsch for discovering and reporting that \and
% did not work.
%
% 2) Fixed the biography environment so that if a biography's text is shorter
% than the area allocated for the photo, a collision with the next
% biography does not occur. You can now put real graphics (using the
% graphicx package) into the biography photo box with a new optional
% argument of the biography command! For example:
%
% \begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{./tux.eps}}]{Linux Penguin}
%
% will use the specified graphic as the author's photo. The photo area is
% exactly 1in wide by 1.25in high - as is done in IEEE Transactions. Try
% to keep the same 4:5 aspect ratio when scanning/cropping your photos.
% Note the need for the extra set of enclosing braces around the
% \includegraphics. Without it, The LaTeX parser gets confused when it
% sees the \includegraphics's brackets within the biography's optional
% argument. If you do not use the optional argument, or leave it empty,
% a standard frame box with the words "Place Photo Here" will be used.
% If you want the space to remain completely empty, you can do:
%
% \begin{biography}[\mbox{}]{The Invisible Man}
%
% The interface to biography's optional argument is into a
% 1in X 1.25in minipage in which the argument text is centered both
% horizontally and vertically:
%
% \begin{minipage}[b][1.25in][c]{1in}%
% \centering
% #1%
% \end{minipage}
%
% Within the biography environment, \unitlength is set to 1in.
% With this in mind, you can even design your own custom frameboxes.
% For instance:
%
% \begin{biography}[\framebox(1,1.25){\parbox[][\height][c]{0.9in}{\centering PLACE\\ PHOTO\\ HERE}}]{Author Name}
%
% will yield the same result as the default photo box.
%
% Thanks to Herbert Voss for discovering the collision bug, suggesting the ability
% to handle graphics and providing some prototype code.
%
% 3/2001 V1.4 (MDS) changes:
%
% 1) New "draftcls" and "final" options have been added. Draft mode
% is very popular. Authors requested that there should be a way
% for a draft mode paper to display the figures so that the
% reviewer can see them. Traditionally, this has been accomplished
% by invoking all packages with the "final" option. Hence:
%
% \documentclass[draft]{IEEEtran}
% .
% .
% \usepackage[final]{graphicx}
%
% Now, you can just use:
%
% \documentclass[draftcls]{IEEEtran}
% .
% .
% \usepackage{graphicx}
%
% and only IEEEtran.cls will format as draft - the other packages
% will still act as though "final" had been selected.
% Thanks to Dragan Cvetkovic for suggesting this.
%
% Also, \documentclass now accepts "final" as an option. This
% really isn't needed as it defaults to "final" unless told
% otherwise. However, article.cls does accept "final" so IEEEtran.cls
% should do so as well.
%
% 2) Documentation changes to reflect the fact that this IEEEtran.cls
% is no longer beta test. Added usage notes #11, 12 and 13.
%
% 3) Slightly revised caption sizes. Figure and table captions are now
% in \footnotesize, not \small as before.
%
% 4) Allow user to control figure caption justification. IEEEtran.cls
% normally defaults to left justified as is done in Transactions.
% However, for conferences, you may wish to issue the command:
% \centerfigcaptionstrue
% in the preamble. Short (less than one line long) figure captions
% will then be centered. Multi-line figure captions will always be
% properly left justified.
%
%
%*******
% 1/2001 V1.3 (MDS) made extensive changes and additions:
%
% It is true that IEEEtran.cls is not really a formatting tool since
% IEEE does their own custom typesetting. However, there is a very
% real need for authors to be able to see their work in a form that
% closely resembles what IEEE will use. Content isn't supposed to
% follow format. However, in practice, the way a document lays out
% can influence the choice of words or the structure of equations.
% If the class file makes it difficult to get results close to
% that of IEEE, authors will pay even MORE attention to the details
% of document layout! Furthermore, when submitting work in PDF or PS
% form (to editors, conferences, colleagues, etc.) appearances do matter.
% The purpose of this version is to provide easier and better formatting
% so that authors have a few less headaches to deal with. See the
% companion file, IEEEtest.tex, (available on CTAN) for a demonstration
% of usage and of some of the issues addressed.
%
% I sincerely wish you all the best in your publication endeavors! ;)
%
% Enjoy!
%
% Michael Shell (MDS)
%
%
%
% BUGS FIXED (and many others too numerous to mention!):
% 1) Fixed improper alignment with itemized, enumerated and
% description lists. Added new controls to these three
% environments so that it is easy to get the alignment IEEE
% uses. Furthermore, the itemize, enumerate and description lists
% no longer force a new paragraph to begin at the end the list
% (\par). (Sometimes lists are used within paragraphs.)
% See detailed list docs below.
%
% 2) JVH's fixes now allow things like $\mathbf{N}(0,P(0))$
% to work properly without needing the extra braces:
% ${\mathbf{N}}(0,P(0))$. There is no longer any dependence
% on the "rawfonts" and "oldlfont" packages. Thanks Juergen!
%
% 3) Fixed underfull hbox errors and incorrect reference number
% alignment when the number of references in the bibliography
% exceeded 9 entries (which is almost every paper!).
%
% 4) Removed dependence on the LaTeX sizexx.clo files.
% Now, 9pt documents should work correctly even on systems that
% lack a size9.clo file. This is most often used in conjunction
% with the option "technote" for "correspondence" papers like those
% in IEEE Transactions on Information Theory. For virtually all
% other papers, 10pt is used and so it is the default.
% Some improper font sizes have been corrected (one of which is that
% IEEE uses 9pt, not 8pt, for \small (Abstracts and Index Terms)
% in 10pt docs). \small and \footnotesize are now both 8pt in 9pt docs,
% so footnotes in technotes should be the correct size now.
%
% 5) Added \interlinepenalty within the bibliography section to discourage
% LaTeX from breaking within a reference. IEEE almost never breaks within
% a reference and when they do it is usually in technotes
% (correspondence papers). You may get an underfull vbox warning in the
% bibliography indicating that the spacing just before the "REFERENCES"
% section is larger than normal, but the final result will be more like
% what IEEE will publish. See the comments in the BIBLIOGRAPHY section
% around line 2034 below if you want to change this behavior.
%
% 6) No longer "blows up" when you use \paragraph and have a table
% of contents.
%
%
% USAGE NOTES:
% 1) The new IEEEtran.cls will change the length, layout and possibly fonts
% of your documents slightly as compared to that under the older
% IEEEtrans.cls. However, the final result should be much closer to what
% IEEE will actually publish.
%
% 2) This IEEEtran.cls does provide _some_ old LaTeX 2.09 font
% commands (\rm, \sf, \tt, \bf, \it, \sl, \sc, \cal and \mit).
% It accomplishes this in the same way as article.cls so
% there should be no problems here.
% If you need the complete outdated 2.09 font commands you can
% do a \usepackage{oldlfont} in your document, but note that
% this introduces the \mathcal{} problem mentioned in bug #2 above.
% So, you should try to avoid using oldlfont in LaTeX2e systems.
%
% ALSO: The current IEEE demo file "Using the Document
% Class IEEEtran.cls" will require \usepackage{rawfonts}
% to be added after the \documentclass{} to work with this
% IEEEtran.cls since the demo used an old 2.09 command \tenrm.
% Alternatively, you can provide just the definition of \tenrm:
% \DeclareFixedFont{\tenrm}{OT1}{cmr}{m}{n}{10}
%
% 3) Still will not allow you to leave whitespace between \cite
% entries like book class will. i.e., \cite{einstein24, knuth84}
% will not work, but \cite{einstein24,knuth84}
% is OK. This *may* be normal.
%
% 4) You may need a blank line before you \begin a list
% (or other environment) just after text that uses \PARstart.
% Otherwise, \PARstart somehow manages to swallow your
% \begin and LaTeX will complain about a lonely \item.
% \PARstart won't do anything when using technote or draft
% as these formats do not use a larger than normal starting letter.
%
% 5) If you invoke the draft option:
% \documentclass[10pt,draft,twocolumn]{IEEEtran}
% You will not be able to see your graphics in xdvi.
% This is normal.
%
% 6) Provides class IEEEtran (You may wish to rename this file
% to "IEEEtran.cls" after you save your original IEEEtran.cls)
%
% 7) Now defaults to using Times font (like IEEE uses).
% The 1997 IEEEtran.cls used by INFOCOM also defaulted
% to Times via inclusion of the times.sty package
% (which is "built-into" this IEEEtran.cls)
% If you have font problems and/or want to go back
% to the Computer Modern Fonts, just issue these commands
% in the preamble of your document:
%
% \renewcommand{\sfdefault}{cmss}
% \renewcommand{\rmdefault}{cmr}
% \renewcommand{\ttdefault}{cmtt}
%
% The big first letter of the document (\PARstart) now uses the
% Times font. It now looks VERY much like what IEEE uses.
% If you have font problems with Times, the Computer Modern
% version of \PARstart is provided as \CMPARstart.
%
% We forewarned that the typewriter font of Times seems to be wider
% than that of the Computer Modern. You'll only get about 42 characters
% (10pt) on a 21pica line. Some documents will have a problem with this.
% The current IEEEsample2e.tex, "Using the Document Class IEEEtran.cls"
% by Gerry Murray and Silvano Balemi, has problems when used with the
% Times typewriter font (overfull hboxes- Table I overfills too).
% However, it seems that this IS the correct typewriter font IEEE uses.
% You could try \small, but they might not like that.
% Better to shorten (or break) your lines of text.
%
% 8) TeX doesn't behave exactly like IEEE does (but close) when it comes
% to line and page breaks. It is true that TeX doesn't "look ahead"
% several pages to consider the overall document when deciding where to
% break (IEEE software may well do this). However, I think that with some
% more tweaking TeX can get even closer. It seems that IEEE lets the font
% glue stretch more, and shrink a little more, than what the TeX Times
% fonts do. More tweaking on this will have to wait for future versions.
% You can try:
%
% \hyphenpenalty=800
% \hbadness=2500
%
% in the preamble of your document and see if you like the result better.
% TeX will then try harder not to use hyphenation. The \hbadness=2500
% raises the box badness level required for a warning to be issued.
% If you try this, watch out for lines that are a little too packed
% for comfort.
% It may also help to build a \hyphenation list based on
% observations made from the IEEE Journal you plan to publish in.
%
% 9) When installing a class file into your <texmf> directory
% (<texmf> is /usr/share/texmf on my RedHat 6.0 Linux system),
% i.e., <texmf>/tex/latex/base/IEEEtran.cls
% on teTeX (UNIX) systems, you must refresh the hash table in
% order for LaTeX to see the new class. This is because teTeX
% systems do not actually parse the dir's for files as they
% use a high speed lookup table instead.
% The command:
%
% texhash
%
% will do the trick and refresh this table.
% Of course, you must be root to do all this.
% See "The teTeX Guide- Installation and Maintenance" by
% Thomas Esser and Dirk Hillbrech for details.
% Also, if there is a class, with the same name as the one
% you are using, present in the current working directory, it
% will override any class of the same name in the <texmf>
% tree. If you chose not to rename the distribution file
% (IEEEtran_vXX.cls) to "IEEEtran.cls", LaTeX will issue a
% warning because it worries that they are not the same class.
% The warning is harmless.
%
%10) The rightmark (ex: "Shell: Fixing IEEEtran.cls") will no longer
% be used if technote is selected as IEEE does not put the author's
% name and title of the paper in the headings of technotes.
% The Journal name (leftmark) will be used instead.
%
%11) IEEE likes the two columns on the last page of two column
% text to have the same length. A crude, but effective, way
% to achieve this is to shorten the page length of the first
% column of the last page via:
% \enlargethispage{-X.Xin}
% where X.X is the value you find that makes the columns equal.
% This hack will have to be adjusted if the document is
% altered. It is perhaps most useful for those who need to
% provide camera ready proofs (conferences, etc.). You may have
% to manually copy in your bibliography (*.bbl file) if this
% command needs to be located between \bibitems.
%
%12) To get pages without headings or page numbers (sometimes
% required when submitting camera ready proofs) just issue:
% \thispagestyle{empty}
% \pagestyle{empty}
% after \maketitle
%
%13) dvips note:
% Some LaTeX distributions have dvips configuration files (config.pdf)
% which assume that the user will be working only with Computer
% Modern fonts. These configuration files remap certain character
% positions via the use of the dvips -G1 option (older versions of
% dvips may not have a -Gx option). If this remapping is done to a
% document that contains other fonts, such as Times, a problem will
% develop in the PostScript or PDF output. One symptom will be that
% the ligature "fi" will appear as the British pound symbol.
% The dvips -G1 option should be used ONLY if the document is ENTIRELY
% in Computer Modern fonts. In all other cases, the -G0 option should
% be used. In particular, in MikTeX 2.0, you will have to use:
% dvips -Ppdf -G0 <filename>
% instead of:
% dvips -Ppdf <filename>
% if your document has any non Computer Modern fonts. This issue is
% not specific to IEEEtran.cls and is applicable to all LaTeX documents.
% Thanks to K. Sivakumar, A. Goreham, and K. Lee
% for identifying this problem and providing a solution
%
%
%
%
% CHANGES AND ENHANCEMENTS:
% 1) Now has the ability to give you a publisher ID mark at the
% bottom of the title page! Issue the command:
%
% \pubid{0000--0000/00\$00.00~\copyright~2001 IEEE}
%
% right AFTER \maketitle *AND* include the command:
%
% \pubidadjcol
%
% somewhere in the SECOND column text of the first (title)
% page to "pull up" its text by two lines to clear the
% ID text (as \pubid does for the first column).
% \pubidadjcol is one and two-column mode aware and there
% will be no problems if you later switch between one and
% two column modes.
% Future versions of IEEEtran.cls may not need \pubidadjcol,
% but I don't know any way of eliminating it without resorting
% to other packages like afterpage (on CTAN).
% Consider this an open problem.
% Note that, if in DRAFT mode, the publisher ID mark WILL NOT
% be printed at the bottom of the titlepage, but room will be
% cleared for it.
% If you want further "realism" you can put
% \thanks{Publisher Item Identifier X 0000-0000(00)00000-X.}
% as your last \thanks in the \author command (in which ALL
% \thanks belong). With this IEEEtran.cls, you can even fool
% yourself into thinking that your work has already been published. ;)
% Special thanks to Peter Wilson, Daniel Luecking, and the other
% gurus at comp.text.tex, for helping me to understand how best to
% implement this command in LaTeX.
%
% 2) If you are fortunate enough to have an invited paper, you can
% try the new \specialpapernotice command:
%
% \specialpapernotice{(Invited Paper)}
%
% BEFORE \maketitle. This will put the given text centered in
% italics after the author names.
%
% 3) The section, subsection, subsubsection and paragraph headings
% now actually work the way IEEE wants:
%
% I. SECTION HEADINGS ARE IN CAPS AND CENTERED
%
% A. subsections are not indented
%
% 1) subsubsections: are indented like a paragraph. The body text
% will wrap under the title.
% a) paragraph sections: are much like subsubsections, but are
% indented by twice that of a normal paragraph and use lowercase
% letters as labels.
%
% The headings for subsections and lower are all in italics. You
% can use the *-form of the section commands if you want something
% other than italics.
%
% Note that \paragraph sections are not available under technote,
% unless you \setcounter{secnumdepth}{4} which forces it back on
% (nonstandard IEEE).
% Rubber spacing lengths above section headings are now allowed to
% stretch more like IEEE sometimes does. These lengths could possibly
% tweaked more, but the current implementation seems OK.
%
% 4) For a single appendix, issue \appendix before the start of your
% appendix. If you wish your single appendix to have a title (heading),
% use the new optional argument like:
%
% \appendix[Proof of the Zonklar Equations]
%
% After issuing \appendix the \section command will be disabled
% and any attempt to use \section will be ignored and a warning message
% will be generated.
% (the single appendix marks the end of the enumerated sections and the
% section counter is fixed at zero - one does not state "see Appendix I"
% when there is only one appendix, instead use "see Appendix".)
%
% However, all lower \subsection commands and the \section* form
% will work as normal as you need \section* at the end for things
% like acknowledgments:
%
% \section*{Acknowledgment}
% \addcontentsline{toc}{section}{Acknowledgment}
%
% Use \appendices if you have more than one appendix.
% You then declare each appendix via:
%
% \section{Proof of First Zonklar Equation}
%
% You must remember to declare a \section before you create
% any additional \subsections or \labels which refer to section
% (or subsection, etc.) numbers!
% The title text of an appendix can be empty, if you don't want a title:
%
% \section{}
%
% This IEEEtran.cls will automatically detect the empty argument
% and "do the right thing" in the headings and table of contents
% (you won't have a blank line where the title should be or an
% ":" after the word Appendix in the table of contents.) As with
% \appendix, the section* command and the lower \subsection commands
% will still work as usual.
% There are two appendix numbering conventions used by IEEE.
% Capital letters (Appendix A) and Roman numbers (Appendix I).
% The former appears to be more popular. However, since subsection
% numbering conventions are preserved in the appendices, this creates
% rather awkward subsection references like "A-A". For this reason,
% I have decided to have this IEEEtran.cls default to using Roman numbers
% when labeling appendices. You can revert to using "A,B,.." if you wish
% by issuing the command:
% \useRomanappendicesfalse
% before you call \appendices.
%
% 5) Enumerated list labels are now terminated with ) like
% "1)", which IEEE now uses, rather than "1."
%
% 6) Theorem environment changed to display like
% "Theorem 1---Einstein:" which IEEE uses, instead of
% "Theorem 1 (Einstein):"
%
% 7) Figure captions adjusted: IEEE left (not center) justifies
% figure captions and does not indent figure caption text.
%
% 8) Adjusted some spacings in the table of contents(TOC))/list-of-figures/
% list-of-tables so that section/table numbers will not so easily
% collide with the titles. Section VIII was usually the worst offender.
% Still doesn't right justify the section numbers, but neither does
% article.cls (This must be why LaTeX likes the x.y.z section numbering
% scheme unlike I, II, III, etc. of IEEE. )
% It may be "normal" as it is (left justified). sigh.
%
% 9) Now uses "index terms" now as a heading instead of "keywords".
% Furthermore, the "index terms" and "abstract" headings are in bold
% italic. This seems to be how IEEE does things now.
%
%10) \thebibliography and \biography now put entries into
% the table of contents for you.
%
%11) The margins IEEE uses are, in my opinion, strange. I have included
% a new command, \overrideIEEEmargins, that when executed in the
% beginning of your document, will change the margins to ensure that
% the wider margin is always on the bound edge and that, when two
% side printing, the margins on the front and back will actually line
% up. \overrideIEEEmargins will have no effect if DRAFT is selected.
% See the comments around line 1182 below for more details.
%
%
% OTHER NOTES:
% 1) See the companion file "IEEEtest.tex" for a demo of the
% use some of the new features of this IEEEtran.cls. IEEEtest.tex
% also contains code which allows .tex files using the new V1.3 features
% to compile under the OLDER IEEEtran.cls (However, the formatting
% will not be correct.) This may be useful for "comparison" or
% within the IEEE editing department.
%
%
%
% LIST USAGE DOCS (long):
% The most important thing to know about this class is that the
% itemize, enumerate and description list environments (I'll use
% acronym IED for short) are controlled in a new manner. The lower
% level list environment, \list, remains virtually unchanged
% (except \topsep increased to 0.3ex from 0.0ex).
% In "normal" LaTeX, list layout is controlled via the lengths:
%
% \leftmargin determines the distance from the current left text
% margin to the left margin of the list text
%
% \labelwidth determines the width of the box reserved for the label
% to be justified in
%
% \labelsep determines the spacing between the label box and the
% list text
%
% Note that the \leftmargin forms the reference point of the list from
% the main text. This is an unfortunate choice for the way of doing things
% since IEEE normally aligns the LABEL in some relation to the main text
% and then references the remainder of the list to the label boxes. For the
% record, IEEE's way of looking at lists makes a lot more sense to me---
% Is it not the label which the reader considers to be the first
% characters of a list item? In order to get a LaTeX \list to do what
% IEEE does, you have to determine your \labelwidth and then solve
% for a \leftmargin that puts the start of the label where it needs
% to be (\labelsep is a constant). The IED environments are supposed to
% make all this easier for you by automatically taking care of some of
% these details. However, the IED environments of the older IEEEtran.cls
% are "nuked" in that they use generic lengths which pretty much ensure
% that the lists will be wrong almost all the time. The probable result is
% that authors then turn to the more general \list which defeats the entire
% point of having IED environments in the first place!
%
% Now consider the way this new IEEEtran.cls controls the IED
% environments via the lengths:
%
% \labelindent determines the indention of the label box from
% the current left text margin. Hence, THE
% LABEL IS THE REFERENCE POINT FOR THE LIST!
%
% \labelwidth as before, is the length of the label box.
%
% \labelsep as before, determines the spacing between the
% label box and the list text.
%
% Of course, it is a matter of trivial addition and subtraction to convert
% between the way the new IEEEtran.cls and the way LaTeX normally looks
% at lists (\leftmargin = \labelindent + \labelwidth + \labelsep).
% What is important is this:
%
% 1) You can now think directly in IEEE terms.
% 2) The length controls now are available in the IED environments
% so that you do not have to choose between good formatting (\list)
% and automation (itemize, enumerate, and description).
%
% \labelindent and \labelsep are constants for a given list
% circumstance under IEEE. So, all you really need to do is determine which
% of your labels in a list is the longest. Everything other than that
% is usually automated correctly.
%
% _side note_
% Having to specify the longest label is nothing new in LaTeX. Does
% \begin{thebibliography}{99} ring a bell? LaTeX, in its current,
% form cannot determine longest labels for you as this would require
% more than one pass through your code. With bibliographies, BiBTeX
% actually sets the sample label for you. It would be nice if LaTeX
% offered some type of integrated multipass service to users- LiSTeX
% anyone?.
%
%
%
% - How to Control IED Lists -
% The length of the explanation below may give some the impression
% that IED list control is complex. It isn't. In fact, you will
% find it to be extremely easy to get your lists in proper format,
% while at the same time giving you flexibility never before possible
% with IED lists.
%
% IF YOU DON'T READ ANYTHING ELSE, KNOW THAT YOU MUST MANUALLY
% SPECIFY THE LABELWIDTH IN THE LIST CONTROLS (discussed below)
% FOR THE LONGEST LABEL IN YOUR LISTS FOR DESCRIPTION LISTS,
% ENUMERATED LISTS OTHER THAN THE TOP LEVEL ENUMERATION (OR THOSE
% WITH MORE THAN 9) ITEMS) AND ITEMIZED LISTS IN WHICH YOU HAVE
% SPECIFIED A DIFFERENT LABEL IN ITEM[XX]. EVERYTHING ELSE WILL
% PRETTY MUCH RUN ITSELF ON "AUTOPILOT"!
%
% The new IED lists ignore "outside" changes to all list lengths
% such as \leftmargin, \labelwidth, etc. The control of IED lists
% is now done exclusively via two interfaces:
%
% 1. "group" control via the \iedlistdecl command. For example:
% \renewcommand{\iedlistdecl}{\settowidth{\labelwidth}{Hello}}
% at the start of your document will set the default width of the
% labels in ALL later IED lists to be equal to the width of "Hello".
% 2. "individual" control via the OPTIONAL argument is provided to itemize,
% enumerate, and description. For example,
% \begin{itemize}[\settowidth{\labelwidth}{$\gamma$}]
% Within the list, the individual control is executed just after the
% group control and therefore, the commands in the individual control
% can override those in the group control. Individual controls affect
% only the particular list they are given in.
%
% Note: Because setting a \labelwidth is so commonly performed, this
% IEEEtrans.cls provides a command: \setlabelwidth{XX}
% which is a shorter form of: \settowidth{\labelwidth}{XX}
%
% These two controls behave like the list_decl (The second
% argument to the standard \list environment). In fact, the group
% and individual commands are passed directly to the list_decl of the
% underlying \list. The rational for this interface is four-fold:
%
% 1. If a user doesn't like the default behavior, \iedlistdecl
% can be defined in the beginning of the document in order
% to affect every IED list after the definition.
% 2. The individual control can be used to override defaults for a
% single IED list without affecting other lists.
% 3. Format controls to lists are provided in only two places, so IEEE
% can easily redefine \iedlistdecl and provide a bogus
% option to IED lists- which will allow them to easily
% isolate your formatting from your content.
% 4. Changes to IED list behavior are confined to IED lists-
% You won't have other, seemingly unrelated, parts of the document
% go nuts when you are trying to alter some list parameter.
% Furthermore, you can easily create complex nested IED lists
% without "getting confused" as to what changes what.
%
%
%
% - Default IED Behavior -
% The default spacings the IED lists used are stored in lengths
% which begin with IEEE, i.e., \IEEEilabelindent. Changes to these
% "master" defaults are rarely needed. If you do need to change them,
% do so at the beginning of your document, NOT IN THE IED LIST
% CONTROLS. These constants will now be briefly explained:
%
% \IEEEilabelindent:
% IEEE seems to use at least two different values by
% which ITEMIZED list labels are indented to the right
% For The Journal of Lightwave Technology (JLT) and The Journal
% on Selected Areas in Communications (JSAC), they tend to use
% an indention equal to \parindent. For Transactions on Communications
% they tend to indent ITEMIZED lists a little more--- 1.3\parindent.
% The shorter length is stored as \IEEEilabelindentA the longer
% as \IEEEilabelindentB. The default is to use the shorter version.
% If you want to use the longer version do a
% setlength{\IEEEilabelindent}{\IEEEilabelindentB}
% at the beginning of your document.
%
% \IEEEelabelindent
% This length is the default amount the enumerated list labels
% are indented to the right. Normally, the same as \parindent.
%
% \IEEEdlabelindent
% ditto for description list labels. Normally, the same as \parindent.
%
% \IEEEiednormlabelsep
% This length is the normal default spacing between the end of the IED
% list labels and the list text which will be used unless you
% specify something else.
%
% \IEEEiedmathlabelsep
% For nomenclature lists (when you have a list of math symbols with
% their explanations, IEEE usually increases the separation between
% the labels and the explanations. This length is set to this longer
% than normal length. To invoke its use, just issue the command
% \usemathlabelsep in a list control.
%
% \IEEEiedtopsep
% This length is the extra vertical separation put above and
% below each IED list. IEEE usually puts a little extra spacing
% around each list. However, this extra spacing is barely noticeable.
%
% \IEEElabelindentfactori through \IEEElabelindentfactorvi
% IEEE normally decreases the amount of indention as the
% list nesting level increases (there isn't much room to indent
% with two column text). The actual amount labels will be indented is
% \labelindent multiplied by the factor above corresponding to the
% level of nesting depth. This provides a means by which the user can
% alter the effective \labelindent for deeper levels.
% There may not be such a thing as correct "standard IEEE"
% values. What IEEE actually does may depend on the specific
% circumstances.
% The first list level almost always has full indention.
% The second levels I've seen have only 75% of the normal indentation
% Three level or greater nestings are very rare. I am guessing
% that they don't use any indentation. These factors are not lengths
% but rather constant macros like \baselinestretch so you will
% have to use \renewcommand if you want to set them to something else.
% The default values are:
% \IEEElabelindentfactori 1.0 % almost always one
% \IEEElabelindentfactorii 0.75 % 0.0 or 1.0 may be used in some cases
% \IEEElabelindentfactoriii 0.0 % 0.75? 0.5? 0.0?
% \IEEElabelindentfactoriv 0.0
% \IEEElabelindentfactorv 0.0
% \IEEElabelindentfactorvi 0.0
% You may suspend the use of these factors in a list by issuing
% the command \nolabelindentfactortrue in a list control (which
% has the same effect as setting all the indent factors to 1.0).
%
%
%
% - Other IED List Commands -
%
% The \calcleftmargin command provides an easy way to set
% \leftmargin based on the \labelwidth, \labelsep and the
% argument which is the length you want to indent the label.
% Usage: \calcleftmargin{length-to-indent-the-label}
% output is in the \leftmargin variable, i.e., effectively:
% \leftmargin = argument + \labelwidth + \labelsep
% It is used internally by the IED lists, but it may be
% helpful to some users as well.
% You can't normally specify \leftmargin in a list control as
% the IED lists calculate this value based on the \labelindent
% \labelwidth and \labelsep. To stop this auto-calculation, so that
% the list will use the \leftmargin you specify, just put
% \nocalcleftmargintrue in a list control.
%
% The enhanced IED lists now allow you to override the
% default justification to perform on the labels by using the
% list control commands:
% \iedlabeljustifyl for left label justification
% \iedlabeljustifyc for center label justification
% \iedlabeljustifyr for right label justification
% HOWEVER, THE USE OF THESE JUSTIFICATION OVERRIDES IS NOT
% RECOMMENDED FOR .tex FILES TO BE TURNED IN TO IEEE AS
% THIS MAY BE CONSIDERED NONSTANDARD FORMAT AND THEY MAY WELL
% USE THEIR DEFAULT JUSTIFICATION.
% I include these commands as they may be helpful to
% those who are using these enhanced list controls for
% other non-IEEE related LaTeX work.
% itemize and enumerate automatically default to right
% justification, description defaults to left.
%
%
%
% - ITEMIZED List Notes -
% The itemized lists will normally automatically calculate the length
% of whatever symbol the current list level is using so you can just
% call \begin{itemize} ... \end{itemize} without doing anything special.
% Furthermore, the auto-label-length feature will work properly even
% if you have redefined \labelitem~ (where I use ~ to indicate
% i,ii,iii, or iv, whichever is appropriate) BEFORE you call the begin
% itemize. However, if you specify any item symbols via \item[X]
% (this is really, really rare and may well be nonstandard as far as
% IEEE is concerned) then you can do the following:
%
%
% \begin{itemize}[\setlabelwidth{Z}]
% \item[X] blah
% \item[Y] blah
% .
% .
% \end{itemize}
%
% where Z is the longest label in the list
%
%
%
% - ENUMERATE List Notes -
% The important thing to note about enumerate lists is that the
% \labelwidth will default to the length of 9) in normal size and font.
% Therefore, you will have to manually specify the length of
% your longest label if:
%
% 1. Your top level list has more than 9 items
% 2. You have redefined \labelenumi, have manually
% specified labels with item[XX], or are using labels
% other than the \normalfont \normalsize font.
% <or>
% 3. the enumerated list is nested (not at the top enumerate level, and is
% therefore not using arabic digits as labels).
%
% For example:
%
% \begin{enumerate}[\setlabelwidth{12)}]
% \item blah
% \item blah
% .
% % 12 items total
% \end{enumerate}
%
%
%
% - DESCRIPTION List Notes -
% You will always have to specify your longest label width under
% description lists. Furthermore, you may wish to use the
% \IEEEmathlabelsep for \labelsep when building a math symbol list.
% For example:
%
% \begin{description}[\setlabelwidth{$\alpha\omega\pi\theta\mu$}
% \usemathlabelsep]
% \item[$\gamma\delta\beta$] Is the index of..
% \item[$\alpha\omega\pi\theta\mu$] Gives the optimal..
% .
% .
% \end{description}
%
% Be sure to include the same font commands in \setlabelwidth as
% you used with the actual label so that width calculation will be
% accurate.
% The description labels will be in normal font unless you
% specify otherwise. IEEE doesn't seem to mandate the use of
% italics. Some authors use normal, others bold, etc.
%
% Here is how you could do a list in typewriter font:
%
% \begin{description}[\ttfamily \setlabelwidth{\texttt{10)}}
% \iedlabeljustifyr
% \settowidth{\labelsep}{\texttt{\ }}]
% \item[\texttt{1)}] Start the algorithm;
% .
% .
% \item[\texttt{10)}] Tabulate the results.
% \end{description}
%
% But, since the list is numbered and the justification needed to be changed
% (nonstandard IEEE), it would be better to use an enumerated list instead:
%
% \renewcommand{\labelenumi}{\ttfamily\theenumi)}
% \begin{enumerate}[\ttfamily \setlabelwidth{\texttt{10)}}
% \settowidth{\labelsep}{\texttt{\ }}]
% \item Start the algorithm;
% .
% .
% \item Tabulate the results.
% \end{enumerate}
%
%
% It is difficult to get things to line up "correctly" if you should
% mix font styles within the labels - which is nonstandard as far
% as IEEE work is concerned.
% This has nothing to do with limitations of the IED list implementation,
% but rather differences in what constitutes a box containing each
% font character. If you *have* to do something like this, I
% suggest you practice with \framebox first. Commands which may be of
% help here are \newlength, \settowidth, and \makebox.
%
%
% *** IEEE section headings can look like lists ***
% Don't confuse headings like \subsubsection, which look like:
%
% \par \textit{1) All-Optical Wavelength Conversion:} blah blah
%
% with enumerated lists. You can tell that it is not a list because
% the text margin is not indented at all.
% Also, sometimes they italicize the first few words in a list item
% text to make a "intralist-item-header".
%
%
%
%
% That's all folks.
%
% ***** end of MDS comments *****
% *******
%
%
%
%
%
%
% *******
% 9/2000 (JVH) changes:
%
% made some corrections to get closer to LaTeX2e
% 20000906 Juergen v.Hagen
%
% Permission to redistribute granted as of December 2000.
% *******
%
%
%
%
%
%
% *******
%
% original 1993 (JWD) LaTeX2e version:
%
% In the most recent TeXhax digest, there was a request for a copy of
% IEEEtrans.sty modified to work with LaTeX2e. I have a version I
% modified to make it IEEEtrans.cls, which I have sent to the person
% making the request and am now sending to you to consider posting to
% the archives.
% --
% Jon Dixon
% http://spot.colorado.edu/~dixonj/
%
%*******
%
%
%
%
%
%
%*******
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IEEEtran.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%===========================================================================
%%% modified by JWD ([email protected]) to be IEEEtran.cls
%%%
%%% @LaTeX-style-file{
%%% author = "Gerry Murray and Silvano Balemi",
%%% version = "2.5.4",
%%% date = "30-August-1993",
%%% filename = "IEEEtran.sty"- now "IEEEtran.cls"
%%% address = "Automatic Control Lab, ETH Zurich, Switzerland"
%%% email = "[email protected],
%%% keywords = "LaTeX, IEEE Transactions, publisher style",
%%% mainserver = "via E-mail from [email protected] ",
%%% docstring = "This is a LaTeX class file for preparation
%%% of submission and final versions of articles
%%% to be published in IEEE Transactions.
%%% The default font size is 10 points but 9pt,
%%% 11pt and 12pt are available too.
%%%
%%% Usage:
%%% \documentclass[..,Xpt,twoside]{IEEEtran}
%%% \author{..}
%%% \title{..}
%%% \maketitle
%%% \begin{abstract}...\end{abstract}
%%% \begin{keywords}...\end{keywords}
%%% ...
%%% \begin{biography}{Author's name}...\end{biography}
%%% \end{document}
%%%
%%% The command "\markboth{leftTEXT}{rightTEXT}"
%%% puts the text "leftTEXT" and "rightTEXT"
%%% with the page number on the even resp. odd
%%% headers when the "twoside" option is selected.
%%% (Attention: header of title page is
%%% always "leftTEXT" as it bears the journal name).
%%% In order to remove headers, insert
%%% \thispagestyle{empty}\pagestyle{empty} or
%%% \thispagestyle{plain}\pagestyle{plain}
%%% right after the \maketitle command!!
%%%
%%% See also IEEE.bst and IEEEsample2e.tex",
%%% }
%%% ===========================================================================