summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/seminar/doc/tvz-hax.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/seminar/doc/tvz-hax.sty')
-rw-r--r--macros/latex/contrib/seminar/doc/tvz-hax.sty266
1 files changed, 266 insertions, 0 deletions
diff --git a/macros/latex/contrib/seminar/doc/tvz-hax.sty b/macros/latex/contrib/seminar/doc/tvz-hax.sty
new file mode 100644
index 0000000000..f8a4798fcc
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/tvz-hax.sty
@@ -0,0 +1,266 @@
+%% BEGIN tvz-hax.sty
+%% 93/04/01
+%% Tim Van Zandt Timothy.VAN-ZANDT@insead.edu
+%%
+%% These are some lousy hacks for typesetting the code
+%% and User's Guide in the Seminar and PSTricks packages.
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% PAPER SIZES %%%%%%%%%%%%%%%%%%%%%%
+
+% Default paper size is 8.5in by 11in.
+% Just include the `a4' style option for A4 paper size.
+% For other paper sizes, define \paperwidth and \paperheight
+% before the \documentstyle command.
+
+\@ifundefined{paperwidth}{\def\paperwidth{8.5in}}{}
+\@ifundefined{paperheight}{\def\paperheight{11in}}{}
+\@namedef{ds@a4}{\def\paperwidth{210mm}\def\paperheight{297mm}}
+
+
+%%%%%%%%%%%%%%%%%%%% INPUTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newif\iftwoup
+\@namedef{ds@2up}{\input 2up.tex \twouptrue}
+
+\input article.sty
+\input fancybox.sty % Version 0.93 or later.
+
+\iftwoup
+ \if@twoside
+ \targetlayout{twosided}
+ \fi
+\fi
+
+\if@twoside
+ \def\twosideclearpage{%
+ \clearpage
+ \ifodd\c@page\else
+ \thispagestyle{empty}%
+ \null\leavevmode
+ \clearpage
+ \fi}
+\else
+ \let\twosideclearpage\clearpage
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%% MISC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\arraystretch{1.2}
+
+\hfuzz 1pt
+
+% Just in case I'm using AmS-LaTeX.
+\def\makeatother{\catcode`\@=12\relax}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% SHORT META %%%%%%%%%%%%%%%%%%%%%%%%
+
+% Works in verbatim environments, unless specially designed.
+\begingroup
+ \catcode`\<=\active
+ \gdef\ShortMeta{%
+ \catcode`\<=\active
+ \def<##1>{{\MetaFont ##1\/}}}
+\endgroup
+\def\DeleteShortMeta{\catcode`\<=12\relax}
+\def\MetaFont{\sl} % For meta arguments.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% FILE VERSIONS %%%%%%%%%%%%%%%%%%%%%
+
+% \GetVersion{file} scans first ten lines of <file> for
+% \filedate and \fileversion definitions.
+%
+% \CheckVersion{file} scans <scans> file for \filedate and \fileversion
+% and then compares these witha \FileDate and \FileVersion.
+%
+\def\GetVersion#1{%
+ \immediate\openin1=#1
+ \count@=0
+ \let\fileversion\relax
+ \let\filedate\relax
+ \@testtrue
+ \loop
+ \if@test
+ \advance\count@1
+ \immediate\read1 to \@tempa
+ \@tempa
+ \ifnum\count@=10
+ \@latexerr{Couldn't find fileversion}\@eha
+ \@testfalse
+ \else
+ \ifx\fileversion\relax
+ \@testtrue
+ \else
+ \ifx\filedate\relax
+ \@testtrue
+ \else
+ \@testfalse
+ \fi
+ \fi
+ \fi
+ \repeat}
+
+\def\CheckVersion#1{%
+ \GetVersion{#1}
+ \ifx\FileVersion\fileversion
+ \ifx\FileDate\filedate\else
+ \@latexerr{Doc date (\FileDate) and file date (\filedate)
+ do not match}\@eha
+ \fi
+ \else
+ \@latexerr{Doc version (\FileVersion) and file version (\fileversion)
+ do not match}\@eha
+ \fi}
+
+% This expands the date, as defined in \filedate.
+
+\def\expanddate#1/#2/#3/{%
+ \number#3{}
+ \month=#2
+ \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
+ 19#1}
+\def\thefiledate{\expandafter\expanddate\filedate/}
+\date{\thefiledate}
+
+
+%%%%%%%%%%%%%%%%% LOGOS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\AmS{{\protect\the\textfont\tw@
+ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125em S}}
+
+\def\b@LaTeX{%
+ \begingroup
+ \csname reset@font\endcsname
+ \rm\bf
+ L\kern-.32em
+ \raise.36ex\hbox{%
+ \ifx\@currsize\Huge\LARGE\else
+ \ifx\@currsize\huge\Large\else
+ \ifx\@currsize\LARGE\large\else
+ \ifx\@currsize\Large\normalsize\else
+ \ifx\@currsize\large\small\else
+ \ifx\@currsize\normalsize\footnotesize\else
+ \ifx\@currsize\small\scriptsize\else
+ \ifx\@currsize\footnotesize\scriptscriptsize
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \bf A}%
+ \kern-.15em
+ T\kern-.1667em
+ \lower.7ex\hbox{E}\kern-.125em
+ X%
+ \endgroup}
+\def\bLaTeX{\b@LaTeX}
+
+
+%%%%%%%%%%%%%%% PAGE STYLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% The `docheadings' page style uses footers rather than headers.
+
+\def\ps@docheadings{%
+ \let\@mkboth\markboth
+ \def\@oddhead{}%
+ \let\@evenhead\@oddhead%
+ \def\@oddfoot{%
+ \small\sf
+ \rightmark
+ \hfil
+ \thepage}%
+ \def\@evenfoot{%
+ \small\sf
+ \thepage
+ \hfil
+ \theheadertitle}%
+ \def\sectionmark##1{\markright {##1}}}%
+\pagestyle{docheadings}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%% Table of Contents %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Tighten up spacing in TOC:
+
+\newskip\tempskip
+\def\TOCshrink{.5}
+\def\TableOfContents{%
+ \begin{quote}
+ \begin{center} \Large\bf Contents \end{center}
+ \def\numberline##1{\hbox to 0pt{\hss##1\hskip 1em}}%
+ \let\oldaddvspace\addvspace
+ \def\addvspace##1{%
+ \tempskip##1\relax
+ \oldaddvspace{\TOCshrink\tempskip}}
+ \@starttoc{toc}%
+ \end{quote}}
+\def\tableofcontents{%
+ \clearpage
+ \markright{Table of contents}%
+ \TableOfContents
+ \clearpage}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%% code and examples %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% `Ex' is an environment for putting samples of code.
+% It is a variant of
+% \begin{quote}\tt ... \end{quote}.
+% It is NOT verbatim.
+
+\def\NotNested{%
+ \def\begin##1{%
+ \@latexerr{Bad nesting of environments.
+ Perhaps missing \end{\@currenvir}}\@eha
+ \end{\@currenvir}%
+ \begin{##1}}}
+
+\def\Ex{%
+ \NotNested
+ \list{}{}\item[]%
+ \if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin
+ \rightskip\z@
+ \parindent\z@
+ \parskip\z@
+ \parfillskip\@flushglue
+ \hfuzz 1pt
+ \@@par
+ \global\@inlabelfalse}
+\def\endEx{\endlist}
+
+% Various things to make it easier to write code and examples:
+
+\begingroup
+ \catcode`\{=12 \catcode`\}=12
+ \catcode`\(=1 \catcode`\)=2
+ \catcode`\+=0 \catcode`\\=12
+ +gdef+|(\) % \| = character \
+ +gdef+{({) % \{ = character {
+ +gdef+}(}) % \} = character }
++endgroup
+\def\Backslash{\protect\|}
+
+% Define some functional font commands:
+
+\def\MainFont{\tt} % For macro definitions.
+\def\UsageFont{\tt} % For in-line macro names.
+\def\InlineFont{\tt} % For other in-line snipets of code.
+\def\DisplayFont{\tt} % For displayed code.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput
+%% END tvz-hax.sty