summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/answers
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:51:23 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:51:23 +0000
commit394e8e9b46f6dd8c0ccb04910b0e21ff218cb95c (patch)
treeded3d69d05b8c58afd9ad63de0bce5f1b29500ad /Master/texmf-dist/tex/latex/answers
parenteadda8d61130e368953c892f39a299f3d338a0c0 (diff)
answers
git-svn-id: svn://tug.org/texlive/trunk@663 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/answers')
-rw-r--r--Master/texmf-dist/tex/latex/answers/answers.sty195
1 files changed, 195 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/answers/answers.sty b/Master/texmf-dist/tex/latex/answers/answers.sty
new file mode 100644
index 00000000000..d4a379a6d0a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/answers/answers.sty
@@ -0,0 +1,195 @@
+%%
+%% 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.10}
+\def\filedate{16 Dec 1997 17:05:29 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{\solutionpoint}{.}
+\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\solutionpoint\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'.