diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:49:51 +0000 |
commit | 551eae84a43a39f15f5f316ea44c1f94ebf4586d (patch) | |
tree | 12a17fda8c1874f93de70d6c452acf46340fd3a9 /Master | |
parent | 7ca2dfbf721b8d935e551ff8374063ba1be9fb4a (diff) |
trunk/Master/texmf-dist/source/latex/IEEEconf
git-svn-id: svn://tug.org/texlive/trunk@122 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/source/latex/IEEEconf/IEEEconf.dtx | 980 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/IEEEconf/IEEEconf.ins | 55 |
2 files changed, 1035 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/IEEEconf/IEEEconf.dtx b/Master/texmf-dist/source/latex/IEEEconf/IEEEconf.dtx new file mode 100644 index 00000000000..b444f679e2d --- /dev/null +++ b/Master/texmf-dist/source/latex/IEEEconf/IEEEconf.dtx @@ -0,0 +1,980 @@ +% \iffalse meta-comment +% +% Copyright (C) 2005 by Scott Pakin <scott+iecnf@pakin.org> +% --------------------------------------------------------- +% +% This file may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, either version 1.3a of this license +% or (at your option) any later version. The latest version of this +% license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3 or later is part of all distributions of LaTeX +% version 2004/10/01 or later. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{IEEEconf.dtx} +%</driver> +%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<class>\ProvidesClass{IEEEconf} +%<*class> + [2005/09/03 v1.3a IEEE Computer Society 8.5x11" conference proceedings] +%</class> +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{textcomp} +\usepackage[hyperindex=false]{hyperref} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{IEEEconf.dtx} +\end{document} +%</driver> +% \fi +% +% \CheckSum{329} +% +% \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 \~} +% +% +% \changes{v1.0}{2004/01/14}{Initial version} +% \changes{v1.0a}{2004/09/18}{Clarified the documentation as per Ming +% Kin Lai's suggestions} +% \changes{v1.3}{2005/08/28}{Added a paragraph about formatting +% reference lists as per Rennie deGraaf's suggestion} +% +% \GetFileInfo{IEEEconf.dtx} +% +% \DoNotIndex{\.,\@arabic,\@beginparpenalty,\@clubpenalty,\@empty} +% \DoNotIndex{\@endparpenalty,\@lowpenalty,\@M,\@m,\@minipagefalse} +% \DoNotIndex{\@mkboth,\@noitemerr,\@openbib@code,\@plus,\@tempboxa} +% \DoNotIndex{\advance,\baselineskip,\begin,\bfseries,\box,\c@enumiv} +% \DoNotIndex{\centering,\clubpenalty,\crcr,\CurrentOption,\def,\else} +% \DoNotIndex{\end,\endieee@thebibitemlist,\endlist,\endquotation} +% \DoNotIndex{\endthebibitemlist,\endtitlepage,\fi,\fontsize,\footnote} +% \DoNotIndex{\global,\hb@xt@,\hfil,\hsize,\hskip,\ifdim,\itshape,\let} +% \DoNotIndex{\list,\long,\mdseries,\newcommand,\newenvironment} +% \DoNotIndex{\newlength,\newpage,\null,\p@enumiv,\par,\ProcessOptions} +% \DoNotIndex{\quotation,\refname,\relax,\renewcommand,\renewenvironment} +% \DoNotIndex{\rmfamily,\rule,\sbox,\setlength,\settowidth,\sfcode} +% \DoNotIndex{\sffamily,\sloppy,\small,\upshape,\usecounter,\vfil,\vskip} +% \DoNotIndex{\vspace,\wd,\widowpenalty,\z@} +% +% ^^A Define a macro for indexing package names. +% \DeclareRobustCommand{\indexpkgname}[1]{^^A +% \index{#1\actualchar\textsf{#1} (package)\encapchar usage}^^A +% \index{packages:\levelchar#1\actualchar\textsf{#1}\encapchar usage}^^A +% } +% +% ^^A Define a macro for typesetting and indexing package names. +% \DeclareRobustCommand{\pkgname}[1]{^^A +% \textsf{#1}^^A +% \indexpkgname{#1}^^A +% } +% +% ^^A Define a macro for typesetting "IEEEconf" and one for typesetting +% ^^A "IEEE Computer Society Press". +% \newcommand{\iecnf}{\pkgname{IEEEconf}} +% \newcommand{\ICSP}{IEEE Computer Society Press} +% +% \title{The \iecnf{} class\thanks{This document +% corresponds to \iecnf{}~\fileversion, dated \filedate.}} +% \author{Scott Pakin \\ +% \href{mailto:scott+iecnf@pakin.org}{\texttt{scott+iecnf@pakin.org}}} +% +% \hypersetup{^^A +% pdftitle={The IEEEconf class}, +% pdfauthor={Scott Pakin <scott+iecnf@pakin.org>}, +% pdfsubject={Format papers for IEEE Computer Society Press conference +% proceedings}, +% pdfkeywords={conference proceedings, formatting requirements, IEEE +% Computer Society Press} +% } +% +% \maketitle +% +% \section{Introduction} +% +% The \iecnf{} class implements the formatting dictated by the \ICSP{} +% for conference proceedings. |IEEEconf.cls| replaces |latex8.sty| and +% is compatible with any \BibTeX{} style, not just |latex8.bst|. The +% goal was to produce a more faithful implementation of the formatting +% rules and to do so with cleaner \LaTeX{} code than that provided by +% the |latex8.*| files: +% +% \begin{itemize} +% \item \iecnf{} is written as a class, which makes more sense than +% implementing it as a style file. +% +% \item \iecnf{} uses the \pkgname{geometry} package to construct the +% page layout rather than setting \LaTeX{} registers directly. +% +% \item \iecnf{} selects fonts using the \LaTeXe{} font commands +% instead of \TeX{} primitives. This lets an author redefine +% |\rmdefault|, |\sfdefault|, and |\ttdefault| and have those changes +% honored by \iecnf. +% +% \item \iecnf{} uses the \pkgname{titlesec} package to redefine +% |\section|, |\subsection|, and |\subsubsection| as dictated by the +% guidelines. \pkgname{latex8} required that authors use |\Section|, +% which internally called |\section| then backspaced to add the +% required period after the section number. Yuck! +% +% \item \iecnf{} changes bibliography formatting by redefining the +% |thebibliography| environment instead of by requiring the author to +% use a particular \BibTeX{} style file. +% \end{itemize} +% +% Note that \iecnf{} is intended specifically for preparing manuscripts +% for \ICSP{} conference proceedings. Most other IEEE +% publications---including other IEEE conference proceedings---specify +% different formatting requirements. Unless you were instructed +% explicitly to follow \ICSP's conference-proceedings guidelines, you +% may find the \pkgname{IEEEtran} package more appropriate than \iecnf. +% +% \paragraph{Caveats} First, as of this writing, \iecnf{} has been neither +% validated nor endorsed by the \ICSP{}\@. Second, some of the \ICSP's +% guidelines are outside of \iecnf's scope. See +% Section~\ref{sec:limitations} for details. Third, the \ICSP{} +% occasionally changes their guidelines; \iecnf~\fileversion{} +% implements the guidelines which were current on~\filedate. In fact, +% the \ICSP{} Web site provides two sets of guidelines: +% +% \begin{itemize} +% \item +% \url{ftp://pubftp.computer.org/press/outgoing/proceedings/instruct.pdf}. +% \iecnf{} relies on this document for its primary set of +% guidelines. +% +% \item +% \url{http://www.computer.org/portal/site/ieeecs/index.jsp?pageID=ieeecs_level1&path=ieeecs/publications/cps&file=cps_forms.xml&xsl=generic.xsl}. +% This Web page contains almost the same contents as the preceding +% PDF file except that the ``Footnotes'' section has nothing to do +% with footnotes but rather with column formatting. Footnote +% guidance is taken from the other set of guidelines. +% +% \item +% \url{ftp://pubftp.computer.org/press/outgoing/proceedings/INSTRUCT.HTM} +% and +% \url{ftp://pubftp.computer.org/press/outgoing/proceedings/instruct.txt}. +% This document provides guidance on footnote formatting. However, +% it contradicts the previous documents by specifying that paragraphs +% be indented by 1~pica while the preceding document says to indent +% paragraphs by 1/4~inch (1.5~picas). It limits the abstract to +% 3~inches (7.62\,cm) while the previous document dictates a +% 150-word limit. \iecnf{} follows the previous document in the +% case of any conflict. +% +% This document contains an additional section about illustrations +% which says not to use color figures unless instructed to do so and +% presents a few prehistoric guidelines about penciling in page +% numbers and how to use rub-on symbols. +% \end{itemize} +% +% +% \section{Usage} +% +% \DescribeMacro{\documentclass} +% Begin your document by loading the \iecnf{} class: +% +% \begin{verbatim} +% \documentclass{IEEEconf} +% \end{verbatim} +% +% \noindent +% Although \iecnf{} is derived from \textsf{article} and accepts the +% same class options, you should not, in general, pass any extra options +% to |\documentclass|. \iecnf{} will automatically set two-column mode +% and a 10\,pt.\ Times Roman font. As of version~1.3a, \iecnf{} honors +% the user's default paper size because the \ICSP{} now allows both +% U.S.~Letter- and A4-sized paper. The paper size can be overridden by the +% |letterpaper| or |a4paper| class options if a conference dictates a +% particular paper size. +% +% \DescribeMacro{\title} +% The |\title| command behaves identically to the one in the +% \textsf{article} class. Just remember to follow what the guidelines +% say about capitalization of words in the title. +% +% \DescribeMacro{\author} +% \DescribeEnv{affiliation} +% \DescribeMacro{\email} +% The guidelines specify different formatting for an author's name and +% for an author's affiliation and e-mail address. For convenience, +% \iecnf{} provides an |affiliation| environment for +% typesetting affiliations and an |\email| macro for typesetting e-mail +% addresses. The following examples show how to format an author list: +% +% \begin{verbatim} +% % Individual author +% \author{% +% Amy Author \\ +% \begin{affiliation} +% Fancy Text Processing Department \\ +% University of Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch +% \end{affiliation} \\ +% \email{author@llanfairPG.ac.uk} +% } +% \end{verbatim} +% +% \begin{verbatim} +% % Multiple authors +% \author{% +% Ray Writer \\ +% \begin{affiliation} +% International Giant Mega-Corporation, Inc. +% \end{affiliation} \\ +% \email{writer@giantmegaco.com} +% \and +% Kim Composer \\ +% \begin{affiliation} +% Department of Reading, 'Riting, and 'Rithmetic +% \LaTeX{} State University +% \end{affiliation} \\ +% \email{composer@latexstate.edu} +% } +% \end{verbatim} +% +% There is not currently any special support in \iecnf{} for typesetting +% multiple affiliations per author. +% +% \DescribeMacro{\date} +% The date macro is implemented but doesn't actually typeset anything. +% +% \DescribeMacro{\callout} +% A \emph{callout} is a piece of text referring to a figure or table. +% When the \ICSP{} re-typesets a document they supposedly want the ``See +% Figure\dots'' and ``See Table\dots'' text to stand out to help the +% typesetter ensure that figures and tables are placed as close as +% possible to their references. The |\callout| macro simply typesets +% its argument in 9-point Helvetica as per the guidelines and is +% typically used as follows: ``\texttt{For details, see} +% |\callout{Figure~\ref{myfigure}}|''. My understanding is that +% |\callout| should be used only when a paper will be re-typeset and not +% when producing camera-ready copy. +% +% \DescribeMacro{\dobeforekey} +% The \ICSP{} guidelines say, ``If the last page of your paper is only +% partially filled, arrange the columns so that they are evenly balanced +% if possible, rather than having one long column.'' This is a fairly +% tricky requirement in the general case for \LaTeXe\@. Because the +% last page typically contains only references, \iecnf{} provides a +% simple command, |\dobeforekey|, to help with that specific case. +% |\dobeforekey| takes two arguments: a bibliography key (i.e.,~a string +% passed to the |\cite| command) and a command to execute before +% typesetting the corresponding bibliography entry. When preparing the +% final version of your paper, put +% ``|\dobeforekey{|\meta{key}|}{\newpage}|'' anywhere before the +% |\bibliography| command and use trial-and-error to find the key +% which best balances the columns on the last page of the paper. +% +% \paragraph{Reference lists} +% The \ICSP{} provides little guidance about typesetting reference +% lists. Apparently, the author is granted some flexibility. \iecnf{} +% uses the specified font but leaves the rest of the formatting +% decisions to the author's chosen bibliography style. As the \ICSP's +% two sample references both use abbreviated author names, it's probably +% best to use |\bibliographystyle{abbrv}| when including a \BibTeX{} +% bibliography.\footnote{\texttt{latex8.bst} is in fact identical to +% \texttt{abbrv.bst} except that it injects +% ``\texttt{\cs{setlength}\linebreak[0]\string{\cs{itemsep}\string}\linebreak[0]\string{-1ex\string}\linebreak[0]\cs{small}}'' +% into its generated \texttt{thebibliography} environment.} \iecnf{} +% also supports the |\thebibliography| environment for authors who +% prefer to typeset their reference lists manually. +% +% \DescribeMacro{\extrareflistcode} +% Previous versions of the \ICSP{} guidelines stated that bibliographic +% references must be single-spaced and that's how \iecnf{} formats the +% references list. The current guidelines say nothing about +% inter-reference spacing but their two sample references are in fact +% separated by a blank line. To provide the author with both +% alternatives, \iecnf{} provides a ``hook'' macro called +% |\extrareflistcode| which enables one to alter the line spacing---or +% any other aspect of reference-list spacing. +% +% As in most \LaTeXe{} classes, references are typeset within a \LaTeX{} +% |list| environment. The |\extrareflistcode| macro specifies extra +% code to execute as part of the second argument to |\begin{list}| when +% typesetting the document's References section. |\extrareflistcode| is +% initially empty but can be redefined by the author with +% |\renewcommand|. For example, the following code instructs \iecnf{} +% to insert a blank line between entries in the references list: +% +% \begin{verbatim} +% \renewcommand{\extrareflistcode}{\setlength{\itemsep}{\baselineskip}} +% \end{verbatim} +% +% +% \section{Limitations} +% \label{sec:limitations} +% +% There are some requirements in the Computer Society's guidelines that +% \iecnf{} is unable to enforce: +% +% \begin{itemize} +% \item ``All manuscripts must be in English.'' +% +% \item ``Capitalize the first letter of nouns, pronouns, verbs, +% adjectives, and adverbs; do not capitalize articles, coordinate +% conjunctions, or prepositions (unless the title begins with such a +% word).'' +% +% \item ``Avoid the use of academic degrees and society affiliations.'' +% +% \item ``Avoid using bit-mapped fonts if possible. True--Type~1 +% fonts are preferred.'' +% +% \item ``Use footnotes sparingly (or not at all!)''. The guidelines +% do specify how to format footnotes if you're desperate and \iecnf{} +% honors the those requirements. +% +% \item ``Where appropriate, include the name(s) of editors of +% referenced books.'' +% \end{itemize} +% +% \noindent +% Furthermore, there are also some requirements the \iecnf{} +% does not currently implement: +% +% \begin{itemize} +% \item ``The abstract is to be\dots up to 150~words in length.'' +% \iecnf{} currently allows abstracts of any length. +% +% \item In the author list, ``[m]ultiple authors may be shown in a +% two- or three-column format''. Like \textsf{article}, \iecnf{} +% packs as many authors as possible onto a line. +% +% \item ``Initially capitalize only the first word of each figure +% caption and table title \dots\ Figure captions are to be centered +% below the figures. Table titles are to be centered above the +% tables.'' Consider using the \pkgname{topcapt} package to help with +% this captioning requirement. +% +% \item ``If the last page of your paper is only partially filled, +% arrange the columns so that they are evenly balanced if possible, +% rather than having one long column.'' Consider using either +% \iecnf's |\doafterkey| macro or the \pkgname{balance} package to +% help with this formatting requirement. +% \end{itemize} +% +% \noindent +% Some of the above shortcomings may be fixed in a future release of +% \iecnf{} if I figure out a good way to do so. +% +% Also note that currently, only $8\mbox{\textonehalf} \times 11''$ +% proceedings are supported, not $6 \times 9''$ proceedings. +% +% +% \StopEventually{% +% \section{License} +% +% Copyright \textcopyright{} 2005 by Scott Pakin +% +% \bigskip +% +% This file may be distributed and/or modified under the conditions of +% the \LaTeX{} Project Public License, either version~1.3a of this +% license or (at your option) any later version. The latest version of +% this license is in: +% +% \begin{center} +% \texttt{http://www.latex-project.org/lppl.txt} +% \end{center} +% +% \noindent +% and version~1.3a or later is part of all distributions of \LaTeX{} +% version 2004/10/01 or later. +% +% \PrintChanges +% \PrintIndex +% } +% +% +% \section{Implementation} +% +% This section contains the complete source code to \iecnf. +% If you're not a \LaTeX{} hacker you probably won't find it +% particularly interesting or useful. However, if you're comfortable +% reading \TeX{} and \LaTeX{} code, you can see exactly what +% \iecnf{} is doing and how. +% +% \subsection{Initialization} +% +% For simplicity, we'll derive everything from the standard |article| +% class but force the |twocolumn| and |10pt| options. +% \begin{macrocode} +\PassOptionsToClass{twocolumn,10pt}{article} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +\LoadClass{article} +% \end{macrocode} +% +% \begin{macro}{\ieee@old@maketitle} +% \begin{macro}{\maketitle} +% The guidelines say not to paginate. +% \begin{macrocode} +\let\ieee@old@maketitle=\maketitle +\renewcommand{\maketitle}{% + \ieee@old@maketitle + \thispagestyle{empty}% +} +\pagestyle{empty} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% ``All paragraphs should be indented 1/4~inch (approximately 0.5\,cm).'' +% \changes{v1.3}{2005/08/28}{Updated the paragraph indentation to match +% the new \ICSP{} specifications.} +% \begin{macrocode} +\setlength{\parindent}{0.25in} +% \end{macrocode} +% +% +% \subsection{Page layout} +% +% Define the page layout as per the following instructions: +% +% \begin{quotation} +% All printed material, including text, illustrations, and charts, +% must be kept within a print area of 6-1/2 inches (16.51\,cm) wide by +% 8-7/8 inches (22.51\,cm) high. Do not write or print anything +% outside the print area. All \emph{text} must be in a two-column +% format. Columns are to be 3-1/16 inches (7.85\,cm) wide, with a +% 3/8~inch (0.81\,cm) space between them. Text must be fully +% justified. +% \end{quotation} +% +% \noindent +% We set the top margin to 1~inch and let the bottom margin define +% itself based on the top margin and the text height as per the +% following instructions: +% +% \begin{quotation} +% The second and following pages should begin 1.0~inch (2.54\,cm) from +% the top edge. On all pages, the bottom margin should be +% \mbox{1-1/8~inches} (2.86\,cm) from the bottom edge of the page for +% \mbox{8.5~$\times$~11-inch} paper; for A4~paper, approximately +% \mbox{1-5/8~inches} (4.13\,cm) from the bottom edge of the page. +% \end{quotation} +% \changes{v1.3}{2005/08/28}{Updated the page layout to match the new +% \ICSP{} specifications.} +% \begin{macrocode} +\RequirePackage[% + noheadfoot, + textwidth=6.5in, + textheight=8.875in, + tmargin=1in +]{geometry} +\setlength{\columnsep}{0.375in} +% \end{macrocode} +% +% +% \subsection{Font selection} +% +% The guidelines specify Times (or similar) as the default font and +% Helvetica as the sans-serif font. While we're at it, we specify +% Courier as the fixed-width font. +% \indexpkgname{mathptmx}\indexpkgname{helvet}\indexpkgname{courier} +% \begin{macrocode} +\RequirePackage{mathptmx} +\RequirePackage{helvet} +\RequirePackage{courier} +% \end{macrocode} +% +% Next, we define commands to set the fonts we'll need later in this +% file. +% +% \begin{macro}{\ieee@times@xiv@bold} +% Set Times 14\,pt.\ bold. +% \begin{macrocode} +\newcommand{\ieee@times@xiv@bold}{% + \rmfamily\bfseries\upshape\fontsize{14}{16}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@times@xii@bold} +% Set Times 12\,pt.\ bold. +% \begin{macrocode} +\newcommand{\ieee@times@xii@bold}{% + \rmfamily\bfseries\upshape\fontsize{12}{14}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@times@xi@bold} +% Set Times 11\,pt.\ bold. +% \begin{macrocode} +\newcommand{\ieee@times@xi@bold}{% + \rmfamily\bfseries\upshape\fontsize{11}{13}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@times@x@bold} +% Set Times 10\,pt.\ bold. +% \begin{macrocode} +\newcommand{\ieee@times@x@bold}{% + \rmfamily\bfseries\upshape\fontsize{10}{12}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@times@xii@roman} +% Set Times 12\,pt.\ roman. +% \begin{macrocode} +\newcommand{\ieee@times@xii@roman}{% + \rmfamily\mdseries\upshape\fontsize{12}{14}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@times@xii@italic} +% Set Times 12\,pt.\ italic. +% \begin{macrocode} +\newcommand{\ieee@times@xii@italic}{% + \rmfamily\mdseries\itshape\fontsize{12}{14}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@times@ix@roman} +% Set Times 9\,pt.\ roman. +% \begin{macrocode} +\newcommand{\ieee@times@ix@roman}{% + \rmfamily\mdseries\upshape\fontsize{9}{11}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@helv@ix@roman} +% Set Helvetica 9\,pt.\ roman. +% \begin{macrocode} +\newcommand{\ieee@helv@ix@roman}{% + \sffamily\mdseries\upshape\fontsize{9}{11}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@helv@x@bold} +% Set Helvetica 10\,pt.\ bold. +% \changes{v1.1}{2005/02/12}{Converted figure/table captions from roman +% to boldface. Thanks to Thomas J. Hacker for pointing out the +% formatting violation.} +% \begin{macrocode} +\newcommand{\ieee@helv@x@bold}{% + \sffamily\bfseries\upshape\fontsize{10}{12}\selectfont} +% \end{macrocode} +% \end{macro} +% +% \subsection{Title formatting} +% +% We use the \pkgname{array} package to help center the text within +% |tabular| ``|p|'' columns. +% \begin{macrocode} +\RequirePackage{array} +% \end{macrocode} +% +% \begin{macro}{\ieee@author@width} +% |\@maketitle| sets this \meta{dimen} to the width of the widest author +% block. +% \begin{macrocode} +\newlength{\ieee@author@width} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\and} +% Redefine the |\and| macro used in titles to force some blank space +% above each author block. (Other than the |\rule| line, this version +% of |\and| is identical to the one in |ltsect.dtx|.) +% \changes{v1.2}{2005/03/26}{Introduced this macro in order to insert +% blank space between author blocks.} +% \begin{macrocode} +\def\and{% + \end{tabular}% + \hskip 1em \@plus 0.17fil% + \rule{0pt}{1.5\baselineskip}% + \begin{tabular}[t]{@{}>{\centering}p{\ieee@author@width}@{}}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@maketitle} +% The guidelines say that the ``title (on the first page) should begin +% 1-3/8 inches (3.49~cm) from the top edge of the page, centered, and in +% Times 14-point, boldface type\dots Leave two blank lines after the title.'' +% \begin{macrocode} +\def\@maketitle{% + \newpage + \null + \vskip 0.375in% + \begin{center}% + \let\footnote=\thanks + {\ieee@times@xiv@bold \@title}% + \vskip 24pt + \ieee@times@xii@roman +% \end{macrocode} +% Set |\ieee@author@width| to the width of the widest author block. +% \changes{v1.2}{2005/03/26}{Modified to place author blocks in a more +% aesthetic manner. Thanks to Joey Lawrance for drawing my attention +% to the unusual-looking formatting used in the previous version of +% \iecnf.} +% \begin{macrocode} + \settowidth{\ieee@author@width}{% + \let\and=\crcr +% \end{macrocode} +% We temporarily let-bind both |\thanks| and |\footnote| to |\@gobble|. +% If we didn't, \iecnf{} would output each footnote twice: once when +% calculating the width of the author blocks and once when typesetting +% them. Note that we use |\@gobble| instead of, say, |\footnotemark| +% because |\@ieee@old@maketitle| (a.k.a.\ the \pkgname{article} class's +% |\maketitle| macro) places footnote markers within an |\rlap| so they +% occupy no horizontal space. +% \changes{v1.2a}{2005/05/20}{Fixed a bug which caused +% \texttt{\string\string\string\thanks} and +% \texttt{\string\string\string\footnote} to produce duplicate +% footnotes. Thanks to M. Rasit Eskicioglu for reporting the +% duplicate-footnote problem.} +% \begin{macrocode} + \let\thanks=\@gobble + \let\footnote=\@gobble + \begin{tabular}[t]{@{}c@{}}% + \@author + \end{tabular}% + }% +% \end{macrocode} +% Typeset all author blocks with columns exactly of width +% |\ieee@author@width|. +% \begin{macrocode} + \begin{tabular}[t]{@{}>{\centering}p{\ieee@author@width}@{}}% + \@author + \end{tabular}% + \end{center}% +% \end{macrocode} +% ``Author information should be followed by two 12-point blank lines.'' +% \begin{macrocode} + \vskip 24pt% +} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{affiliation} +% Affiliations are supposed to be in Times~12\,pt.\ italic type. We +% define an environment to help out with that. +% \begin{macrocode} +\newenvironment{affiliation}{% + \ieee@times@xii@italic + \begin{tabular}[t]{c}% +}{% + \end{tabular}% +} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{email} +% E-mail addresses are supposed to be in Times~12\,pt.\ italic type. We +% define a macro to help out with that. +% \begin{macrocode} +\newcommand*{\email}[1]{% + {\ieee@times@xii@italic#1}} +% \end{macrocode} +% \end{macro} +% +% \subsection{Abstract} +% +% \begin{environment}{abstract} +% The guidelines have a lot to say about formatting abstracts: +% +% \begin{quotation} +% The abstract is to be in fully-justified italicized text, at the top +% of the left-hand column as it is here, below the author information. +% Use the word ``Abstract'' as the title, in 12-point Times, boldface +% type, centered relative to the column, initially capitalized. The +% abstract is to be in 10-point, single-spaced type, and up to +% 150~words in length. Leave two blank lines after the abstract, then +% begin the main text. +% \end{quotation} +% +% Most of the following code was taken verbatim from |classes.dtx|. +% \begin{macrocode} +\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 + \begin{center}% + \ieee@times@xii@bold \abstractname + \end{center} + \itshape + \else + \small + \begin{center}% + {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \quotation + \fi} + {\if@twocolumn + \vspace*{\baselineskip}% + \else + \endquotation + \fi} +\fi +% \end{macrocode} +% \end{environment} +% +% +% \subsection{Figures and tables} +% +% Format figure and table captions as follows: +% +% \begin{quotation} +% Figure and table captions should be 10-point Helvetica (or a similar +% sans-serif font), boldface. Callouts should be 9-point Helvetica, +% non-boldface. Initially capitalize only the first word of each +% figure caption and table title. Figures and tables must be numbered +% separately. For example: ``Figure~1. Database contexts'', +% ``Table~1. Input data''. Figure captions are to be below the +% figures. Table titles are to be centered above the tables. +% \end{quotation} +% +% Currently, the author is responsible for putting captions above tables +% and below figures. The \pkgname{topcapt} package is useful for +% ensuring proper spacing when captions are placed above a table. +% +% \begin{macro}{\@makecaption} +% Modify |\@makecaption| to typeset everything in 10 pt.\ Helvetica and +% to put a period instead of a colon after the figure number. See the +% definition of |\@makecaption| in |classes.dtx| for additional +% commentary. +% \begin{macrocode} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{\ieee@helv@x@bold #1. #2}% + \ifdim \wd\@tempboxa >\hsize + \ieee@helv@x@bold #1. #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\callout} +% When the \ICSP{} re-typesets a document they supposedly want the ``See +% Figure'' and ``See Table'' callouts to stand out to help the +% typesetter ensure that figures and tables are placed as close as +% possible to their callouts. The |\callout| macro simply typesets its +% argument in 9-point Helvetica as per the \ICSP{} guidelines. +% \changes{v1.3}{2005/08/28}{Introduced this macro. Thanks to Ming Kin Lai +% for finding out what a ``callout'' is.} +% \begin{macrocode} +\DeclareRobustCommand{\callout}[1]{% + {\ieee@helv@ix@roman#1}% +} +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Section headers} +% +% The \pkgname{titlesec} package makes it easy to modify section headers. +% \begin{macrocode} +\RequirePackage{titlesec} +% \end{macrocode} +% +% Format sections as follows: +% +% \begin{quotation} +% For example, ``1.~Introduction'', should be Times 12-point boldface, +% initially capitalized, flush left, with one blank line before, and +% one blank line after. Use a period~(``.'') after the Arabic heading +% number, not a colon. +% \end{quotation} +% +% \begin{macrocode} +\titleformat{\section}{\ieee@times@xii@bold}{\thesection.}{0.5em}% + {}\relax +\titlespacing{\section}{0pt}{12pt}{12pt} +% \end{macrocode} +% +% Format subsections as follows: +% +% \begin{quotation} +% As in this heading, they should be Times 11-point boldface, initially +% capitalized, flush left, with one blank line before, and one after. +% \end{quotation} +% +% \begin{macrocode} +\titleformat{\subsection}{\ieee@times@xi@bold}{\thesubsection.}% + {0.5em}{}\relax +\titlespacing{\subsection}{0pt}{11pt}{11pt} +% \end{macrocode} +% +% Format subsubsections as follows: +% +% \begin{quotation} +% Third-order headings, as in this paragraph, are discouraged. However, +% if you must use them, use 10-point Times, boldface, initially +% capitalized, flush left, preceded by one blank line, followed by a +% period and your text on the same line. +% \end{quotation} +% +% \changes{v1.0b}{2004/10/10}{Corrected a formatting problem with +% \texttt{\string\string\string\subsubsection} identified by +% Ben Ochoa.} +% +% \begin{macrocode} +\titleformat{\subsubsection}[runin]{\ieee@times@x@bold}% + {\thesubsubsection.}{0.5em}{}[.] +\titlespacing{\subsubsection}{0pt}{10pt}{0.5em} +% \end{macrocode} +% +% \subsection{References} +% +% \begin{environment}{thebibliography} +% In order to make \iecnf{} play nicely with the \pkgname{tocbibind} +% package we need to separate the code that outputs the word +% ``References'' (or whatever |\refname| is defined as) from the code +% that typesets the bibliography in a list. Hence, our +% |thebibliography| definition is rather short. +% \begin{macrocode} +\renewenvironment{thebibliography}[1]{% + \section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \begin{ieee@thebibitemlist}{#1}% +}{% + \end{ieee@thebibitemlist}% +} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{ieee@thebibitemlist} +% The IEEE guidelines provide very little guidance when it comes to +% formatting a bibliography. All they insist upon is that it be typeset +% in 9\,pt.\ Times and use square brackets. The following is almost +% identical to the definition of |thebibliography| in |classes.dtx| but +% sets the appropriate font size and---as a courtesy to authors +% struggling to meet page-length requirements---eliminates blank lines +% between entries. The user can reinstate blank lines by redefining the +% |\extrareflistcode| hook. +% \begin{macrocode} +\newenvironment{ieee@thebibitemlist}[1] + {\list{\@biblabel{\@arabic\c@enumiv}}% + {\ieee@times@ix@roman + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}% + \extrareflistcode}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \end{environment} +% +% At the beginning of the document, after the author has finished +% loading packages, we check to see if the \pkgname{tocbibind} package +% was loaded. If it was, we replace its |thebibitemlist| environment +% with our |ieee@thebibitemlist| environment. +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{tocbibind}{% + \let\thebibitemlist=\ieee@thebibitemlist + \let\endthebibitemlist=\endieee@thebibitemlist + }% + {}% +} +% \end{macrocode} +% +% \begin{macro}{\ieee@pre@bibitem@key} +% \begin{macro}{\ieee@pre@bibitem@cmd} +% The commands defined by the user in |\ieee@pre@bibitem@cmd| are +% executed before \iecnf{} typesets a bibliographic entry with key +% |\ieee@pre@bibitem@key|. +% \begin{macrocode} +\newcommand{\ieee@pre@bibitem@key}{IEEEconf} +\newcommand{\ieee@pre@bibitem@cmd}{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\dobeforekey} +% Store a command to execute before a given bibliography key. +% \changes{v1.3}{2005/05/28}{Introduced this macro.} +% \begin{macrocode} +\newcommand{\dobeforekey}[2]{% + \def\ieee@pre@bibitem@key{#1}% + \def\ieee@pre@bibitem@cmd{#2}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ieee@old@bibitem} +% \begin{macro}{\bibitem} +% Redefine |\bibitem| to insert |\ieee@pre@bibitem@cmd| before a +% citation or reference label designated by the user. +% \begin{macrocode} +\let\ieee@old@bibitem=\bibitem +\renewcommand{\bibitem}[2][]{% + \def\ieee@biblabel{#1}% + \def\ieee@bibkey{#2}% + \ifx\ieee@bibkey\ieee@pre@bibitem@key + \ieee@pre@bibitem@cmd + \fi + \ifx\ieee@biblabel\@empty + \def\next{\ieee@old@bibitem{#2}}% + \else + \def\next{\ieee@old@bibitem[#1]{#2}}% + \fi + \next +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\extrareflistcode} +% Provide a hook for the user to inject arbitrary code into the |list| +% environment's spacing argument (i.e.,~the second argument to +% |\begin{list}|) when producing a reference list. +% \changes{v1.3a}{2005/09/03}{Introduced this macro.} +% \begin{macrocode} +\newcommand{\extrareflistcode}{} +% \end{macrocode} +% \end{macro} +% +% +% \Finale +% +\endinput diff --git a/Master/texmf-dist/source/latex/IEEEconf/IEEEconf.ins b/Master/texmf-dist/source/latex/IEEEconf/IEEEconf.ins new file mode 100644 index 00000000000..26e4fbda197 --- /dev/null +++ b/Master/texmf-dist/source/latex/IEEEconf/IEEEconf.ins @@ -0,0 +1,55 @@ +%% +%% Copyright (C) 2005 by Scott Pakin <scott+iecnf@pakin.org> +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3a of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3a or later is part of all distributions of LaTeX version +%% 2004/10/01 or later. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/IEEEconf} + +\preamble + +This is a generated file. + +Copyright (C) 2005 by Scott Pakin <scott+iecnf@pakin.org> + +This file may be distributed and/or modified under the conditions of +the LaTeX Project Public License, either version 1.3a of this license +or (at your option) any later version. The latest version of this +license is in: + + http://www.latex-project.org/lppl.txt + +and version 1.3a or later is part of all distributions of LaTeX version +2004/10/01 or later. + +\endpreamble + +\generate{\file{IEEEconf.cls}{\from{IEEEconf.dtx}{class}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* IEEEconf.cls *} +\Msg{* *} +\Msg{* To produce the documentation run the file IEEEconf.dtx *} +\Msg{* through LaTeX (twice). *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile |