diff options
-rw-r--r-- | Master/texmf-dist/tex/latex/ieeepes/ieeepes.sty | 625 |
1 files changed, 625 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ieeepes/ieeepes.sty b/Master/texmf-dist/tex/latex/ieeepes/ieeepes.sty new file mode 100644 index 00000000000..75d73178649 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ieeepes/ieeepes.sty @@ -0,0 +1,625 @@ +%%---------------------------------------------------------------------- +%% ieeepes.sty +% +% Sets up the document layout for IEEE PES (Power Engineering Society) +% publications. +% Usage: Load as a package together with the article document class. +% Example: +% \documentclass{article} +% \usepackage{ieeepes} +% Note: This package requires package vmargin by Volker Kuhlmann. +% +% Copyright (C) Volker Kuhlmann 1993, 1995, 1996, 1999 +% +% Volker Kuhlmann +% c/o University of Canterbury +% ELEC Dept +% Creyke Road +% Christchurch, New Zealand +% E-Mail: v.kuhlmann@elec.canterbury.ac.nz +% +% This program can be redistributed and/or modified under the terms +% of the LaTeX Project Public License, distributed from CTAN +% archives as macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. +% +% +% HISTORY: +% 4.0.1 01Jun99 Changed license to LPPL. +% 4.0 13Apr99 Fixed for use with LaTeX 1998/06/01. +% 3.25 19Jul96 \colbe removed. \authorcolumn, \linefield, \authors. +% 3.23 17Jul96 \colbe. +% 3.22 04Jul96 Environment Table. +% 3.2 30Jun96 Option draft prints "draft". Option puttoc. +% Corrected section numbers, and section referencing. +% 3.1 03Apr96 Added some comments. +% 3.1 06Mar96 Added option noieeebox. +% 3.0 16Nov95 Changed summary. +% 2.9 16Nov95 Added summary. +% 2.8 14Nov95 Fixed caption justification. +% 2.7 12Nov95 \maketitle illegal, \Rhighlight, \Lhighlight. +% Fixed abstract. Use graphicx instead of epsfig. +% PStimes loads times and mathptm. +% 2.6 09Nov95 Option PStimes. +% 2.5 07Nov95 \discussion, \closure. +% 2.4 06Nov95 \figref, \tabref, equations, biography photos. +% 2.3 27Oct95 Added \author, \and. +% 2.2 10Oct95 Improved. +% 2.1 24Sep95 Improved. +% 2.0 15Sep95 Created out of IEEEpaper.sty, V2.22, 21 Feb 1993. +% +%%---------------------------------------------------------------------- + +\def\filename{ieeepes} +\def\fileversion{V4.0.1} +\def\filedate{1999/06/01} +\edef\ieeepesname{\filename} + + +\NeedsTeXFormat{LaTeX2e}[1998/06/01] +\ProvidesPackage{\filename}[\filedate] +\typeout{Package `\filename', \fileversion, <\filedate>} + + +% +%% LOAD REQUIRED PACKAGES +% +% Margin macros, by Volker Kuhlmann. Can be obtained from CTAN. +% A copy should be included with ieeepes for convenience. +\RequirePackage{vmargin} + + +% +%% DECLARE PACKAGE OPTIONS +% +\DeclareOption{draft}{% + \PackageWarning{\ieeepesname}{DRAFT selected}% + \AtEndOfPackage{% + \pagestyle{plain}% + \def\@Lhlmark{\LARGE$\rightarrow$}% + \def\@Rhlmark{\LARGE$\leftarrow$}% + \def\@oddfoot{\reset@font + \hbox to\z@{\sffamily\bfseries DRAFT% + \hskip 2em{\footnotesize\@date}\hss}% + \hfil\thepage\hfil + \hbox to\z@{\hss\sffamily\bfseries + {\footnotesize\@date}\hskip 2em DRAFT}}% + \let\@evenfoot\@oddfoot + } + \newcommand\@puttoc{\old@tableofcontents\par\bigskip\bigskip}% + %% with option puttoc + } + +\DeclareOption{psphotos}{% + \psphototrue + \AtEndOfPackage{\RequirePackage{graphicx}} + } +\newif\ifpsphoto + +\DeclareOption{photofit}{% + \photofittrue + } +\newif\ifphotofit + +\DeclareOption{PStimes}{% + \AtEndOfPackage{\RequirePackage{times,mathptm}} + } + +\DeclareOption{noieeebox}{% + \AtBeginDocument{\let\@putbox\relax} + } + +\DeclareOption{puttoc}{% + \newcommand\@@puttoc{\csname @puttoc\endcsname}% + %% put toc, but only if option draft is active as well + } + + +\ProcessOptions + + +% +%% PAGE AND PARAGRAPH LAYOUT +% +\setpapersize{USletter} +\setmarginsrb{18mm}{25mm}{18mm}{14mm}{0pt}{0mm}{}{11mm} +\parskip 0pt plus 1.5pt % default by LaTeX: 0pt plus 1pt +\parindent 3.5mm % default by LaTeX: 15pt +\columnsep 5mm % default by LaTeX: 10pt = 3.5mm +\pagestyle {empty} + + +% +%% WARNINGS, ERRORS +% +\newcommand\err@@text[1]% + {Illegal command: \string#1} +\newcommand\hlp@@text + {You can't use this command in IEEE PES documents.} +\newcommand\err@@illcmd[1]{% + \PackageError{\ieeepesname}{\err@@text{#1}}{\hlp@@text}% +} + + +% +%% HEADER, EMPTY BOX +% +% \author, \and +% \authorcolumn +% \linefield +% \authors, &, \\ +% +\renewcommand\author[1]{% + \gdef\@author{% + \author@beg #1\author@end + }% +} +\renewcommand\and{% + \author@end\author@beg +} +\newcommand\author@beg{% + \mbox{}\hfill + \hspace*{-.5\textwidth}% + \begin{minipage}{\textwidth}% + \centering +} +\newcommand\author@end{% + \end{minipage}% + \hspace*{-.5\textwidth}% + \hfill\mbox{}% +} +% +\newcommand\authorcolumn[1]{\mbox{}\hfill\hspace{-.5\textwidth}% + \parbox[t]{\textwidth}{\centering\strut #1\strut}\strut + \hspace{-.5\textwidth}\hfill\mbox{}\ignorespaces} + % works, but are the \strut s correct? +% +\newcommand\linefield[1]{\mbox{}\hfill\hbox to \z@{\hss #1\hss}\hfill\null + \ignorespaces}% works! +% +\newbox\author@box +\newcommand\authors{% + %\gdef\@author{\author@begii #1\author@endii}% + \begingroup + \catcode`\&\active + \authorii@ +} +\newcommand\authorii@{} +\begingroup +\catcode`\&\active +\gdef\authorii@#1{% + \global\setbox\author@box=\hbox{\parbox{\textwidth}{% + \large\rmfamily + \centering% before redefining \\ !!! + \def\\{\author@endii\linebreak\author@begii}% + \def&{\author@endii\hfil\hfil\author@begii}% + \leavevmode\author@begii #1\author@endii\par}}% + \gdef\@author{\box\author@box}% + \endgroup +} +\endgroup +\newcommand\author@begii{\hbox to \z@\bgroup\hss\ignorespaces} +\newcommand\author@endii{\hss\egroup} +% +\newcommand\@putheader{% + \twocolumn[% + \begin{center} + {\Large\textbf{\@title}\par}% this needs to be 14pt bold + \vspace{1cm} + \tabcolsep 1cm + {\large\textrm{\@author}\par}% needs to be 12pt + \vspace{1cm} + \end{center} + ] + } +% +\newcommand\@putbox{% + % put empty space on bottom of page + % the figure-counter is not incremented because we don't + % have a caption + \begin{figure}[b] + %\framebox(200,142.3){50mm of nothing} + %\fbox{\makebox(200,142.3){}} + \makebox(200,142.3){} + \end{figure} + } +% +\newcommand\ieeepes@maketitle{\@putheader\@putbox\csname @@puttoc\endcsname} +%\AtBeginDocument{\ieeepes@maketitle} +%This hook is now part of the preamble -> can no longer use it here. +% +%% make \maketitle illegal +%\renewcommand\maketitle{\PackageError{ieeepes}% +% {\err@@section\maketitle}\hlp@@section} +% Adjust \maketitle, show error if not used +\renewcommand\maketitle{% + \ieeepes@maketitle + \capwidth=0.8\columnwidth + \def\had@pesmt{y}% +} +\def\had@pesmt{} +\AtEndDocument{% + \if y\had@pesmt\else + \PackageError{\ieeepesname}% + {Must use \string\maketitle\space after + \string\begin{document}}% + \hlp@@section + \fi +} + + +% +%% TABLE OF CONTENTS +% +% save original definition and make illegal +\let\old@tableofcontents=\tableofcontents +\renewcommand\tableofcontents{\err@@illcmd\tableofcontents} + + +% +%% ABSTRACT +% +\renewenvironment{abstract}{% + \footnotesize\bfseries + \textit{Abstract---}\ignorespaces +}{% + \par +} + + +% +%% SECTIONING +% +% Section numbering for \section, \subsection, \subsubsection. +\setcounter{secnumdepth}{3} +% +% Save original definition of \@xsect +\let\sv@xsect=\@xsect +% +%\renewcommand\@seccntformat[1]{\csname the#1\endcsname \hskip.4em\relax} +%% this is used for typesetting the sectioning number +% +%\renewcommand\thesection{\Roman{section}.} +\renewcommand\thesection{\Roman{section}} +% copied from classes.dtx, and modified: +\renewcommand\section{% + \def\@seccntformat##1{\Roman{section}.\hskip.4em\relax}% + \let\@xsect=\sv@xsect + \@startsection {section}{1}{\z@}% + {1\baselineskip \@plus1\baselineskip \@minus.1\baselineskip}% + {.8\baselineskip \@plus.2\baselineskip}% + {\reset@font\normalsize\scshape\noindent\hfil}% + } +% +%\renewcommand\thesubsection{\Alph{subsection}.} +\renewcommand\thesubsection{\thesection.\Alph{subsection}} +% copied from classes.dtx, and modified: +\renewcommand{\subsection}{% + \def\@seccntformat##1{\Alph{subsection}.\hskip.4em\relax}% + \let\@xsect=\sv@xsect + \@startsection{subsection}{2}{\z@}% + {1\baselineskip \@plus1\baselineskip \@minus.1\baselineskip}% + {.8\baselineskip \@plus.2\baselineskip \@minus.1\baselineskip}% + {\reset@font\normalsize\itshape}% + } +% +%\renewcommand\thesubsubsection{\arabic{subsubsection})} +\renewcommand\thesubsubsection{\thesubsection.\arabic{subsubsection})} +% copied from classes.dtx, subparagraph, and modified: +\renewcommand{\subsubsection}{% + \def\@seccntformat##1{\arabic{subsubsection})\hskip.4em\relax}% + % Intercept \@xsect call by \@sect, and add a colon + \def\@xsect{% + \let\old@svsechd=\@svsechd + \def\@svsechd{\old@svsechd:}% + \sv@xsect}% + \@startsection{subsubsection}{3}{\parindent}% + {-1\parskip}% + {-.5em}% + {\reset@font\normalsize\itshape}% + } +% +% Disallow sectioning below \subsubsection. +\renewcommand\paragraph{\err@@illcmd\paragraph} +\renewcommand\subparagraph{\err@@illcmd\subparagraph} + + +% +%% FLOATS (FIGURES AND TABLES) +% + +% Define numbering +% +\renewcommand\thefigure{\arabic{figure}} +\renewcommand\figurename{Fig.} +\renewcommand\thetable{\Roman{table}} +\renewcommand\tablename{Table} +\renewcommand\thempfootnote{\alph{mpfootnote}} + +% References +% +\newcommand\figref{\figurename~\ref} +\newcommand\tabref{\tablename~\ref} +\newcommand\fref{\figref} +\newcommand\tref{\tabref} + +% Caption spacing +% +% (the following skips are set here to avoid trouble with other +% packages also working with captions.) +\abovecaptionskip .9\baselineskip +\belowcaptionskip 0mm +% +\newdimen\capwidth +%\AtBeginDocument{\capwidth=.8\columnwidth} +% setting \capwidth is useless before \twocolumn is active +% now done by \maketitle + +% Float placement parameters +% +\floatsep 1\baselineskip + \@plus.1\baselineskip \@minus.1\baselineskip +\textfloatsep 1.1\baselineskip + \@plus1\baselineskip \@minus\z@ + +% Make the contents of a figure/table environment centered by default. +% (Note: this makes use of internal LaTeX control sequences and might +% not work any more with future releases.) +% +\let\old@floatboxreset=\@floatboxreset +\def\@floatboxreset{\old@floatboxreset\centering} + +% Handle caption formatting +% +% Intercept at beginning of figure, and setup +\let\old@figure=\figure +\def\figure{% +%\showthe\abovecaptionskip + \let\@makecaption=\fig@caption + \abovecaptionskip=.9\baselineskip + \belowcaptionskip=0mm + \old@figure + } +\newcommand\fig@caption[2]{% + \par + \vskip\abovecaptionskip + \centering\footnotesize + \sbox\@tempboxa{#1. #2}\ifdim\wd\@tempboxa > \capwidth + \parbox\capwidth{#1. #2}% + \else + \parbox\capwidth{\centering #1. #2}% + \fi + \vskip\belowcaptionskip + } +% +% Intercept at beginning of table, and setup +\let\old@table=\table +\def\table{% + \let\@makecaption=\tbl@caption + \abovecaptionskip=0mm + \belowcaptionskip=.9\baselineskip + \old@table + } +\newcommand\tbl@caption[2]{% + \par + \vskip\abovecaptionskip + \centering\footnotesize\scshape + %\sbox\@tempboxa{#1. #2}% + \sbox\@tempboxa{#2}% + \ifdim\wd\@tempboxa > \capwidth + \parbox\capwidth{\hfil #1\\#2}% + \else + \parbox\capwidth{\centering #1\\#2}% + \fi + \vskip\belowcaptionskip + } + +% New environments for figure and table which take a label and the +% caption as argument and place the caption correctly. +% Arguments in square brackets are optional. +% The LABEL argument is required but may be empty. +% +% \begin{Figure}[FLOATPLACEMENT]{LABEL}[TOC CAPTION]{CAPTION} +% \begin{Table}[FLOATPLACEMENT]{LABEL}[TOC CAPTION]{CAPTION} +% +% Note: \figure does not take control sequences for LOC. Must be expanded +% recursively, hence the \edef\@FLPLACE and \expandafter before \figure. +% +\newenvironment{Figure}[2][\fps@figure]{% + \edef\@FLPLACE{#1}\def\@TFLABEL{#2}\Figure@@ + }{% + \caption[\@tocCAPTION]{\@CAPTION}% + \ifx\@TFLABEL\empty\else\label\@TFLABEL\fi + \endfigure + } +\newcommand\Figure@@[2][]{% + \def\@tocCAPTION{#1}\def\@CAPTION{#2}% + \expandafter\figure\expandafter[\@FLPLACE]% + } +% +\newenvironment{Table}[2][\fps@table]{% + \edef\@FLPLACE{#1}\def\@TFLABEL{#2}\Table@@ + }{% + \ifx\@TFLABEL\empty\else\label\@TFLABEL\fi + \endtable + } +\newcommand\Table@@[2][]{% + \def\@tocCAPTION{#1}\def\@CAPTION{#2}% + \expandafter\table\expandafter[\@FLPLACE]% + \caption[\@tocCAPTION]{\@CAPTION}% + } + +% left and right highlighters +% +\newcommand\Lhighlight{\leavevmode\llap\@Lhlmark} +\newcommand\Rhighlight{\leavevmode\rlap\@Rhlmark} +\newcommand\@Lhlmark{} +\newcommand\@Rhlmark{} + + +% +%% EQUATIONS AND EQUATION REFERENCES +% + +% Reference equations with (n), and remove the second set of +% parantheses from the equation number printed next to the equation, +% which would otherwise show up as ((n)). +% +\renewcommand\theequation{(\arabic{equation})} +\renewcommand\@eqnnum{\normalfont \normalcolor \theequation} + +% Equation references +% +\newcommand\equref{\ref} % within sentence +\newcommand\Equref{Equation~\ref} % at beginning of sentence + + +% +%% CITATIONS AND BIBLIOGRAPHIES +% +\bibliographystyle{ieeepes} + +% Turn the \section*{} which is called by \thebibliography into a +% \section{}, i.e. get the section numbered. +% +\let\old@thebibliography=\thebibliography +\def\thebibliography{% + \let\old@section@=\section + \def\section{\@ifstar\old@section@\old@section@}% + \old@thebibliography + } + + +% +%% BIOGRAPHY +% +% \begin{biography}{NAME}[RAISE EPS IMAGE]{FILENAME OF EPS FILE} +% +% The photograph to submit should be 30mm x 45mm, but this would not +% fit in the space provided in the example, which is about 28mm x 37mm +% (measured). The height has been decreased appropriately with this +% package. +% +\newdimen\@photoho +% +\newenvironment{biography}[1]{% + \par + \vspace{8mm \@plus2mm \@minus1mm} + \footnotesize % should be 8pt, roman + \noindent + \newcommand\@authorname{#1}% + \@placephoto +}{% + \par +} +\newcommand\@placephoto[2][\z@]{% + \def\@photo{#2}\def\no@photo{nophoto}% + \ifx\@photo\no@photo\else + \hangindent 30mm + \hangafter -12 + \ifpsphoto\ifx\@photo\@empty\else + \@photoho=-36.73mm + \advance\@photoho by #1 + \llap{\raisebox{\@photoho}[\z@][\z@]{\parbox[t][38.5mm][t]{30mm}{% + \ifphotofit + \includegraphics[width=28mm,height=38.73mm]{#2}% + \else + \includegraphics[width=28mm]{#2}% + \fi + % area available with cm fonts: 28mm x 38.73mm + }}}% + \fi\fi + \fi + \textbf{\@authorname}\ \ignorespaces + } + + +% +%% BALANCE COLUMNS ON LAST PAGE (MANUALLY) +% +\newcommand\columnbreak{% + \ifvmode\newpage\else\vadjust{\newpage}\fi + } + + +% +%% RE-DEFINE DATE FORMAT +% +\newcommand\@today{\number\year/\number\month/\number\day} +\let\today=\@today +\AtBeginDocument{\let\today=\@today} + + +% +%% SUMMARY, DISCUSSION AND CLOSURE +% +% \summary +% \discussion{PAPER NUMBER}{PAPER TITLE}{AUTHOR NAMES}% +% {DISCUSSER NAME}{AFFILIATION INCL ADDRESS}{SHORT AFFILIATION} +% \closure{AUTHOR NAME} +% +\newcommand\reset@counters{% + \setcounter{figure}{0}\setcounter{table}{0}% + \setcounter{section}{0}% + \setcounter{equation}{0}% + \setcounter{footnote}{0}\setcounter{mpfootnote}{0}% + } +% +\newcommand\summary{% + \clearpage + \reset@counters + \setcounter{page}{1}% + \thispagestyle{plain}\pagestyle{plain}% + \onecolumn + \columnwidth 88mm % warning: brutal trick! + \hsize\columnwidth % " +} +\newcommand\discussion[6]{% + \cleardoublepage + \reset@counters + \setcounter{page}{1}% + \thispagestyle{plain}\pagestyle{plain}% + \onecolumn + \noindent Discussion of #1, ``#2'', by #3.\par + \vspace{\baselineskip}% + \noindent Discussion by #4, #5.\par + \columnwidth 88mm % warning: brutal trick! + \hsize\columnwidth % " + \clearpage + \begin{center} + \Large + \textbf{Discussion} + \end{center} + \textbf{#4}\ (#6)\ \ignorespaces +} +\newcommand\closure[1]{% + \cleardoublepage + \reset@counters + \setcounter{page}{1}% + \thispagestyle{plain}\pagestyle{plain}% + \onecolumn + \columnwidth 88mm % warning: brutal trick! + \hsize\columnwidth % " + \clearpage + \begin{center} + \Large + \textbf{Closure} + \end{center} + \textbf{#1}\ \ignorespaces +} + + +% +%% TABLE STRUTS +% +% \setTBstruts, defining \T, \B +% +% to control vertical spacing in tabular and array +% (taken from "TeX and TUG NEWS", Vol. 2, No. 3, 1993, p. 10) +% +\providecommand\setTBstruts{\def\T{\rule{0pt}{2.6ex}}% + \def\B{\rule[-1.2ex]{0pt}{0pt}}} + + +%% EOF ieeepes.sty +%%---------------------------------------------------------------------- |