%% %% This is file `answers.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% answers.dtx (with options: `answers') %% %% Copyright (C) 1990,1994 Mike Piff, University of Sheffield, England %% %% You are not allowed to change this file. %% %% You are NOT ALLOWED to distribute this file alone. You are NOT %% ALLOWED to take money for the distribution or use of this %% file except for a nominal charge for copying etc. %% %% Please address any problems to: %% %% M.Piff@shef.ac.uk %% %% For updates, contact your nearest CTAN site. %% \def\fileversion{2.09} \def\filedate{10 Jul 1996 16:36:03 BST} \def\filename{answers.dtx} \def\Copyright{Copyright (C) 1990,1994 Mike Piff, University of Sheffield, England} \NeedsTeXFormat{LaTeX2e}[1996/06/01] \ProvidesPackage{answers}[1996/07/10] \typeout{Package `answers' <\filedate>.} \typeout{\Copyright} \newif\ifanswerfiles \answerfilestrue \DeclareOption{nosolutionfiles}{\answerfilesfalse \typeout{No answer files being produced}}% \ProcessOptions \RequirePackage{verbatim} \newcommand{\solutionextension}{tex} \newenvironment{Filesave}[1]{% \@bsphack \def\verbatim@processline{}% \Iffileundefined{#1}{}{% \Ifopen{#1}{% \def\verbatim@processline{% \Ifanswerfiles{% \immediate\write\@nameuse{#1@file}% {\the\verbatim@line}% }{}% }% }{}% }% \let\do\@makeother\dospecials \catcode`\^^M\active \catcode`\^^I=12\relax \verbatim@start }{\@esphack} \newcommand{\Writetofile}[2]{% \@bsphack \Iffileundefined{#1}{}{% \Ifopen{#1}{% {% \let\protect\string \Ifanswerfiles{% \immediate\write\@nameuse{#1@file}{#2}% }{}% }% }{}% }% \@esphack } \newcommand{\Ifopen}[3]{% \csname if#1open\endcsname#2\else#3\fi}% \newcommand{\Iffileundefined}[3]{% \csname ifx\expandafter\endcsname \csname #1@file\endcsname\relax #2\else#3\fi} \newcommand{\Ifanswerfiles}[2]{% \ifanswerfiles #1\else #2\fi} \def\Opensolutionfile#1{% \@ifnextchar[{\define@filename{#1}}% {\define@filename{#1}[#1]}}% \def\define@filename#1[#2]{% \global\@namedef{#1@filename}{#2.\solutionextension}% \Ifanswerfiles{% \typeout{Output from handle #1 going to #2.\solutionextension}% }{}% \Iffileundefined{#1}{% \expandafter\newwrite\csname #1@file\endcsname \csname newif\expandafter\endcsname \csname if#1open\endcsname \global\csname #1openfalse\endcsname \expandafter\ifx\csname Open#1hook\endcsname\relax \global\@namedef{Open#1hook}##1{}% \fi \expandafter\ifx\csname Close#1hook\endcsname\relax \global\@namedef{Close#1hook}##1{}% \fi }{}% \let\Tmp\relax \Ifopen{#1}{\typeout{File #1 already open}}{% \Ifanswerfiles{% \immediate\openout\@nameuse{#1@file}=% \@nameuse{#1@filename}% }{}% \global\csname#1opentrue\endcsname \def\Tmp{\@nameuse{Open#1hook}{#1}}% }% \Tmp } \def\Closesolutionfile#1{% \let\Tmp\relax \Iffileundefined{#1}{}{% \Ifopen{#1}{% \Ifanswerfiles{% \immediate\closeout\@nameuse{#1@file}% }{}% \global\csname #1openfalse\endcsname \def\Tmp{\@nameuse{Close#1hook}{#1}}% }{}% }% \Tmp } \def\Readsolutionfile#1{% \Ifanswerfiles{% \Iffileundefined{#1}{}{% \Ifopen{#1}{% \typeout{WARNING: attempt to read open file #1}% }{% \edef\Tmp{% \noexpand\InputIfFileExists {\@nameuse{#1@filename}}{}% {\noexpand\message{File \@nameuse{#1@filename}% \space not found}}% }% \Tmp }% }% }{}% } \newcommand{\Newassociation}[3]{% \newsolution{#2}% \expandafter\ifx\csname #3opentrue\endcsname\relax \expandafter\newif\csname if#3open\endcsname \fi \newenvironment{#1}{% \Ifanswerfiles{% \let\Tmp\relax \Iffileundefined{#3}{}{% \Ifopen{#3}{% \immediate\write\@nameuse{#3@file}% {\string\begin{#2}\@nameuse{#2params}}% \def\Tmp{\Filesave{#3}}% }{}% }% }{% \edef\Tmp{\noexpand\begin{#2}\@nameuse{#2params}}% }% \csname pre#1\endcsname \Tmp }% {% \Ifanswerfiles{% \Iffileundefined{#3}{}{% \Ifopen{#3}{% \endFilesave% \immediate\write\@nameuse{#3@file}% {\string\end{#2}}% \csname post#1\endcsname }{}% }% }{% \end{#2}% }% }% } \newcommand{\newsolution}[1]{% \@ifundefined{#1}{% \global\@namedef{#1params}{{\Currentlabel}}% \newenvironment{#1}[1]% {% \csname pre#1\endcsname \trivlist \item[\hskip\itemsep{\@nameuse{#1label}{##1}}]}% {\csname post#1\endcsname\endtrivlist}% \global\@namedef{#1label}##1{\solutionstyle{##1}}% }{\typeout{WARNING: environment #1 already in use}}% } \newcommand{\solutionstyle}[1]{\textbf{#1}} \newcommand{\Currentlabel}{\@currentlabel} \endinput %% %% End of file `answers.sty'.