IEEE multiple citations

1,189 views
Skip to first unread message

Sivasubramani S

unread,
Jan 23, 2011, 10:58:58 AM1/23/11
to latex...@googlegroups.com
Hai,
        To have IEEE type citation for multiple references , i.e., [1], [2] and [1]-[3], we have to use IEEEtran.cls and IEEEtran.bst files. This is obvious and every one knows it. However, the highlight is that when you use iitmdiss.cls and IEEEtran.bst for thesis (Mandatory for Elec Dept) , we will get [1-3]. 


Since this is not an IEEE std ( Power Quality Standard),  we should keep the following lines in the preamble .

\usepackage{cite}
\def\citepunct{], [}
\def\citedash{]--[}



--
S Sivasubramani
Research Scholar
ESB 340, Power System Computation Lab
IIT Madras, Chennai 36

N. Karthikeyan

unread,
Jan 23, 2011, 2:49:31 PM1/23/11
to latex...@googlegroups.com
Thanks for noting this Mani
Keeping your jokes apart, the story does not end there!!!
You have to also add

\def\@citex[#1]#2{%
  \let\@citea\@empty
  \@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{], [}%
     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
     \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
     \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
       \G@refundefinedtrue
       \@latex@warning
         {Citation `\@citeb' on page \thepage \space undefined}}%
       {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}

along with the statements you mentioned for proper definition of @citex and warning messages I guess. I have little knowledge of Tex programming but this is what I understood from IEEtran.cls file. Proper understanding of cite.sty and IEEEtran.cls will give the answer for why the above lines may be required.

Actually I added all those lines and put them in nk-iitm-thesis.cls file
along with other minor changes as follows
1) Our great iitmdiss.cls uses natbib package as default, this has to be disabled or its options have to be changed.
2) Default declarations of iitm.bst file and use of caption with hang option (why the hell this option is used?) to be disabled.
3) Default loading of article and report class files which will never give you IEEE standard (not Power Quality standard in your words :) ), hence I killed those problems there itself by using my own minor revision of article and report files.

Personally I don't like problems to come up in class files and solving it with preamble statements
For example
\newcommand\figurename{Figure}
in article class
with
\renewcommand\figurename{Fig.}
in your tex file.

Instead, kill it in the source itself with
\newcommand\figurename{Fig.}

MAKE TEX PROGRAMMING AS SIMPLE AS POSSIBLE FOR USERS
(For that, tailor all your requirements in class and style files and not with pages of preamble statements)

Happy Texing

karthick


--
Share what you know and crave what you want to know

Sivasubramani S

unread,
Jan 23, 2011, 8:39:27 PM1/23/11
to latex...@googlegroups.com
Karthikeyan,

Do you mean that the following lines should be added in article.cls or our .tex files?  It is not so.

iitmdiss.cls has natbib by default. Those thing we should comment first since we need IEEE citation. Even then, we will not get multiple citation. For this, add the two lines (enough) in the preamble.  

I did and got IEEE multiple citation.

N. Karthikeyan

unread,
Jan 24, 2011, 12:52:27 AM1/24/11
to latex...@googlegroups.com
You can add those lines in your tex file. Even I too got correctly without those lines. But they are required for proper definition of @citex, to make change in aux file and for issue of warning messages. You can't come to know the significance of those lines unless you encounter a problem somewhere. Please read IEEEtran.cls and cite.sty files. I have little knowledge of TeX programming.
You should not comment some lines in the (mandatory ?) iitmdiss class file and use it as such. You will be breaching the ethics of programming.
Finally, the two lines you mentioned are not enough if your aim is to get bug free  codes. Add the extra lines which I have mentioned in your tex file along with those two lines.

Happy TeXing
karthick
Reply all
Reply to author
Forward
0 new messages