From 849996eca72af498b48b10fbea7f14c4b9d21b8f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 30 Mar 2012 23:23:02 +0000 Subject: restore stex (ca. 28jan12) git-svn-id: svn://tug.org/texlive/trunk@25792 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/stex/statements/statements.sty | 171 ++++++++++ .../tex/latex/stex/statements/statements.sty.ltxml | 365 +++++++++++++++++++++ 2 files changed, 536 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/stex/statements/statements.sty create mode 100644 Master/texmf-dist/tex/latex/stex/statements/statements.sty.ltxml (limited to 'Master/texmf-dist/tex/latex/stex/statements') diff --git a/Master/texmf-dist/tex/latex/stex/statements/statements.sty b/Master/texmf-dist/tex/latex/stex/statements/statements.sty new file mode 100644 index 00000000000..4c8f57560e8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/stex/statements/statements.sty @@ -0,0 +1,171 @@ +%% +%% This is file `statements.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% statements.dtx (with options: `package') +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{statements}[2012/01/28 v1.1 Semantic Markup for Statements] +\DeclareOption{showmeta}{\PassOptionsToPackage{\CurrentOption}{metakeys}} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{omdoc}} +\ProcessOptions +\RequirePackage{omtext} +\RequirePackage{modules} +\RequirePackage[hyperref]{ntheorem} +\theoremstyle{plain} +\providecommand\STpresent[1]{#1} +\def\define@statement@env#1{% +\newenvironment{#1}[1][]{\metasetkeys{omtext}{##1}\sref@target% +\ifx\omtext@display\st@flow\else% +\ifx\omtext@title\@empty\begin{ST#1Env}\else\begin{ST#1Env}[\omtext@title]\fi% +\ifx\sref@id\@empty\else\label{#1.\sref@id}\fi +\csname st@#1@initialize\endcsname\fi +\ifx\sref@id\@empty\sref@label@id{here}\else% +\sref@label@id{\STpresent{\csname ST#1EnvKeyword\endcsname}~\@currentlabel}\fi} +{\csname st@#1@terminate\endcsname\ifx\omtext@display\st@flow\else\end{ST#1Env}\fi}} +\newenvironment{assertion}[1][]{\metasetkeys{omtext}{#1}\sref@target% +\ifx\omtext@display\st@flow\else% +\ifx\omtext@title\@empty\begin{ST\omtext@type AssEnv}% +\else\begin{ST\omtext@type AssEnv}[\omtext@title]\fi\fi% +\ifx\omtext@type\@empty\sref@label@id{here}\else% +\sref@label@id{\STpresent{\csname ST\omtext@type AssEnvKeyword\endcsname}~\@currentlabel}\fi} +{\ifx\omtext@display\st@flow\else\end{ST\omtext@type AssEnv}\fi} +\def\st@theorem@kw{Theorem} +\def\st@lemma@kw{Lemma} +\def\st@proposition@kw{Proposition} +\def\st@corollary@kw{Corollary} +\def\st@conjecture@kw{Conjecture} +\def\st@falseconjecture@kw{Conjecture (false)} +\def\st@postulate@kw{Postulate} +\def\st@obligation@kw{Obligation} +\def\st@assumption@kw{Assumption} +\def\st@observation@kw{Observation} +\theorembodyfont{\itshape} +\theoremheaderfont{\normalfont\bfseries} +\newtheorem{STtheoremAssEnv}{\st@theorem@kw} +\newtheorem{STlemmaAssEnv}[STtheoremAssEnv]{\st@lemma@kw} +\newtheorem{STpropositionAssEnv}[STtheoremAssEnv]{\st@proposition@kw} +\newtheorem{STcorollaryAssEnv}[STtheoremAssEnv]{\st@corollary@kw} +\newtheorem{STconjectureAssEnv}[STtheoremAssEnv]{\st@conjecture@kw} +\newtheorem{STfalseconjectureAssEnv}[STtheoremAssEnv]{\st@falseconjecture@kw} +\newtheorem{STpostulateAssEnv}[STtheoremAssEnv]{\st@postulate@kw} +\newtheorem{STobligationAssEnv}[STtheoremAssEnv]{\st@obligation@kw} +\newtheorem{STassumptionAssEnv}[STtheoremAssEnv]{\st@assumption@kw} +\newtheorem{STobservationAssEnv}[STtheoremAssEnv]{\st@observation@kw} +\def\st@example@initialize{}\def\st@example@terminate{} +\define@statement@env{example} +\def\st@example@kw{Example} +\theorembodyfont{\upshape} +\newtheorem{STexampleEnv}[STtheoremAssEnv]{\st@example@kw} +\def\st@axiom@initialize{}\def\st@axiom@terminate{} +\define@statement@env{axiom} +\def\st@axiom@kw{Axiom} +\theorembodyfont{\upshape} +\newtheorem{STaxiomEnv}[STtheoremAssEnv]{\st@axiom@kw} +\srefaddidkey{symboldec} +\addmetakey{symboldec}{functions} +\addmetakey{symboldec}{role} +\addmetakey*{symboldec}{title} +\addmetakey{symboldec}{name} +\addmetakey{symboldec}{subject} +\addmetakey*{symboldec}{display} +\def\symboldec@type{Symbol} +\newenvironment{symboldec}[1][]{\metasetkeys{symboldec}{#1}\sref@target\st@indeftrue% +\ifx\symboldec@display\st@flow\else{\stDMemph{\symboldec@type} \symboldec@name:}\fi% +\ifx\symboldec@title\@empty~\else~(\stDMemph{\symboldec@title})\par\fi}{} +\newcommand{\symtype}[2]{Type (#1): $#2$} +\newif\ifst@indef\st@indeffalse +\newenvironment{definition}[1][]{\metasetkeys{omtext}{#1}\sref@target\st@indeftrue% +\ifx\omtext@display\st@flow\else% +\ifx\omtext@title\@empty\begin{STdefinitionEnv}\else\begin{STdefinitionEnv}[\omtext@title]\fi\fi% +\ifx\sref@id\@empty\sref@label@id{here}\else% +\sref@label@id{\STpresent{\csname STdefinitionEnvKeyword\endcsname}~\@currentlabel}\fi} +{\ifx\omtext@display\st@flow\else\end{STdefinitionEnv}\fi} +\def\st@definition@kw{Definition} +\theorembodyfont{\upshape} +\newtheorem{STdefinitionEnv}[STtheoremAssEnv]{\st@definition@kw} +\def\notemph#1{{\bf{#1}}} +\def\st@notation@terminate{} +\def\st@notation@initialize{} +\define@statement@env{notation} +\def\st@notation@kw{Notation} +\theorembodyfont{\upshape} +\newtheorem{STnotationEnv}[STtheoremAssEnv]{\st@notation@kw} +\def\st@def@target#1#2{\def\@test{#1}% +\ifst@indef% if we are in a definition or such +\ifx\omtext@theory\@empty% if there is no theory attribute +\@ifundefined{mod@id}% if we are not in a module +{\PackageWarning{statements}{definiendum in unidentified module\MessageBreak +\protect\definiendum, \protect\defi, +\protect\defii, \protect\defiii\MessageBreak +can only be referenced when called in a module with id key}}% +{\ifx\@test\@empty% +\expandafter\sref@target@ifh{sref@#2@\mod@id @target}{}\else% +\expandafter\sref@target@ifh{sref@#1@\mod@id @target}{}\fi}% +\else\expandafter\sref@target@ifh{sref@#1@\omtext@theory @target}{}\fi% +\else\PackageError{statements}% +{definiendum outside definition context\MessageBreak +\protect\definiendum, \protect\defi, +\protect\defii, \protect\defiii\MessageBreak +do not make sense semantically outside a definition.\MessageBreak +Consider wrapping the defining phrase in a \protect\inlinedef}% +\fi} +\newcommand\@termdef[2][]{\def\@test{#1}% +\@ifundefined{mod@id}{}{\ifx\@test\@empty\def\@@name{#2}\else\def\@@name{#1}\fi% +\termdef{\mod@id @\@@name}{#2}}} +\newcommand\definiendum[2][]{\st@def@target{#1}{#2}\defemph{#2}} +\newcommand{\notatiendum}[2][]{\notemph{#2}} +\newcommand{\defi}[2][]{\definiendum[#1]{#2}\omdoc@index[#1]{#2}} +\newcommand{\adefi}[3][]{\def\@test{#1}% +\ifx\@test\@empty\definiendum[#3]{#2}% +\else\definiendum[#1]{#2}\omdoc@index[#1]{#3}\fi} +\newcommand{\defii}[3][]{\st@def@target{#1}{#2-#3}\defemph{#2 #3}\@twin[#1]{#2}{#3}} +\newcommand{\adefii}[4][]{\def\@test{#1}% +\ifx\@test\@empty\definiendum[#3-#4]{#2}% +\else\definiendum[#1]{#2}\@twin[#1]{#3}{#4}\fi} +\newcommand{\defiii}[4][]{\st@def@target{#1}{#2-#3-#4}\defemph{#2 #3 #4}\@atwin[#1]{#2}{#3}{#4}} +\newcommand{\adefiii}[5][]{\def\@test{#1}% +\ifx\@test\@empty\definiendum[#3-#4-#5]{#2}% +\else\definiendum[#1]{#2}\@atwin[#1]{#3}{#4}{#5}\fi} +\newcommand{\inlineex}[2][]{\metasetkeys{omtext}{#1}\sref@target\sref@label@id{here}#2} +\newcommand{\inlinedef}[2][]{\metasetkeys{omtext}{#1}\sref@target\sref@label@id{here}\st@indeftrue #2} +\addmetakey[\mod@id]{termref}{cd} +\addmetakey{termref}{cdbase} +\addmetakey{termref}{name} +\addmetakey{termref}{role} +\def\termref@set#1#2{\def\termref@name{#2}\metasetkeys{termref}{#1}} +\newcommand{\termref}[2][]{\metasetkeys{termref}{#1}\st@termref{#2}} +\def\st@termref#1{\ifx\termref@name\@empty\def\termref@name{#1}\fi% +\ifx\termref@cdbase\@empty\mod@termref\termref@cd\termref@name{#1}% +\else\sref@href@ifh\termref@cdbase{#1}\fi} +\newcommand\atrefi[3][]{\def\@test{#1}\ifx\@test\@empty\termref[name=#3]{#2}\else\termref[cd=#1,name=#3]{#2}\fi} +\newcommand\atrefii[4][]{\atrefi[#1]{#2}{#3-#4}} +\newcommand\atrefiii[5][]{\atrefi[#1]{#2}{#3-#4-#5}} +\newcommand{\trefi}[2][]{\atrefi[#1]{#2}{#2}} +\newcommand{\trefii}[3][]{\atrefi[#1]{#2 #3}{#2-#3}} +\newcommand{\trefiii}[4][]{\atrefi[#1]{#2 #3 #4}{#2-#3-#4}} +\providecommand{\termemph}[1]{#1} +\providecommand{\defemph}[1]{{\textbf{#1}}} +\providecommand{\stDMemph}[1]{{\textbf{#1}}} +\newcommand{\symref}[2]{\@nameuse{mod@symref@#1}{#2}} +\newcommand\defin[2][]{\defi[#1]{#2}% +\PackageWarning{statements}{\protect\defin\space is deprecated, use \protect\defi\space instead}} +\newcommand\twindef[3][]{\defii[#1]{#2}{#3}% +\PackageWarning{statements}{\protect\twindef\space is deprecated, use \protect\defii\space instead}} +\newcommand\atwindef[4][]{\defiii[#1]{#2}{#3}{#4}% +\PackageWarning{statements}{\protect\atwindef\space is deprecated, use \protect\defiii\space instead}} +\newcommand\definalt[3][]{\adefi[#1]{#2}{#3}% +\PackageWarning{statements}{\protect\definalt\space is deprecated, use \protect\adefi\space instead}} +\newcommand\twindefalt[4][]{\adefii[#1]{#2}{#3}{#4}% +\PackageWarning{statements}{\protect\twindefalt\space is deprecated, use \protect\adefii\space instead}} +\newcommand\atwindefalt[5][]{\adefiii[#1]{#2}{#3}{#4}{#5}% +\PackageWarning{statements}{\protect\atwindefalt\space is deprecated, use \protect\adefiii\space instead}} +\newcommand\twinref[3][]{\trefii[#1]{#2}{#3}% +\PackageWarning{statements}{\protect\twinref\space is deprecated, use \protect\trefii\space instead}} +\newcommand\atwinref[4][]{\atrefiii[#1]{#2}{#3}{#4}% +\PackageWarning{statements}{\protect\atwindef\space is deprecated, use \protect\trefiii\space instead}} +\endinput +%% +%% End of file `statements.sty'. diff --git a/Master/texmf-dist/tex/latex/stex/statements/statements.sty.ltxml b/Master/texmf-dist/tex/latex/stex/statements/statements.sty.ltxml new file mode 100644 index 00000000000..92d7f8d8b84 --- /dev/null +++ b/Master/texmf-dist/tex/latex/stex/statements/statements.sty.ltxml @@ -0,0 +1,365 @@ +# -*- CPERL -*- +package LaTeXML::Package::Pool; +use strict; +use LaTeXML::Package; +RequirePackage('omtext'); +RequirePackage('modules'); +sub lowcase {my ($string) = @_; $string ? return lc(ToString($string)) : return('')}#$ +sub dashed { join('-',map($_->toString,@_));}#$ +sub makeNCName { + my ($name) = @_; + my $ncname=$name; + $ncname=~s/\s/_/g; #Spaces to underscores + $ncname="_$ncname" if $ncname!~/^(\w|_)/; #Ensure start with letter or underscore + ##More to come... + $ncname; +} +sub simple_wrapper { + #Deref if array reference + my @input; + foreach (@_) { + if (ref $_ && $_ =~ /ARRAY/ && $_ !~ /LaTeXML/) { + @input=(@input,@$_); + } else + { push (@input,$_); } + } + return '' if (!@input); + @input = map(split(/\s*,\s*/,ToString($_)),@input); + my $output=join(" ",@input); + $output=~s/(^ )|[{}]//g; #remove leading space and list separator brackets + $output||''; +} +sub hash_wrapper{ + #Deref if array reference + my @input; + foreach (@_) { + if (ref $_ && $_ =~ /ARRAY/ && $_ !~ /LaTeXML/) { + @input=(@input,@$_); + } else + { push (@input,$_); } + } + return '' if (!@input); + @input = map(split(/\s*,\s*/,ToString($_)),@input); + my $output=join(".sym #",@input); + $output=~s/(^\.sym )|[{}]//g; #remove leading space and list separator brackets + "#$output"||''; +} +DefEnvironment('{assertion} OptionalKeyVals:omtext', + "" + . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" + . "#body" + ."\n"); +DefEnvironment('{example} OptionalKeyVals:omtext', + "" + . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" + . "#body" + . "\n"); +DefEnvironment('{axiom} OptionalKeyVals:omtext', + "" + . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" + . "#body" + . "\n"); +DefEnvironment('{symboldec} OptionalKeyVals:symboldec', + "" + . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" + . "#body" + ."\n"); +DefConstructor('\symtype{}{}', + "#2"); +sub definitionBody { + my ($doc, $keyvals, %props) = @_; + my $for = $keyvals->getValue('for') if $keyvals; + my $type = $keyvals->getValue('type') if $keyvals; + my %for_attr=(); + if (ToString($for)) { + $for = ToString($for); + $for =~ s/^{(.+)}$/$1/eg; + foreach (split(/,\s*/,$for)) { + $for_attr{$_}=1; + }} + if ($props{theory}) { + my @symbols = @{$props{defs} || []}; + foreach my $symb(@symbols) { + next if $for_attr{$symb}; + $for_attr{$symb}=1; + $doc->insertElement('omdoc:symbol', undef, (name=>$symb, "xml:id"=>makeNCName("$symb.def.sym"))); + } + } + my %attrs = (); + $for = join(" ",(keys %for_attr)); + $attrs{'for'} = $for if $for; + my $id = $keyvals->getValue('id') if $keyvals; + $attrs{'xml:id'} = $id if $id; + $attrs{'type'} = $type if $type; + if ($props{theory}) { + $doc->openElement('omdoc:definition', %attrs); + } else { + $attrs{'type'}='definition'; + $doc->openElement('omdoc:omtext', %attrs); + } + my $title = $keyvals->getValue('title') if $keyvals; + if ($title) { + $doc->openElement('omdoc:metadata'); + $doc->openElement('dc:title'); + $doc->absorb($title); + $doc->closeElement('dc:title');} + $doc->openElement('omdoc:CMP'); + $doc->absorb($props{body}) if $props{body}; + $doc->maybeCloseElement('omdoc:CMP'); + if ($props{theory}) { + $doc->closeElement('omdoc:definition'); + } else { + $doc->closeElement('omdoc:omtext'); + } + return; } +DefEnvironment('{definition} OptionalKeyVals:omtext', sub{definitionBody(@_)}, + afterDigestBegin=>sub { + my ($stomach, $whatsit) = @_; + my @symbols = (); + $whatsit->setProperty(theory=>LookupValue('current_module')); + $whatsit->setProperty(defs=>\@symbols); + AssignValue('defs', \@symbols); return; }, + afterDigest => sub { AssignValue('defs', undef); return; });#$ +DefEnvironment('{notation} OptionalKeyVals:omtext', + "" + . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" + . "#body" + . "\n"); +DefConstructor('\notatiendum OptionalKeyVals:notation {}', + "#2"); +DefConstructor('\definiendum [] {}', + "#2", + afterDigest => sub { + my ($stomach, $whatsit) = @_; + my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $whatsit->getArg(2) unless $name; + $whatsit->setProperty(name=>$name->toString); + push(@$addr, $name->toString) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module')); + return; });#$ +DefConstructor('\defi[]{}', + "" + . "" + . "#2" + . "" + . "#2" + ."", + afterDigest => sub { + my ($stomach, $whatsit) = @_; + my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $whatsit->getArg(2) unless $name; + push(@$addr, $name->toString) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module'));#$ + return; }, + alias=>'\defi'); +DefConstructor('\adefi[]{}{}', + "" + . "" + . "#2" + . "" + . "#3" + ."", + afterDigest => sub { + my ($stomach, $whatsit) = @_; + my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $whatsit->getArg(3) unless $name; + push(@$addr, $name->toString) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module'));#$ + return; }, + alias=>'\adefi'); +DefConstructor('\defii[]{}{}', + "" + . "" + . "" + . "#2 #3" + . "" + . "" + . "" + . "#2" + . "#3" + . "" + ."", + afterDigest => sub { + my ($stomach, $whatsit) = @_; +my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $name->toString if $name; + $name = $whatsit->getArg(2)->toString.'-'.$whatsit->getArg(3)->toString unless $name; + push(@$addr, $name) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module')); + return; }, + alias=>'\defii');#$ +DefConstructor('\adefii[]{}{}{}', + "" + . "" + . "" + . "#2" + . "" + . "" + . "" + . "#3" + . "#4" + . "" + ."", + afterDigest => sub { + my ($stomach, $whatsit) = @_; + my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $name->toString if $name; + $name = $whatsit->getArg(3)->toString.'-'.$whatsit->getArg(4)->toString unless $name; + push(@$addr, $name) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module')); + return; }, + alias=>'\defii');#$ +DefConstructor('\defiii[]{}{}{}', + "" + . "" + . "#2 #3 #4" + . "" + . "" + . "#2" + . "#3" + . "#4" + . "" + . "", + afterDigest => sub { + my ($stomach, $whatsit) = @_; + my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $name->toString if $name; + $name = $whatsit->getArg(2)->toString.'-'.$whatsit->getArg(3)->toString.'-'.$whatsit->getArg(4)->toString unless $name; + push(@$addr, $name) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module')); + return; }, + alias=>'\defiii'); +DefConstructor('\adefiii[]{}{}{}{}', + "" + . "" + . "#2" + . "" + . "" + . "#3" + . "#4" + . "#5" + . "" + . "", + afterDigest => sub { + my ($stomach, $whatsit) = @_; + my $addr = LookupValue('defs'); + my $name = $whatsit->getArg(1); + $name = $name->toString if $name; + $name = $whatsit->getArg(3)->toString.'-'.$whatsit->getArg(4)->toString.'-'.$whatsit->getArg(5)->toString unless $name; + push(@$addr, $name) if ($addr and $name); + $whatsit->setProperty(theory=>LookupValue('current_module')); + return; }, + alias=>'\defiii'); +DefConstructor('\inlineex OptionalKeyVals:omtext {}', + "#2"); +DefConstructor('\inlinedef OptionalKeyVals:omtext {}', sub { + my ($document, $keyvals, $body, %props) = @_; + my $for = $keyvals->getValue('for') if $keyvals; + my %for_attr=(); + if (ToString($for)) { + $for = ToString($for); + $for =~ s/^{(.+)}$/$1/eg; + foreach (split(/,\s*/,$for)) { + $for_attr{$_}=1; + }} + my @symbols = @{$props{defs} || []}; + #Prepare for symbol insertion -insert before the parent of the closest ancestor CMP element + my $original_node = $document->getNode; + my $xc = XML::LibXML::XPathContext->new( $original_node ); + $xc->registerNs('omdoc', 'http://omdoc.org/ns'); + my ($statement_ancestor) = $xc->findnodes('./ancestor::omdoc:CMP/..'); + foreach my $symb(@symbols) { + next if $for_attr{$symb}; + $for_attr{$symb}=1; + my $symbolnode = XML::LibXML::Element->new('symbol'); + $symbolnode->setAttribute(name=>$symb); + $symbolnode->setAttribute("xml:id"=>makeNCName("$symb.def.sym")); + $statement_ancestor->parentNode->insertBefore($symbolnode,$statement_ancestor); + } + #Restore the insertion point + $document->setNode($original_node); + my %attrs = (); + $for = join(" ",(keys %for_attr)); + $attrs{'for'} = $for if $for; + my $id = $keyvals->getValue('id') if $keyvals; + $attrs{'xml:id'} = $id if $id; +$attrs{'class'} = 'inlinedef'; + $document->openElement('ltx:text',%attrs); + $document->absorb($body); +$document->closeElement('ltx:text'); }, + #Prepare 'defs' hooks for \defi and \definiendum symbol names + beforeDigest=>sub { + my @symbols = (); + AssignValue('defs', \@symbols); return; }, + #Adopt collected names as 'defs' property, remove hooks + afterDigest=>sub { + my ($stomach, $whatsit) = @_; + my $defsref = LookupValue('defs'); + my @defs = @$defsref; + $whatsit->setProperty('defs',\@defs); + AssignValue('defs',undef); + return; }); +DefConstructor('\termref OptionalKeyVals:termref {}', + "" + . "#2" + ."", + afterDigest=>sub{$_[1]->setProperty(module=>LookupValue('current_module'))}); +RawTeX(' +\newcommand\atrefi[3][]{\def\@test{#1}\ifx\@test\@empty\termref[name=#3]{#2}\else\termref[cd=#1,name=#3]{#2}\fi} +\newcommand\atrefii[4][]{\atrefi[#1]{#2}{#3-#4}} +\newcommand\atrefiii[5][]{\atrefi[#1]{#2}{#3-#4-#5}} +\newcommand{\trefi}[2][]{\atrefi[#1]{#2}{#2}} +\newcommand{\trefii}[3][]{\atrefi[#1]{#2 #3}{#2-#3}} +\newcommand{\trefiii}[4][]{\atrefi[#1]{#2 #3 #4}{#2-#3-#4}} +'); +DefConstructor('\symref{}{}', + "" + . "#2" + .""); +Tag('omdoc:assertion',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:definition',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:example',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:requation',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:axiom',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:symbol',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:type',afterOpen=>\&numberIt,afterClose=>\&locateIt); +Tag('omdoc:term',afterOpen=>\&numberIt,afterClose=>\&locateIt); +RawTeX(' +\newcommand\defin[2][]{\defi[#1]{#2}% +\PackageWarning{statements}{\protect\defin\space is deprecated, use \protect\defi\space instead}} +\newcommand\twindef[3][]{\defii[#1]{#2}{#3}% +\PackageWarning{statements}{\protect\twindef\space is deprecated, use \protect\defii\space instead}} +\newcommand\atwindef[4][]{\defiii[#1]{#2}{#3}{#4}% +\PackageWarning{statements}{\protect\atwindef\space is deprecated, use \protect\defiii\space instead}} +\newcommand\definalt[3][]{\adefi[#1]{#2}{#3}% +\PackageWarning{statements}{\protect\definalt\space is deprecated, use \protect\adefi\space instead}} +\newcommand\twindefalt[4][]{\adefii[#1]{#2}{#3}{#4}% +\PackageWarning{statements}{\protect\twindefalt\space is deprecated, use \protect\adefii\space instead}} +\newcommand\atwindefalt[5][]{\adefiii[#1]{#2}{#3}{#4}{#5}% +\PackageWarning{statements}{\protect\atwindefalt\space is deprecated, use \protect\adefiii\space instead}} +\newcommand\twinref[3][]{\trefii[#1]{#2}{#3}% +\PackageWarning{statements}{\protect\twinref\space is deprecated, use \protect\trefii\space instead}} +\newcommand\atwinref[4][]{\atrefiii[#1]{#2}{#3}{#4}% +\PackageWarning{statements}{\protect\atwindef\space is deprecated, use \protect\trefiii\space instead}} +'); +1; -- cgit v1.2.3