| 8890 |      1 | %%
 | 
| 9845 |      2 | %% Author: Markus Wenzel, TU Muenchen
 | 
|  |      3 | %% License: GPL (GNU GENERAL PUBLIC LICENSE)
 | 
| 8890 |      4 | %%
 | 
|  |      5 | %% macros for Isabelle generated LaTeX output
 | 
|  |      6 | %%
 | 
|  |      7 | 
 | 
| 9921 |      8 | %%% Simple document preparation (based on theory token language and symbols)
 | 
| 8890 |      9 | 
 | 
|  |     10 | % isabelle environments
 | 
|  |     11 | 
 | 
| 9921 |     12 | \newcommand{\isabellecontext}{UNKNOWN}
 | 
|  |     13 | 
 | 
| 9665 |     14 | \newcommand{\isastyle}{\small\tt\slshape}
 | 
| 9672 |     15 | \newcommand{\isastyleminor}{\small\tt\slshape}
 | 
| 10223 |     16 | \newcommand{\isastylescript}{\footnotesize\tt\slshape}
 | 
| 9665 |     17 | \newcommand{\isastyletext}{\normalsize\rm}
 | 
|  |     18 | \newcommand{\isastyletxt}{\rm}
 | 
|  |     19 | \newcommand{\isastylecmt}{\rm}
 | 
| 8890 |     20 | 
 | 
| 10223 |     21 | %symbol markup -- \emph achieves decent spacing via italic corrections
 | 
|  |     22 | \newcommand{\isamath}[1]{\emph{$#1$}}
 | 
|  |     23 | \newcommand{\isatext}[1]{\emph{#1}}
 | 
|  |     24 | \newcommand{\isascriptstyle}{\def\isamath##1{##1}\def\isatext##1{\mbox{\isastylescript##1}}}
 | 
| 10267 |     25 | \newcommand{\isactrlsub}[1]{\emph{\isascriptstyle${}\sb{#1}$}}
 | 
|  |     26 | \newcommand{\isactrlsup}[1]{\emph{\isascriptstyle${}\sp{#1}$}}
 | 
| 11964 |     27 | \newcommand{\isactrlbold}[1]{{\bfseries\upshape\boldmath#1}}
 | 
| 10223 |     28 | 
 | 
| 8890 |     29 | \newdimen\isa@parindent\newdimen\isa@parskip
 | 
| 9665 |     30 | 
 | 
| 9767 |     31 | \newenvironment{isabellebody}{%
 | 
| 11964 |     32 | \isamarkuptrue\par%
 | 
| 9767 |     33 | \isa@parindent\parindent\parindent0pt%
 | 
| 8890 |     34 | \isa@parskip\parskip\parskip0pt%
 | 
| 10510 |     35 | \isastyle}{\par}
 | 
| 9767 |     36 | 
 | 
|  |     37 | \newenvironment{isabelle}
 | 
| 10424 |     38 | {\begin{trivlist}\begin{isabellebody}\item\relax}
 | 
|  |     39 | {\end{isabellebody}\end{trivlist}}
 | 
| 8890 |     40 | 
 | 
| 9672 |     41 | \newcommand{\isa}[1]{\emph{\isastyleminor #1}}
 | 
| 8890 |     42 | 
 | 
| 10950 |     43 | \newcommand{\isaindent}[1]{\hphantom{#1}}
 | 
| 8890 |     44 | \newcommand{\isanewline}{\mbox{}\\\mbox{}}
 | 
| 9672 |     45 | \newcommand{\isadigit}[1]{#1}
 | 
| 8890 |     46 | 
 | 
| 9672 |     47 | \chardef\isacharbang=`\!
 | 
|  |     48 | \chardef\isachardoublequote=`\"
 | 
| 9665 |     49 | \chardef\isacharhash=`\#
 | 
|  |     50 | \chardef\isachardollar=`\$
 | 
|  |     51 | \chardef\isacharpercent=`\%
 | 
|  |     52 | \chardef\isacharampersand=`\&
 | 
|  |     53 | \chardef\isacharprime=`\'
 | 
|  |     54 | \chardef\isacharparenleft=`\(
 | 
|  |     55 | \chardef\isacharparenright=`\)
 | 
|  |     56 | \chardef\isacharasterisk=`\*
 | 
| 9672 |     57 | \chardef\isacharplus=`\+
 | 
|  |     58 | \chardef\isacharcomma=`\,
 | 
| 9665 |     59 | \chardef\isacharminus=`\-
 | 
| 9672 |     60 | \chardef\isachardot=`\.
 | 
|  |     61 | \chardef\isacharslash=`\/
 | 
|  |     62 | \chardef\isacharcolon=`\:
 | 
|  |     63 | \chardef\isacharsemicolon=`\;
 | 
| 9665 |     64 | \chardef\isacharless=`\<
 | 
| 9672 |     65 | \chardef\isacharequal=`\=
 | 
| 9665 |     66 | \chardef\isachargreater=`\>
 | 
| 9672 |     67 | \chardef\isacharquery=`\?
 | 
|  |     68 | \chardef\isacharat=`\@
 | 
| 9665 |     69 | \chardef\isacharbrackleft=`\[
 | 
|  |     70 | \chardef\isacharbackslash=`\\
 | 
|  |     71 | \chardef\isacharbrackright=`\]
 | 
|  |     72 | \chardef\isacharcircum=`\^
 | 
|  |     73 | \chardef\isacharunderscore=`\_
 | 
| 9672 |     74 | \chardef\isacharbackquote=`\`
 | 
| 9665 |     75 | \chardef\isacharbraceleft=`\{
 | 
|  |     76 | \chardef\isacharbar=`\|
 | 
|  |     77 | \chardef\isacharbraceright=`\}
 | 
|  |     78 | \chardef\isachartilde=`\~
 | 
| 8890 |     79 | 
 | 
|  |     80 | 
 | 
|  |     81 | % keyword and section markup
 | 
|  |     82 | 
 | 
| 9767 |     83 | \newcommand{\isakeywordcharunderscore}{\_}
 | 
| 9672 |     84 | \newcommand{\isakeyword}[1]
 | 
| 9767 |     85 | {\emph{\bf\def\isachardot{.}\def\isacharunderscore{\isakeywordcharunderscore}%
 | 
| 9672 |     86 | \def\isacharbraceleft{\{}\def\isacharbraceright{\}}#1}}
 | 
|  |     87 | \newcommand{\isacommand}[1]{\isakeyword{#1}}
 | 
| 8890 |     88 | 
 | 
|  |     89 | \newcommand{\isamarkupheader}[1]{\section{#1}}
 | 
|  |     90 | \newcommand{\isamarkupchapter}[1]{\chapter{#1}}
 | 
|  |     91 | \newcommand{\isamarkupsection}[1]{\section{#1}}
 | 
|  |     92 | \newcommand{\isamarkupsubsection}[1]{\subsection{#1}}
 | 
|  |     93 | \newcommand{\isamarkupsubsubsection}[1]{\subsubsection{#1}}
 | 
|  |     94 | \newcommand{\isamarkupsect}[1]{\section{#1}}
 | 
|  |     95 | \newcommand{\isamarkupsubsect}[1]{\subsection{#1}}
 | 
|  |     96 | \newcommand{\isamarkupsubsubsect}[1]{\subsubsection{#1}}
 | 
|  |     97 | 
 | 
| 11964 |     98 | \newif\ifisamarkup
 | 
|  |     99 | \newcommand{\isabeginpar}{\par\ifisamarkup\relax\else\medskip\fi}
 | 
| 10588 |    100 | \newcommand{\isaendpar}{\par\medskip}
 | 
|  |    101 | \newenvironment{isapar}{\parindent\isa@parindent\parskip\isa@parskip\isabeginpar}{\isaendpar}
 | 
| 9665 |    102 | \newenvironment{isamarkuptext}{\isastyletext\begin{isapar}}{\end{isapar}}
 | 
|  |    103 | \newenvironment{isamarkuptxt}{\isastyletxt\begin{isapar}}{\end{isapar}}
 | 
|  |    104 | \newcommand{\isamarkupcmt}[1]{{\isastylecmt--- #1}}
 | 
|  |    105 | 
 | 
|  |    106 | 
 | 
| 10037 |    107 | % alternative styles
 | 
| 9665 |    108 | 
 | 
|  |    109 | \newcommand{\isabellestyle}{}
 | 
| 9672 |    110 | \def\isabellestyle#1{\csname isabellestyle#1\endcsname}
 | 
| 9665 |    111 | 
 | 
| 10037 |    112 | \newcommand{\isabellestylett}{%
 | 
|  |    113 | \renewcommand{\isastyle}{\small\tt}%
 | 
| 10207 |    114 | \renewcommand{\isastyleminor}{\small\tt}%
 | 
| 10223 |    115 | \renewcommand{\isastylescript}{\footnotesize\tt}%
 | 
| 10037 |    116 | }
 | 
| 9672 |    117 | \newcommand{\isabellestyleit}{%
 | 
|  |    118 | \renewcommand{\isastyle}{\small\it}%
 | 
|  |    119 | \renewcommand{\isastyleminor}{\it}%
 | 
| 10223 |    120 | \renewcommand{\isastylescript}{\footnotesize\it}%
 | 
| 9767 |    121 | \renewcommand{\isakeywordcharunderscore}{\mbox{-}}%
 | 
| 10223 |    122 | \renewcommand{\isacharbang}{\isamath{!}}%
 | 
| 9672 |    123 | \renewcommand{\isachardoublequote}{}%
 | 
| 10223 |    124 | \renewcommand{\isacharhash}{\isamath{\#}}%
 | 
|  |    125 | \renewcommand{\isachardollar}{\isamath{\$}}%
 | 
|  |    126 | \renewcommand{\isacharpercent}{\isamath{\%}}%
 | 
|  |    127 | \renewcommand{\isacharampersand}{\isamath{\&}}%
 | 
|  |    128 | \renewcommand{\isacharprime}{\isamath{\mskip2mu{'}\mskip-2mu}}%
 | 
|  |    129 | \renewcommand{\isacharparenleft}{\isamath{(}}%
 | 
|  |    130 | \renewcommand{\isacharparenright}{\isamath{)}}%
 | 
|  |    131 | \renewcommand{\isacharasterisk}{\isamath{*}}%
 | 
|  |    132 | \renewcommand{\isacharplus}{\isamath{+}}%
 | 
|  |    133 | \renewcommand{\isacharcomma}{\isamath{\mathord,}}%
 | 
|  |    134 | \renewcommand{\isacharminus}{\isamath{-}}%
 | 
|  |    135 | \renewcommand{\isachardot}{\isamath{\mathord.}}%
 | 
|  |    136 | \renewcommand{\isacharslash}{\isamath{/}}%
 | 
|  |    137 | \renewcommand{\isacharcolon}{\isamath{\mathord:}}%
 | 
|  |    138 | \renewcommand{\isacharsemicolon}{\isamath{\mathord;}}%
 | 
|  |    139 | \renewcommand{\isacharless}{\isamath{<}}%
 | 
|  |    140 | \renewcommand{\isacharequal}{\isamath{=}}%
 | 
|  |    141 | \renewcommand{\isachargreater}{\isamath{>}}%
 | 
|  |    142 | \renewcommand{\isacharat}{\isamath{@}}%
 | 
|  |    143 | \renewcommand{\isacharbrackleft}{\isamath{[}}%
 | 
|  |    144 | \renewcommand{\isacharbrackright}{\isamath{]}}%
 | 
| 9767 |    145 | \renewcommand{\isacharunderscore}{\mbox{-}}%
 | 
| 10223 |    146 | \renewcommand{\isacharbraceleft}{\isamath{\{}}%
 | 
|  |    147 | \renewcommand{\isacharbar}{\isamath{\mid}}%
 | 
|  |    148 | \renewcommand{\isacharbraceright}{\isamath{\}}}%
 | 
| 10267 |    149 | \renewcommand{\isachartilde}{\isamath{{}\sp{\sim}}}%
 | 
| 9665 |    150 | }
 | 
|  |    151 | 
 | 
| 10005 |    152 | \newcommand{\isabellestylesl}{%
 | 
|  |    153 | \isabellestyleit%
 | 
|  |    154 | \renewcommand{\isastyle}{\small\sl}%
 | 
|  |    155 | \renewcommand{\isastyleminor}{\sl}%
 | 
| 10223 |    156 | \renewcommand{\isastylescript}{\footnotesize\sl}%
 | 
| 10005 |    157 | }
 |