new style file
authorlcp
Thu, 11 Nov 1993 12:44:43 +0100
changeset 110a931f1b45151
parent 109 0872fd327440
child 111 1b3cddf41b2d
new style file
doc-src/iman.sty
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc-src/iman.sty	Thu Nov 11 12:44:43 1993 +0100
     1.3 @@ -0,0 +1,159 @@
     1.4 +\typeout{Isabelle Manual Page Layout}
     1.5 +
     1.6 +% iman.sty 
     1.7 +%
     1.8 +\typeout{Document Style iman. Released 15 September 1992}
     1.9 +
    1.10 +\hyphenation{Isa-belle}
    1.11 +
    1.12 +%%%INDEXING  use sedindex to process the index
    1.13 +%index, putting page numbers of definitions in boldface
    1.14 +\newcommand\bold[1]{{\bf#1}}
    1.15 +\newcommand\indexbold[1]{\index{#1|bold}}
    1.16 +
    1.17 +%for cross-references: 2nd argument (page number) is ignored
    1.18 +\newcommand\see[2]{{\it see \/}{#1}}
    1.19 +\newcommand\seealso[2]{{\it see also \/}{#1}}
    1.20 +
    1.21 +%set argument in \tt font; at the sime time, index using * prefix
    1.22 +\newcommand\ttindex[1]{{\tt#1}\index{*#1}\@}
    1.23 +\newcommand\ttindexbold[1]{{\tt#1}\index{*#1|bold}\@}
    1.24 +
    1.25 +%set argument in \bf font and index in ROMAN font (for definitions in text!)
    1.26 +\newcommand\bfindex[1]{{\bf#1}\index{#1|bold}\@}
    1.27 +
    1.28 +
    1.29 +%%Euro-style date: 20 September 1955
    1.30 +\def\today{\number\day\space\ifcase\month\or
    1.31 +January\or February\or March\or April\or May\or June\or
    1.32 +July\or August\or September\or October\or November\or December\fi
    1.33 +\space\number\year}
    1.34 +
    1.35 +%%% underscores as ordinary characters, not for subscripting
    1.36 +%%  use @ or \sb for subscripting; use \at for @
    1.37 +%%  only works in \tt font
    1.38 +%%  must not make _ an active char; would make \ttindex fail!
    1.39 +\gdef\underscoreoff{\catcode`\@=8\catcode`\_=\other}
    1.40 +\gdef\underscoreon{\catcode`\_=8\makeatother}
    1.41 +\chardef\other=12
    1.42 +\chardef\at=`\@
    1.43 +
    1.44 +% alternative underscore
    1.45 +\def\_{\leavevmode\kern.06em\vbox{\hrule height.2ex width.3em}\hskip0.1em}
    1.46 +
    1.47 +%%% \dquotes permits usage of "..." for \hbox{...} -- also taken from under.sty
    1.48 +{\catcode`\"=\active
    1.49 +\gdef\dquotes{\catcode`\"=\active  \let"=\@mathText}%
    1.50 +\gdef\@mathText#1"{\hbox{\mathTextFont #1\/}}}
    1.51 +\def\mathTextFont{\frenchspacing\tt}
    1.52 +
    1.53 +%%%% meta-logical connectives
    1.54 +
    1.55 +\let\Forall=\bigwedge
    1.56 +\let\Imp=\Longrightarrow
    1.57 +\let\To=\Rightarrow
    1.58 +\newcommand\Var[1]{{?\!#1}}
    1.59 +
    1.60 +%%%% ``WARNING'' environment
    1.61 +\def\dbend{\vtop to 0pt{\vss\hbox{\Huge\bf!}\vss}}
    1.62 +\newenvironment{warn}{\medskip\medbreak\begingroup \clubpenalty=10000 
    1.63 +  	 \baselineskip=0.9\baselineskip
    1.64 +	 \noindent \hangindent\parindent \hangafter=-2 
    1.65 +  	 \hbox to0pt{\hskip-\hangindent\dbend\hfill}\ignorespaces}%
    1.66 +	{\par\endgroup\medbreak}
    1.67 +
    1.68 +
    1.69 +%%%% Standard logical symbols
    1.70 +\let\turn=\vdash
    1.71 +\let\conj=\wedge
    1.72 +\let\disj=\vee
    1.73 +\let\imp=\rightarrow
    1.74 +\let\bimp=\leftrightarrow
    1.75 +\newcommand\all[1]{\forall#1.}	%quantification
    1.76 +\newcommand\ex[1]{\exists#1.}
    1.77 +\newcommand{\pair}[1]{\langle#1\rangle}
    1.78 +
    1.79 +\newenvironment{example}{\begin{Example}\rm}{\end{Example}}
    1.80 +\newtheorem{Example}{Example}[chapter]
    1.81 +
    1.82 +\newcommand\lbrakk{\mathopen{[\![}}
    1.83 +\newcommand\rbrakk{\mathclose{]\!]}}
    1.84 +\newcommand\List[1]{\lbrakk#1\rbrakk}  %was \obj
    1.85 +\newcommand\vpile[1]{\begin{array}{c}#1\end{array}}
    1.86 +
    1.87 +\let\int=\cap
    1.88 +\let\un=\cup
    1.89 +\let\inter=\bigcap
    1.90 +\let\union=\bigcup
    1.91 +
    1.92 +\newcommand{\rew}{\mathop{\longrightarrow}}
    1.93 +\newcommand{\rewer}{\mathop{\longleftrightarrow}}
    1.94 +
    1.95 +\def\ML{{\sc ml}}
    1.96 +\def\OBJ{{\sc obj}}
    1.97 +
    1.98 +\def\LCF{{\tt LCF}\@}
    1.99 +\def\FOL{{\tt FOL}\@}
   1.100 +\def\HOL{{\tt HOL}\@}
   1.101 +\def\LK{{\tt LK}\@}
   1.102 +\def\ZF{{\tt ZF}\@}
   1.103 +\def\CTT{{\tt CTT}\@}
   1.104 +\def\Cube{{\tt Cube}}
   1.105 +\def\Modal{{\tt Modal}}
   1.106 +
   1.107 +%macros to change the treatment of symbols
   1.108 +\def\relsemicolon{\mathcode`\;="303B}   %treat ; like a relation
   1.109 +\def\binperiod{\mathcode`\.="213A}   %treat . like a binary operator
   1.110 +\def\binvert{\mathcode`\|="226A}     %treat | like a binary operator
   1.111 +
   1.112 +%redefinition of \sloppy and \fussy to use \emergencystretch
   1.113 +\def\sloppy{\tolerance2000 \hfuzz.5pt \vfuzz.5pt \emergencystretch=15pt}
   1.114 +\def\fussy{\tolerance200 \hfuzz.1pt \vfuzz.1pt \emergencystretch=0pt}
   1.115 +
   1.116 +\chardef\ttilde=`\~  	% A tilde for \tt font
   1.117 +\chardef\ttback=`\\  	% A backslash for \tt font
   1.118 +\chardef\ttlbrace=`\{ 	% A left brace for \tt font
   1.119 +\chardef\ttrbrace=`\} 	% A right brace for \tt font
   1.120 +
   1.121 +\newfont{\sltt}{cmsltt10}     %% for output from terminal sessions
   1.122 +\newcommand\out{\ \sltt}
   1.123 +
   1.124 +%Indented, boxed alltt environment; uses \small\tt font
   1.125 +%\leftmargini is LaTeX's first-level indentation for items (2.5em)
   1.126 +%@endparenv is LaTeX's trick for preventing indentation of next paragraph
   1.127 +\newenvironment{ttbox}{\par\nobreak\vskip-2pt
   1.128 +	   \vbox\bgroup \small\begin{alltt} \leftskip\leftmargini}%
   1.129 +	{\end{alltt}\egroup\vskip-7pt\@endparenv}
   1.130 +\newcommand\ttbreak{\end{ttbox}\vskip-10pt\begin{ttbox}}
   1.131 +
   1.132 +
   1.133 +%%%Put first chapter on odd page, with arabic numbering; like \cleardoublepage
   1.134 +\newcommand\clearfirst{\clearpage\ifodd\c@page\else
   1.135 +    \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi
   1.136 +    \pagenumbering{arabic}}
   1.137 +
   1.138 +%%%Ruled chapter headings 
   1.139 +\def\@rulehead#1{\hrule height1pt \vskip 14pt \Huge \bf 
   1.140 +   #1 \vskip 14pt\hrule height1pt}
   1.141 +\def\@makechapterhead#1{ { \parindent 0pt 
   1.142 + \ifnum\c@secnumdepth >\m@ne \raggedleft\large\bf\@chapapp{} \thechapter \par 
   1.143 + \vskip 20pt \fi \raggedright \@rulehead{#1} \par \nobreak \vskip 40pt } }
   1.144 +
   1.145 +\def\@makeschapterhead#1{ { \parindent 0pt \raggedright 
   1.146 + \@rulehead{#1} \par \nobreak \vskip 40pt } }
   1.147 +
   1.148 +%
   1.149 +% MATHCODES
   1.150 +%
   1.151 +% The mathcodes for the letters A, ..., Z, a, ..., z are changed to
   1.152 +% generate text italic font rather than math italic by default. This makes
   1.153 +% multi-letter identifiers look better. The mathcode for character c
   1.154 +% is set to "7000 (variable family) + "400 (text italic) + c.
   1.155 +% See the TeXBook, page 154.
   1.156 +
   1.157 +\def\@setmcodes#1#2#3{{\count0=#1 \count1=#3
   1.158 +	\loop \global\mathcode\count0=\count1 \ifnum \count0<#2
   1.159 +	\advance\count0 by1 \advance\count1 by1 \repeat}}
   1.160 +
   1.161 +\@setmcodes{`A}{`Z}{"7441}
   1.162 +\@setmcodes{`a}{`z}{"7461}