summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cjw/cjwmacro.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:53:06 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:53:06 +0000
commit1f8578b9d04091cdb62c12a9b2d9f57b268ab318 (patch)
treef90919f89dae86687c0c98f117fe03b4b994b776 /Master/texmf-dist/tex/latex/cjw/cjwmacro.sty
parentd6b13fbc6d8704c91d60823a8ba0860834a37b2c (diff)
cjw
git-svn-id: svn://tug.org/texlive/trunk@761 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/cjw/cjwmacro.sty')
-rw-r--r--Master/texmf-dist/tex/latex/cjw/cjwmacro.sty463
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'.