diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/cjw/cjwmacro.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/cjw/cjwmacro.sty | 463 |
1 files changed, 463 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/cjw/cjwmacro.sty b/Master/texmf-dist/tex/latex/cjw/cjwmacro.sty new file mode 100644 index 00000000000..4775697975f --- /dev/null +++ b/Master/texmf-dist/tex/latex/cjw/cjwmacro.sty @@ -0,0 +1,463 @@ +%% +%% This is file `cjwmacro.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cjw-latex.dtx (with options: `general') +%% +%% Copyright (C) 1997 by: Colin J. Wynne <cwynne@mts.jhu.edu> +%% +%% This file is part of cjw-latex, a collection of package files for +%% LaTeX2e, written by Colin J. Wynne. It may be freely distributed in +%% any form---electronic, physical, or otherwise---so long as the +%% distributor provides this file in its entirety (including this +%% copyright announcement) and charges no fee (except for reasonable +%% recompense for the duplication process). Fair 'nough? +%% +%% I would also prefer that the entire source file `cjw-latex.dtx', +%% together with `cjw-latex.ins', be propagated instead of any one +%% subfile. +%% +%% Please feel free to improve on or alter any code herein as suits your +%% needs, and by all means notify me of any suggestions, improvements, or +%% requests. +%% +%% This file is beer-ware. If you use it and like it, then you should +%% buy me a beer if you ever meet me. :-) +%% +%% RCS: $Id: cjw-latex.ins,v 1.3 1998/04/10 14:30:18 cwynne Exp $ +%% +\def\RCSinfo{$Id: cjw-latex.dtx,v 0.13 1998/09/01 15:54:20 cwynne Exp $} + +\def\RCSsplit $#1: #2,v #3 #4 #5 #6 #7${ + \gdef\filename {#2} + \gdef\fileversion{#3} + \gdef\filedate {#4} + \gdef\filetime {#5} + \gdef\fileauthor {#6} + \gdef\filelocker {#7}} + +\expandafter\RCSsplit\RCSinfo +%% +%% \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 \~} +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cjwmacro} + [\filedate\space v\fileversion\space + Personal macros for LaTeX2e---CJW] +\newif\if@verbext \@verbextfalse +\DeclareOption{verbext}{\@verbexttrue} +\DeclareOption{psfig}{% + \PackageWarning{cjwmacro}% + {Obsolete option \CurrentOption. Use package `epsfig' instead.}} +\DeclareOption{pstricks}{% + \InputIfFileExists{pstricks.sty}{% + \InputIfFileExists{pst-node.tex}{}{% + \PackageError{cjwmacro}{File `pst-node.sty' not found.}{}}}% + {\PackageError{cjwmacro}{File `pstricks.sty' not found.}{}}} + +\DeclareOption{psplot}{\InputIfFileExists{pst-plot.tex}{}{% + \PackageError{cjwmacro}{File `pst-plot.tex' not found.}{}}} +\DeclareOption{draft}{% + \def\ssbreakbar{\hbox to 2in{\hrulefill}}} +\DeclareOption{final}{% + \ExecuteOptions{pstricks} + \def\ssbreakbar{% + \psset{linewidth=0.4pt,unit=1in}% + \pspicture(-2.5,-0.15)(2.5,0.15)% + \qdisk(0,0){0.04}% + \qdisk(0.33,0){0.02}% + \qdisk(-0.33,0){0.02}% + \pspolygon*(0.33,-0.02)(0.33,0.02)(1.75,0)% + \pspolygon*(-0.33,-0.02)(-0.33,0.02)(-1.75,0)% + \endpspicture}} +\DeclareOption*{% + \PackageWarning{cjwmacro}{Unknown option `\CurrentOption'}} +\ExecuteOptions{draft} +\ProcessOptions +\newcommand{\alias} [2]{\@ifdefinable #1{\let #1 #2}} +\alias\realias\let +\newcommand{\providealias}[2]{\@ifundefined #1{\let #1 #2}} +\RequirePackage{amstext} +\RequirePackage{xspace} +\providecommand{\intertext}[1]{\noalign{% + \penalty\postdisplaypenalty\addvspace{ 0.5\belowdisplayskip} + \vbox{\normalbaselines\noindent#1}% + \penalty\predisplaypenalty\addvspace{0.5\abovedisplayskip}}} +\alias\rem\intertext +\providecommand{\pagenofont} {\normalfont} +\providecommand{\declarefont} {\normalfont\bfseries\mathversion{bold}} +\providecommand{\altdeclarefont}{\normalfont\itshape} +\providecommand{\captionfont} {\normalfont\itshape} +\providecommand{\examplefont} {\normalfont} +\providecommand{\altexamplefont}{\normalfont\itshape} +\providecommand{\labelfont} {\normalfont\bfseries\mathversion{bold}} +\providecommand{\timelinefont} {\normalfont} +\providecommand{\titlefont} {\normalfont\bfseries\Large\mathversion{bold}} +\providecommand{\verbatimfont} {\normalfont\ttfamily} +\newcommand{\swapdef}[2]{{% + \let \@tempa #1\relax + \global\let #1 #2\relax + \global\let #2 \@tempa}} +\newcommand{\swapdim}[2]{{% + \@tempdima #1\relax + \global #1 #2\relax + \global #2 \@tempdima}} +\newcommand{\expandthree}[2]{% + \expandafter\expandafter\expandafter #1\expandafter #2} +\newcommand{\nth}[1]{{% + \@tempcnta = #1\relax + \ifnum \@tempcnta < 0\relax % Make sure our number is + \@tempcnta = -\@tempcnta % non-negative. + \fi + \ifnum \@tempcnta < 14\relax % Deal first with the + \ifnum \@tempcnta > 10\relax % exceptions for + \def\@tempa{th} % 11, 12, and 13. + \fi + \else + \loop \ifnum\@tempcnta > 9\relax % Loop until the recursive + \@tempcntb = \@tempcnta % remainder (mod 10) is + \divide \@tempcntb by 10\relax % a single digit in order + \multiply\@tempcntb by 10\relax % to successfully satisfy + \advance \@tempcnta by -\@tempcntb% the ordinality test. + \repeat + \def\@tempa{\ifcase\@tempcnta % Figure the proper label: + th% % 0th + \or st% % 1st + \or nd% % 2nd + \or rd% % 3rd + \else th% % nth + \fi} + \fi + #1\ensuremath{^{\text{\@tempa}}}}} % Superscript the label in + % math mode. +\alias\sst\scriptscriptstyle +\newcommand{\ssp}[1]{^{\sst#1}} +\newcommand{\ssb}[1]{_{\sst#1}} +\newcommand{\smiley}[1][\@smiley]{% + \edef\@sf{\spacefactor=\the\spacefactor}% + \unskip\spacefactor=1000\relax\space #1\@sf\xspace} +\newcommand{\@smiley}{% + {\ttfamily\raise 0.078em\hbox{:}\kern-0.1em{-}\kern-0.1em{)}}} +\newcommand{\emote}[1]{% + \smiley[\ensuremath{\langle}\emph{#1}\ensuremath{\rangle}]} +\newenvironment{pledge}% + {\ifx\@empty\@date + \PackageWarning{cjwmacro}{Date is not set.} + \fi + \parskip=2pt \parindent=0pt\relax + \null\vfill\begin{flushright} + \itshape\small} + {\\[5ex]\normalfont\footnotesize + \makebox[2in]{\hrulefill}\quad\@date\\ + \makebox[2in]{Colin J.~Wynne}\quad{\hphantom{\@date}}\\ + \end{flushright}} +\newcommand{\wnlpledge}[1][paper]{% + \ifx\@empty\@date + \PackageWarning{cjwmacro}{Date is not set.} + \fi + \parskip=2pt \parindent=0pt\relax + \null\vfill\begin{flushright} + \itshape\small + On my honour, I have neither given nor received\\ + any unacknowledged aid on this #1.\\[5ex] + \normalfont\footnotesize + \makebox[2in]{\hrulefill}\quad\@date\\ + \makebox[2in]{Colin J.~Wynne,~'94}\quad{\hphantom{\@date}}\\ + \end{flushright}} +\newcommand{\ssbreak}{\bigskip + \centerline{\ssbreakbar}\bigbreak} +\providecommand{\ssbreakbar}{} +\def\mathbox #1{\hbox{$\mathpalette\@mathbox{#1}$}} +\def\Mathbox #1#2{\hbox{#1$\mathpalette\@mathbox{#2}$}} +\def\@mathbox#1#2{#1#2} +\newcommand{\smush}{\relax + \ifmmode + \def\next{\mathpalette\math@smush} + \else + \let\next\make@smush + \fi \next} +\newcommand{\make@smush}[1]{\setbox0=\hbox{#1}\fin@smush} +\newcommand{\math@smush}[2]{\setbox0=\hbox{$\m@th#1{#2}$}\fin@smush} +\newcommand{\fin@smush}{\wd0=0pt \box0 } +\newcommand{\bigmathstrut} {\vphantom{\big()}} +\newcommand{\biggmathstrut}{\vphantom{\bigg()}} +\newcommand{\Bigmathstrut} {\vphantom{\Big()}} +\newcommand{\Biggmathstrut}{\vphantom{\Bigg()}} +\newcommand{\ie} {\emph{i.e.}\xspace} +\newcommand{\eg} {\emph{e.g.}\xspace} +\newcommand{\heisst}{d.h\null.\xspace} % \dh is taken. +\newcommand{\initials}[2]{% + \break@init #2 + \@ifdefinable #1{% + \global\edef#1{% + \noexpand\hbox{\@tempa.\noexpand\,\@tempb}% + \noexpand\@ifnextchar.{\noexpand\@}{.\noexpand\xspace}}}} +\def\break@init #1.#2.{% + \def\@tempa{#1}\def\@tempb{#2}} +\initials{\UN}{U.N.} +\initials{\US}{U.S.} +\initials{\AI}{A.I.} +\providecommand{\theday}{\number\day\relax} +\providecommand{\themonth}{% + \ifcase\month\or January\or February\or% + March\or April\or May\or June\or July\or August\or% + September\or October\or November\or December\fi} +\providecommand{\themonat}{% + \ifcase\month\or Januar\or Februar\or% + M\"arz\or April\or Mai\or Juni\or Juli\or August\or% + September\or Oktober\or November\or Dezember\fi} +\providecommand{\theyear}{\number\year\relax} +\providecommand{\today}{} +\renewcommand{\today}{\theday~\themonth, \theyear\xspace} +\providecommand{\heute}{} +\renewcommand{\heute}{den~\theday.\ \themonat\ \theyear\xspace} + \alias\gdate\heute +\renewcommand{\ps@plain}{% + \let\@mkboth \@gobbletwo + \let\@oddhead \@empty + \let\@evenhead\@empty + \def\@oddfoot{\pagenofont\hfil\thepage\hfil} + \let\@evenfoot\@oddfoot} +\newcommand{\ps@topright}{% + \let\@mkboth \@gobbletwo + \def\@oddhead{\pagenofont\hfil\thepage} + \let\@evenhead\@oddhead + \let\@oddfoot \@empty + \let\@evenfoot\@empty} +\newlength{\timelineskip} +\setlength{\timelineskip}{1.75in} +\newcommand{\timeline}[2][l]{% + \noindent\hangindent=\timelineskip + \makebox[\timelineskip][#1]{\timelinefont{#2}}\ignorespaces} +\let\endtimeline\relax +\@ifundefined{c@section} + {\newcounter{declare}} + {\newcounter{declare}[section] + \renewcommand{\thedeclare}{\thesection.\arabic{declare}}} +\newlength{\declareindent} + \setlength{\declareindent}{0pt} +\newcommand{\@declare} [1]{{\declarefont#1:}\quad} +\newcommand{\@altdeclare}[1]{{\altdeclarefont#1:}\quad} +\newenvironment{declaration*}[1]% + {\medbreak\noindent\ignorespaces + \@declare{#1}\ignorespaces}% + {\kern0pt\nobreak\smallskip} +\newenvironment{altdeclaration*}[1]% + {\medbreak\noindent\ignorespaces + \@altdeclare{#1}\ignorespaces}% + {\kern0pt\nobreak\smallskip} +\newenvironment{declaration}[1]% + {\medbreak\refstepcounter{declare} + \noindent\ignorespaces + \ifnum\declareindent = 0\relax% + \@declare{\thedeclare\quad #1} + \else + \makebox[\declareindent]{\@declare{\thedeclare\hss #1}} + \fi\ignorespaces} + {\kern0pt\nobreak\smallskip} +\newenvironment{altdeclaration}[1]% + {\medbreak\noindent\ignorespaces + \refstepcounter{declare} + \ifnum\declareindent = 0\relax + \@altdeclare{\thedeclare\quad #1} + \else + \makebox[\declareindent]{\@altdeclare{\thedeclare\hss #1}} + \fi\ignorespaces} + {\kern0pt\nobreak\smallskip} +\def\declare #1#2\par{% + \begin{declaration*}{#1}#2\end{declaration*}\par} +\def\altdeclare #1#2\par{% + \begin{altdeclaration*}{#1}#2\end{altdeclaration*}\par} +\def\ndeclare #1#2\par{% + \begin{declaration}{#1}#2\end{declaration}\par} +\def\altndeclare#1#2\par{% + \begin{altdeclaration}{#1}#2\end{altdeclaration}\par} +\providecommand{\corollary} {\declare{Corollary}} +\providecommand{\definition} {\declare{Definition}} +\providecommand{\lemma} {\declare{Lemma}} +\providecommand{\proposition} {\declare{Proposition}} +\providecommand{\theorem} {\declare{Theorem}} +\providecommand{\note} {\altdeclare{Note}} + +\providecommand{\ncorollary} {\ndeclare{Corollary}} +\providecommand{\ndefinition} {\ndeclare{Definition}} +\providecommand{\nlemma} {\ndeclare{Lemma}} +\providecommand{\nproposition}{\ndeclare{Proposition}} +\providecommand{\ntheorem} {\ndeclare{Theorem}} +\providecommand{\nnote} {\altndeclare{Note}} +\providecommand{\behaupt} {\declare{Behauptung}} +\providecommand{\nbehaupt} {\ndeclare{Behauptung}} +\newcommand{\allndeclares}{% + \let\declare \ndeclare + \let\altdeclare \altndeclare} +\newenvironment{proof}[1][Proof]% + {\smallbreak\noindent{\altdeclarefont#1:}% + \quad\ignorespaces}% + {\qed} +\newenvironment{beweis}[1][Beweis]% + {\smallbreak\noindent{\altdeclarefont#1:}% + \quad\ignorespaces}% + {\qed} +\providecommand{\qed}{} + \renewcommand{\qed}{% + {\unskip\nobreak\hfil\penalty 50% + \hskip 2em\hbox{}\nobreak\hfil\qedsymbol% + \parfillskip=0pt \finalhyphendemerits=0 \par}} +\providecommand{\qedsymbol}{} + \renewcommand{\qedsymbol}{\lower 0.35ex\hbox{$\diamondsuit$}} + \newcommand{\qedbox}{\vrule height4pt width3pt depth2pt} +\newcommand{\Case}{\@ifstar{\@starCase}{\@Case}} +\newcommand{\@starCase}[1]{\@@Case{#1}} +\newcommand{\@Case}[1]{\@@Case{(#1)}} +\newcommand{\@@Case}[1]{% + \noindent{\declarefont#1}\quad\ignorespaces} +\alias\Fall\Case +\newcommand{\contra}{\ensuremath{\Rightarrow\Leftarrow}} +\newenvironment{example*}% + {\@nameuse{declaration*}{Example}\examplefont} + {\medbreak} +\newenvironment{altexample*}% + {\@nameuse{declaration*}{Example}\examplefont} + {\medbreak} +\newenvironment{example}% + {\declaration{Example}\examplefont} + {\medbreak} +\newenvironment{altexample}% + {\declaration{Example}\examplefont} + {\medbreak} +\newcounter{problem} + \setcounter{problem}{0} +\renewcommand{\theproblem}{\arabic{problem}} +\renewcommand{\p@problem}{} +\DeclareRobustCommand{\Page}{% + \@ifstar{\@Page{}}{\@Page{\#}}} +\def\@Page#1{% + \@ifnextchar [{\@@Page{#1}}{\@@Page{#1}[]}} +\def\@@Page#1[#2]#3#4{% + \def\@tempa{#2}% + \ifx\@empty\@tempa% + \let\@tempb\@tempa% + \else% + \edef\@tempb{\@tempa,~}% + \fi% + (\@tempb p.\,#3, #1{#4})} +\newenvironment{statement}[1][\null]% + {\def\@tempa{#1}\def\@tempb{\null}% + \ifx\@tempa\@tempb% + \def\@tempc{\null}% + \else% + \def\@tempc{\altdeclarefont\@tempa\quad}% + \fi% + \declarefont{\@tempc}\ignorespaces} + {\removelastskip\nopagebreak\smallskip} +\newenvironment{problem}% + {\setcounter{equation}{0}% + \gdef\theequation{\theproblem.\arabic{equation}}% + \removelastskip\medbreak% + \refstepcounter{problem}% + \noindent\theoutlabel{\theproblem.}% + \statement} + {\endstatement} +\newenvironment{problem*}% + {\removelastskip\medbreak% + \noindent\statement} + {\endstatement} +\alias \aufgabe \problem +\realias\endaufgabe\endproblem +\newcounter{teil} [problem] +\newcounter{steil}[teil] +\renewcommand{\theteil} {(\alph{teil})} + \renewcommand{\p@teil} {\theproblem} +\renewcommand{\thesteil} {(\roman{steil})} + \renewcommand{\p@steil}{\p@teil\theteil} +\newenvironment{teil}[1][2]% + {\@tempcnta=#1\advance\@tempcnta by -1\relax + \ifnum\@tempcnta < 1\relax + \leftskip=0pt\relax + \else + \leftskip=\@tempcnta\outlindent + \fi + \refstepcounter{teil} + \addvspace{\medskipamount}% + \noindent\theoutlabel{\theteil}% + \ignorespaces} + {\par\smallbreak} +\newenvironment{steil}[1][3]% + {\@tempcnta=#1\advance\@tempcnta by -1\relax + \ifnum\@tempcnta < 1\relax + \leftskip=0pt\relax + \else + \leftskip=\@tempcnta\outlindent + \fi + \refstepcounter{steil} + \addvspace{\medskipamount}% + \noindent\theoutlabel{\thesteil}% + \ignorespaces} + {\par\smallbreak} +\realias\part \teil +\realias\endpart \endteil +\alias \ppart \steil +\realias\endppart\endsteil +\long\def\@makefntext#1{% + \parindent 1em\noindent\hangindent=\parindent% + \hb@xt@ 1em{\hss \llap{\@makefnmark} }#1} +\newlength{\textdisplayindent} +\newenvironment{display}[2][] + {\vadjust{\penalty\predisplaypenalty} + \@newline[\abovedisplayskip]% + \begingroup% + #1% + \begin{tabular}{@{\null\hspace{\textdisplayindent}\null}#2}} + {\end{tabular}\endgroup + \vadjust{\penalty\postdisplaypenalty} + \@newline[\belowdisplayskip]\ignorespaces} +\if@verbext +\newcounter{vfline} +\renewcommand{\thevfline}{\arabic{vfline}} +\providecommand{\uncatcodespecials}{% + \def\do##1{\catcode`##1=12 }\dospecials} +\providecommand{\verbfile}[2][1]{% + \par\begingroup\@vf@lines{#1}\input{#2}\relax\endgroup} +\providecommand{\verbfilenolines}[1]{% + \par\begingroup\@vf@nolines\input{#1}\relax\endgroup} +\newcommand{\@vf@lines}[1]{% + \verbatimfont + \setcounter{vfline}{#1} + \addtocounter{vfline}{-1} + \setlength{\parindent}{0pt} + \setlength{\parskip}{0pt} + \def\par{\leavevmode\endgraf} + \obeylines \uncatcodespecials \obeyspaces + \everypar{\null\stepcounter{vfline}% + \llap{\scriptsize\thevfline\quad}\null}} +\newcommand{\@vf@nolines}{% + \verbatimfont + \setlength{\parindent}{0pt} + \setlength{\parskip}{0pt} + \def\par{\leavevmode\endgraf} + \obeylines \uncatcodespecials \obeyspaces + \everypar{\null}} +\fi +\AtBeginDocument{% + \setlength{\parindent} {20pt} + \setlength{\parskip} { 2pt plus 1pt} + \setlength{\textdisplayindent}{\parindent}} +\endinput +%% +%% End of file `cjwmacro.sty'. |