summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/statements/statements.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/statements/statements.dtx')
-rw-r--r--Master/texmf-dist/source/latex/stex/statements/statements.dtx433
1 files changed, 282 insertions, 151 deletions
diff --git a/Master/texmf-dist/source/latex/stex/statements/statements.dtx b/Master/texmf-dist/source/latex/stex/statements/statements.dtx
index 77966fa356c..3d839be5fbf 100644
--- a/Master/texmf-dist/source/latex/stex/statements/statements.dtx
+++ b/Master/texmf-dist/source/latex/stex/statements/statements.dtx
@@ -10,10 +10,12 @@
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{statements}[2016/04/07 v1.2 Semantic Markup for Statements]
+%<package>\ProvidesPackage{statements}[2019/03/20 v1.4 Semantic Markup for Statements]
%
%<*driver>
\documentclass{ltxdoc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
\usepackage{url,array,float,amsfonts}
\usepackage{statements,presentation}
\usepackage{paralist}
@@ -30,8 +32,11 @@
\floatstyle{boxed}
\newfloat{exfig}{thp}{lop}
\floatname{exfig}{Example}
-\def\tracissue#1{\cite{sTeX:online}, \hyperlink{http://trac.kwarc.info/sTeX/ticket/#1}{issue #1}}
-\begin{document}\DocInput{statements.dtx}\end{document}
+\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
+\begin{document}
+\RecordChanges
+\DocInput{statements.dtx}
+\end{document}
%</driver>
% \fi
%
@@ -60,6 +65,9 @@
% \changes{v1.2}{2015/04/03}{adding optional last arg to \texttt{\textbackslash \*defi*}}
% \changes{v1.2}{2015/04/17}{adding \texttt{\textbackslash inlineass}}
% \changes{v1.2}{2015/09/05}{adding \texttt{\textbackslash defis} and friends}
+% \changes{v1.3}{2017/07/31}{adding \texttt{\textbackslash Defi}, \texttt{\textbackslash Trefi} and friends}
+% \changes{v1.4}{2017/10/15}{changing the optional argument of \texttt{\textbackslash
+% defi} and friends to a keyval argument}
%
% \GetFileInfo{statements.sty}
%
@@ -75,7 +83,7 @@
% \title{Semantic Markup for Mathematical Statements\thanks{Version {\fileversion} (last revised
% {\filedate})}}
% \author{Michael Kohlhase\\
-% Jacobs University, Bremen\\
+% FAU Erlangen-N\"urnberg\\
% \url{http://kwarc.info/kohlhase}}
% \maketitle
%
@@ -122,11 +130,15 @@
%
% \subsection{Package Options}\label{sec:user:options}
%
-% The |statements| package provides the |defindex| option to \sTeX. If this is set, then
-% definienda are automatically passed into the index of the document. Furthermore, the
-% |statements| package passes the \DescribeMacro{showmeta}|showmeta| to the |metakeys|
-% package. If this is set, then the metadata keys are shown
-% (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
+% The |statements| package provides the \DescribeMacro{defindex}|defindex| option to
+% \sTeX. If this is set, then definienda are automatically passed into the index of the
+% document. Furthermore, the |statements| package passes the
+% \DescribeMacro{showmeta}|showmeta| to the |metakeys| package. If this is set, then the
+% metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for details and customization
+% options). The |nontheorem| option tells statements not to load the |ntheorem| package --
+% in case some other theorem package is already loaded; e.g. by the |beamer| package and
+% we prefer that. Note that using the |nontheorem| option in a case where no theorem
+% package is loaded will lead to errors.
%
% \subsection{Statements}\label{sec:statements}
%
@@ -354,58 +366,76 @@
% mathematical definitions. Its peculiarity is that it defines (i.e. gives a meaning to)
% new mathematical concepts or objects. These\DescribeMacro{\definiendum} are identified
% by the |\definiendum| macro, which is used as
-% |\definiendum[|\meta{sysname}|]{|\meta{text}|}|. Here, \meta{text} is the text that is
-% to be emphasized in the presentation and the optional \meta{sysname} is a system name of
-% the symbol defined (for reference via |\termref|, see
-% Section~\ref{sec:user:crossref}). If \meta{sysname} is not given, then \meta{text} is
-% used as a system name instead, which is usually sufficient for most situations.
+% |\definiendum[|\meta{keys}|]{|\meta{text}|}|. Here, \meta{text} is the text that is to
+% be emphasized in the presentation. |\definiendum| takes the key
+% \DescribeMacro{name}|name| for the optional system name of the symbol defined (for
+% reference via |\termref|, see Section~\ref{sec:user:crossref}). If the |name| key is not
+% given, then \meta{text} is used as a system name instead, which is usually sufficient
+% for most situations. The set of keys is extensible to add additional metadata for the
+% definiendum. Currently only the \DescribeMacro{lemma}|lemma| key is supported, which
+% allows to specify the base form of the name of the concept involved -- e.g. for
+% referencing in a glossary or index.
%
%\begin{exfig}
+% \def\succ#1{s(#1)}
% \begin{verbatim}
% \symdef{one}{1}
% \begin{definition}[id=one.def,for=one]
% $\notatiendum[one]{\one}$ is the successor of $\zero$
-% (formally: $\one\colon=\succ\zero$)
+% (formally: $\one :=\succ\zero$)
% \end{definition}
% \end{verbatim}
-% \vspace{-1em}will lead to the result\medskip\par\noindent
-% \begin{module}
+% \vspace{-1em}will lead to the result\medskip\par\noindent\vspace*{-1em}
+% \begin{module}[id=onedef]
% \importmodule{peano}
% \symdef{one}{1}
% \begin{definition}[id=one.def,for=one]
% $\notatiendum[one]{\one}$ is the successor of $\zero$
-% (formally: $\one\colon=\succ\zero$)
+% (formally: $\one :=\succ\zero$)
% \end{definition}
% \end{module}
% \caption{A Definition based on Figure {\ref{fig:axioms}}}\label{fig:definition}
% \end{exfig}
% The \DescribeMacro{defi}|\defi{|\meta{word}|}| macro combines the functionality of the
% |\definiendum| macro with index markup from the |omdoc|
-% package~\ctancite{Kohlhase:smomdl}: use
+% package~\ctancite{Kohlhase:smomdl}: For definienda where the lemma and \meta{text}
+% coincide use
% \begin{center}
-% |\defi[|\meta{name}|]{|\meta{word}|}[|\meta{indexkeys}|]|
+% |\defi[|\meta{name}|]{|\meta{lemma}|}[|\meta{indexkeys}|]|
% \end{center}
-% to markup a definiendum \meta{word} with system name \meta{name} that appear in the
+% to markup a definiendum \meta{lemma} with system name \meta{name} that appear in the
% index (where \meta{indexkeys} are passed to the |\omdoc@index*| macros from the |omtext|
% package) --- in other words in almost all definitions of single-word concepts. We also
-% have the variants \DescribeMacro{\defii}|\defii| and \DescribeMacro{\defiii}|\defiii|
-% for (adjectivized) two-word compounds. Note that if the definiendum contains sematnic
-% macros, then we need to specify the |loadmodules| key and also protect the semantic
-% macro. For instance if |\eset| is the semantic macro for $\emptyset$, then we would use
+% have the variants \DescribeMacro{\defii}|\defii|, \DescribeMacro{\defiii}|\defiii|, and
+% \DescribeMacro{\defiv}|\defiv| for (adjectivized) multi-word compounds. Note that if
+% the definiendum contains semantic macros, then we need to specify the |loadmodules| key
+% and also protect the semantic macro. For instance if |\eset| is the semantic macro for
+% $\emptyset$, then we would use
% \begin{verbatim}
% \defii[eset-comp]{$\protect\eset$}{compatible}[loadmodules]
% \end{verbatim}
-% for the definiendum markup. Finally, the variants \DescribeMacro{\adefi}|\adefi|,
-% \DescribeMacro{\adefii}|\adefii|,and \DescribeMacro{\adefiii}|\adefiii| have an
-% additional first argument that allows to specify an alternative text; see
-% Figure~\ref{fig:defin}. The main use of these is to mark up inflected forms as in
+% for the definiendum markup.
+%
+% \begin{exfig}
% \begin{verbatim}
-% we speak of \adefi{lemmata}{lemma} in this case.
+% A \defi{graph} consists of \adefi{vertices}{vertex} and \defis{edge}.
% \end{verbatim}
+% \caption{Definienda where Lemma and Text Form differ}\label{fig:lemma}
+% \end{exfig}
+%
+% For the cases where the lemma and \meta{text} are different we can use the variants
+% \DescribeMacro{\adefi}|\adefi|, \DescribeMacro{\adefii}|\adefii|,
+% \DescribeMacro{\adefiii}|\adefiii|, and \DescribeMacro{\adefiv}|\adefiv| that have
+% an additional first argument that allows to specify an alternative \meta{text}; see
+% Figure~\ref{fig:defin}. The main use of these is to mark up inflected forms as in
+% Figure~\ref{fig:lemma}.
+%
% As the greatest number of these are plurals, which tends to be regular (e.g. adding a
% trailing ``s'' in English), we provide the variants \DescribeMacro{\defis}|\defis|,
-% \DescribeMacro{\defiis}|\defiis|, and \DescribeMacro{\defiiis}|\defiiis| for that case:
-% |\defiis{simple}{group}| is equivalent to much longer |\adefii{simple groups}{simple}{group}|.
+% \DescribeMacro{\defiis}|\defiis|, \DescribeMacro{\defiiis}|\defiiis|, and
+% \DescribeMacro{\defivs}|\defivs| for that case: |\defiis{simple}{group}| is
+% equivalent to much longer |\adefii{simple groups}{simple}{group}| (but also see
+% Figure~\ref{fig:lemma}).
%
% \begin{exfig}
% \begin{tabular}{l|l|l}
@@ -427,7 +457,7 @@
% \caption{Some definienda with Index}\label{fig:defin}
% \end{exfig}
%
-% Note that the |\definiendum|, |\defi|, |\defii|, and |\defiii| macros can only be
+% Note that the |\definiendum|, |\defi*|, |\adefi*|, and |\defi*s|, macros can only be
% used inside the definitional situation, i.e. in a |definition| or |symboldec|
% environment or a |\inlinedef| macro. If you find yourself in a situation where you want
% to use it outside, you will most likely want to wrap the appropriate text fragment in a
@@ -487,18 +517,18 @@
% definition in module \meta{cd} that defines the concept \meta{name}, e.g. that contains
% |\defi[|\meta{name}|]{|\meta{text}|}|.
%
-% Just as the |\definiendum| macro has the convenience variants |\defi|, |\defii| and
-% |\defiii|, the |\termref| has variants |\trefi|, |\trefii|, and |\trefiii| that take two
-% and three arguments for the parts of the compositum. In the same module, concepts that
-% are marked up by |\defi{|\meta{name}|}| in the definition can be referenced by
+% Just as the |\definiendum| macro has the convenience variants |\defi| and |\?defi*|, the
+% |\termref| has variants |\trefi|, |\trefii|, |\trefiii|, and |\trefiv| that take two and
+% three arguments for the parts of the compositum. In the same module, concepts that are
+% marked up by |\defi{|\meta{name}|}| in the definition can be referenced by
% \DescribeMacro{\trefi}|\trefi{|\meta{name}|}|. Here the link text is just
% \meta{name}. Concepts defined via |\defii{|\meta{first}|}{|\meta{second}|}| can be
% referenced by \DescribeMacro{\trefii}|\trefii{|\meta{first}|}{|\meta{second}|}| (with
-% link text ``\meta{first} \meta{second}'') and analogously for |\defiii| and
-% \DescribeMacro{\trefiii}|\trefiii|.
+% link text ``\meta{first} \meta{second}'') and analogously for
+% |\defiii|/\DescribeMacro{\trefiii}|\trefiii| and % |\defiv|/\DescribeMacro{\trefiv}|\trefiv|.
%
-% We have variants \DescribeMacro{\atref*}|\atrefi|, |\atrefii|, and |\atrefiii| with
-% alternative link text. For instance
+% We have variants \DescribeMacro{\atref*}|\atrefi|, |\atrefii|, |\atrefiii|, and
+% |\atrefiv| with alternative link text. For instance
% |\atrefii{|\meta{text}|{|\meta{first}|}{|\meta{second}|}| references a concept
% introduced by |\defii{|\meta{first}|}{|\meta{second}|}| but with link text \meta{text}.
% Of course, if the system identifier is given explicitly in the optional argument of the
@@ -531,7 +561,7 @@
% support the |\term| macro like a wiki-like dangling link: a click on
% |\term{|\meta{phrase}|}| could generate a new editor buffer with a stub definition (an
% |definition| environment with |\definiendum| macro and appropriate metadata).\ednote{MK:
-% we probably need multi-part variants for |*tref*|}
+% we probably need multi-part variants for |?tref*|}
%
% \section{Configuration of the Presentation}\label{sec:conf}
%
@@ -593,9 +623,9 @@
% In this section we document known limitations. If you want to help alleviate them,
% please feel free to contact the package author. Some of them are currently discussed in
% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{compactenum}
+% \begin{enumerate}
% \item none reported yet
-% \end{compactenum}
+% \end{enumerate}
%
% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
%
@@ -605,25 +635,34 @@
%
% We declare some switches which will modify the behavior according to the package
% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false). First we have the general options
+% (otherwise they stay false). First we have the general options: |msection| specifies
+% that theorems should be numbered in the |msection| counter provided by the |mikoslides|
+% package/class.
% \begin{macrocode}
%<*package>
-\newif\ifdef@index\def@indexfalse
+\newif\ifdef@index\def@indexfalse
\DeclareOption{defindex}{\def@indextrue}
+\newif\if@nthm\@nthmtrue
+\DeclareOption{nontheorem}{\@nthmfalse}
+\newif\if@msection\@msectionfalse
+\DeclareOption{msection}{\@msectiontrue}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{omtext}}
\ProcessOptions
% \end{macrocode}
%
% The next measure is to ensure that some {\sTeX} packages are loaded: |omdoc| for the
% statement keys, |modules| since we need module identifiers for referencing. Furthermore,
-% we need the |ntheorem| package for presenting statements. For {\latexml}, we also
-% initialize the package inclusions, there we do not need |ntheorem|, since the XML does
-% not do the presentation.
+% we need the |ntheorem| package for presenting statements.
% \begin{macrocode}
\RequirePackage{omtext}
\RequirePackage[base]{babel}
+\ifcsdef{proof}{\cslet{proof}{\relax}\cslet{endproof}{\relax}}{}% to redefine if necessary
+\if@nthm
\RequirePackage[hyperref]{ntheorem}
\theoremstyle{plain}
+\else
+\RequirePackage{amsthm}
+\fi
% \end{macrocode}
% Now, we define an auxiliary function that lowercases strings
% \begin{macrocode}
@@ -642,6 +681,7 @@
% For the other languages, we set up triggers
% \begin{macrocode}
\AfterBabelLanguage{ngerman}{\input{statements-ngerman.ldf}}
+\AfterBabelLanguage{arabic}{\input{statements-arabic.ldf}}
% \end{macrocode}
%
% \subsection{Statements}\label{sec:impl:statements}
@@ -661,6 +701,7 @@
% we just run the respective termination macro.
% \begin{macrocode}
\def\define@statement@env#1{%
+\ifcsdef{#1}{\cslet{#1}{\relax}\cslet{end#1}{\relax}}{}% to redefine if necessary
\newenvironment{#1}[1][]{\metasetkeys{omtext}{##1}\sref@target%
\@in@omtexttrue%
\ifx\omtext@display\st@flow\else%
@@ -668,8 +709,8 @@
\ifx\sref@id\@empty\else\label{#1.\sref@id}\fi
\csname st@#1@initialize\endcsname\fi% display
\ifx\sref@id\@empty\sref@label@id{here}\else%
-\sref@label@id{\STpresent{\csname ST#1EnvKeyword\endcsname}~\@currentlabel}\fi%
-\ignorespaces}
+\sref@label@id{\STpresent{\csname st@#1@kw\endcsname}~\@currentlabel}\fi%
+\strut\ignorespaces}
{\csname st@#1@terminate\endcsname\ifx\omtext@display\st@flow\else\end{ST#1Env}\fi%
\omtext@post@skip\@in@omtextfalse}}
% \end{macrocode}
@@ -679,14 +720,18 @@
% \begin{macrocode}
\newenvironment{assertion}[1][]{\metasetkeys{omtext}{#1}\sref@target%
\@in@omtexttrue%
-\ifx\omtext@display\st@flow\itshape\noindent\ignorespaces%
+\ifx\omtext@display\st@flow
+ \itshape\noindent\ignorespaces%
\else% display!=flow
-\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}%display=flow
-{\ifx\omtext@display\st@flow\else\end{ST\omtext@type AssEnv}\@in@omtextfalse\fi}
+ \xdef\@@@type{\omtext@type}% to keep it safe from \inlinedef
+ \ifx\omtext@title\@empty\begin{ST\@@@type AssEnv}%
+ \else\begin{ST\@@@type AssEnv}[\omtext@title]%
+ \fi%
+\fi %display=flow
+\ifx\omtext@type\@empty\else%
+\sref@label@id{\STpresent{\csname st@\@@@type @kw\endcsname}~\@currentlabel}
+\fi}
+{\ifx\omtext@display\st@flow\else\end{ST\@@@type AssEnv}\@in@omtextfalse\fi}
% \end{macrocode}
% \end{environment}
%
@@ -710,14 +755,25 @@
% \end{macro}
% Then we configure the presentation of the theorem environments
% \begin{macrocode}
+\if@nthm
\theorembodyfont{\itshape}
\theoremheaderfont{\normalfont\bfseries}
+\else
+\theoremstyle{plain}
+\fi
% \end{macrocode}
-% and then we finally define the theorem environments in terms of the statement keywords
-% defined above. They are all numbered together with the section counter.
+%
% \begin{environment}{ST*AssEnv}
+% We define a number of internal assertion environments according to the values of its
+% |type| key.
% \begin{macrocode}
-\newtheorem{STtheoremAssEnv}{\st@theorem@kw}[section]
+\if@msection
+\newtheorem{STtheoremAssEnv}{\st@theorem@kw}[msection]
+\else
+\ifdef{\thesection}
+{\newtheorem{STtheoremAssEnv}{\st@theorem@kw}[section]}
+{\newtheorem{STtheoremAssEnv}{\st@theorem@kw}}
+\fi
\newtheorem{STlemmaAssEnv}[STtheoremAssEnv]{\st@lemma@kw}
\newtheorem{STpropositionAssEnv}[STtheoremAssEnv]{\st@proposition@kw}
\newtheorem{STcorollaryAssEnv}[STtheoremAssEnv]{\st@corollary@kw}
@@ -727,20 +783,17 @@
\newtheorem{STobligationAssEnv}[STtheoremAssEnv]{\st@obligation@kw}
\newtheorem{STassumptionAssEnv}[STtheoremAssEnv]{\st@assumption@kw}
\newtheorem{STobservationAssEnv}[STtheoremAssEnv]{\st@observation@kw}
-\theorembodyfont{\rm}
+\if@nthm\theorembodyfont{\rmfamily}\else\theoremstyle{definition}\fi
\newtheorem{STremarkAssEnv}[STtheoremAssEnv]{\st@remark@kw}
\newtheorem{STruleAssEnv}[STtheoremAssEnv]{\st@rule@kw}
% \end{macrocode}
% \end{environment}
%
% \begin{environment}{example}
-% \ednote{need to do something clever for the OMDoc representation of examples, in
-% particular, the usevocab should only be defined in example}
% \begin{macrocode}
\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}
% \end{macrocode}
% \end{environment}
@@ -750,7 +803,6 @@
\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}
% \end{macrocode}
% \end{environment}
@@ -794,7 +846,6 @@
% We first define a theorem environment
% \begin{macrocode}
\def\st@typedec@kw{Type Declaration}
-\theorembodyfont{\upshape}
\newtheorem{STtypedecEnv}[STtheoremAssEnv]{\st@typedec@kw}
% \end{macrocode}
% and then the environment itself.
@@ -805,7 +856,7 @@
\ifx\omtext@title\@empty\begin{STtypedecEnv}\else\begin{STtypedecEnv}[\omtext@title]\fi%
\ifx\sref@id\@empty\else\label{typedec.\sref@id}\fi
\ifx\sref@id\@empty\sref@label@id{here}\else%
-\sref@label@id{\STpresent{\csname STtypedecEnvKeyword\endcsname}~\@currentlabel}\fi%
+\sref@label@id{\STpresent{\csname st@typedec@kw\endcsname}~\@currentlabel}\fi%
\ignorespaces}
{\ifx\omtext@display\st@flow\else\end{STtypedecEnv}\fi\omtext@post@skip}
% \end{macrocode}
@@ -816,15 +867,15 @@
% the |\st@indef| switch to suppress warnings from |\st@def@target|.
% \begin{macrocode}
\newif\ifst@indef\st@indeffalse
+\ifcsdef{definition}{\cslet{definition}{\relax}\cslet{enddefinition}{\relax}}{}% to redefine if necessary
\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%
+\sref@label@id{\STpresent{\csname st@definition@kw\endcsname}~\@currentlabel}\fi%
\ignorespaces}
{\ifx\omtext@display\st@flow\else\end{STdefinitionEnv}\fi}
\def\st@definition@kw{Definition}
-\theorembodyfont{\upshape}
\newtheorem{STdefinitionEnv}[STtheoremAssEnv]{\st@definition@kw}
% \end{macrocode}
% \end{environment}
@@ -838,27 +889,26 @@
\def\st@notation@initialize{}
\define@statement@env{notation}
\def\st@notation@kw{Notation}
-\theorembodyfont{\upshape}
\newtheorem{STnotationEnv}[STtheoremAssEnv]{\st@notation@kw}
% \end{macrocode}
% \end{environment}
%
% \begin{macro}{\st@def@target}
% the next macro is a variant of the |\sref@target| macro provided by the |sref| package
-% specialized for the use in the |\definiendum|, |\defi|, |\defii|, and |\defiii|
-% macros. |\st@def@target{|\meta{opt}|}{|\meta{name}|}| makes a target with label
-% |sref@|\meta{opt}|@|\meta{modulename}|@target|, if \meta{opt} is non-empty, else with
-% the label |sref@|\meta{name}|@|\meta{modulename}|@target| (the first time it
+% specialized for the use in the |\definiendum|, |\defi*|, |\Defi*|, |\defi*s|, and |\Defi*s|
+% macros. |\st@def@target{|\meta{opt}|}{|\meta{name}|}{|\meta{text}|}| makes a target
+% with label |sref@|\meta{opt}|@|\meta{modulename}|@target|, if \meta{opt} is non-empty,
+% else with the label |sref@|\meta{name}|@|\meta{modulename}|@target| (the first time it
% encounters this symbol; i.e. if |\sref@|\meta{name}|@|\meta{modulename}|@defined| is
-% undefined). Also it generates the necessary warnings for a definiendum-like
-% macro.
+% undefined). And it formats the |\defemph|-emphasized \meta{text}. Also it generates
+% the necessary warnings for a definiendum-like macro.
% \begin{macrocode}
-\newcommand\st@def@target[3]{\def\@symname{#1}\def\@verbname{#2}%
+\newcommand\st@def@target[3]{\edef\@symname{#1}\def\@verbname{#2}%
\ifst@indef% if we are in a definition or such
\@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
+\protect\definiendum, \protect\defi*,
+\protect\Defi*, \protect\defi*s, \protect\Defi*s\MessageBreak
can only be referenced when called in a module with id key}}%
{% now we are in a module
\edef\@@cd{\ifx\omtext@theory\@empty\mod@id\else\omtext@theory\fi}%
@@ -866,15 +916,16 @@ can only be referenced when called in a module with id key}}%
\defemph{\@ifundefined{sref@\@@name @\@@cd @defined}%
{\expandafter\sref@target@ifh{sref@\@@name @\@@cd @target}{#3}}%
{#3}}%
+%\footnote{sTeX: target sref@\@@name @\@@cd @target}% for testing targets
\expandafter\gdef\csname sref@\@@name @\@@cd @defined\endcsname{yes}%
\ifmetakeys@showmeta\metakeys@show@keys{\@@cd}{name:\@@name}\fi}%
-\else% st@indef
+\else% st@indef: we are not in a definition or such
\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}%
+\protect\Defi, \protect\defi*s, \protect\Defi*s\MessageBreak
+do not make sense semantically outside a definition.}
+{Consider wrapping the defining phrase in a \protect\inlinedef}%
\fi}% st@indef
% \end{macrocode}
% \end{macro}
@@ -897,8 +948,10 @@ Consider wrapping the defining phrase in a \protect\inlinedef}%
%
% \begin{macro}{\definiendum}
% \begin{macrocode}
-%\newcommand\definiendum[2][]{\st@def@target{#1}{#2}\@termdef[#1]{#2}{#2}}
-\newcommand\definiendum[2][]{\st@def@target{#1}{#2}{#2}}
+\addmetakey{definiendum}{name}
+\addmetakey{definiendum}{lemma}
+\newcommand\definiendum[2][]{\setkeys{definiendum}{#1}%
+\st@def@target{\definiendum@name}{\definiendum@name}{#2}}
% \end{macrocode}
% \end{macro}
%
@@ -910,7 +963,7 @@ Consider wrapping the defining phrase in a \protect\inlinedef}%
% \end{macrocode}
% \end{macro}
%
-% We expand the {\latexml} bindings for |\defi|, |\defii| and |\defiii| into two
+% We expand the {\latexml} bindings for |\defi|, |\defii|, |\defiii| and |\defiv| into two
% instances one will be used for the definition and the other for indexing.
%
% \begin{macro}{\defi}
@@ -918,9 +971,15 @@ Consider wrapping the defining phrase in a \protect\inlinedef}%
% handles the last optional argument and does the indexing. The information flow between
% them goes via the local |\@phrase| macro.
% \begin{macrocode}
-\newcommand\defi[2][]{\st@def@target{#1}{#2}{#2}\def\@phrase{#2}\@defi}
\newcommand\@defi[1][]{\ifdef@index\omdoc@indexi[#1]{\@phrase}\fi\xspace}
-\newcommand\defis[2][]{\st@def@target{#1}{#2}{#2s}\def\@phrase{#2}\@defi}
+\newcommand\defi[2][]{\metasetkeys{definiendum}{#1}%
+\st@def@target{\definiendum@name}{#2}{#2}\def\@phrase{#2}\@defi}
+\newcommand\defis[2][]{\metasetkeys{definiendum}{#1}%
+\st@def@target{\definiendum@name}{#2}{#2s}\def\@phrase{#2}\@defi}
+\newcommand\Defi[2][]{\metasetkeys{definiendum}{#1}%
+\st@def@target{\definiendum@name}{#2}{\capitalize{#2}}\def\@phrase{#2}\@defi}
+\newcommand\Defis[2][]{\metasetkeys{definiendum}{#1}%
+\st@def@target{\definiendum@name}{#2}{\capitalize{#2s}}\def\@phrase{#2}\@defi}
% \end{macrocode}
% \end{macro}
%
@@ -928,35 +987,43 @@ Consider wrapping the defining phrase in a \protect\inlinedef}%
% Again we split the |\adefi| macro into two parts: |\adef| does the definiendum bit and
% |\@adefi| handles the last optional argument and does the indexing.
% \begin{macrocode}
-\newcommand\adefi[3][]{\def\@name{#1}\def\@verb{#3}%
-\st@def@target{#1}{#3}{#2}\@adefi}
+\newcommand\adefi[3][]{\metasetkeys{definiendum}{#1}\def\@verb{#3}%
+\st@def@target{\definiendum@name}{#3}{#2}\@adefi}
\newcommand\@adefi[1][]{%
\ifdef@index%
-\ifx\@name\@empty\omdoc@indexi[#1]{\@verb}%
-\else\omdoc@indexi[at=\@name,#1]{\@verb}\fi%
+\ifx\definiendum@name\@empty\omdoc@indexi[#1]{\@verb}%
+\else\omdoc@indexi[at=\definiendum@name,#1]{\@verb}\fi%
\fi\xspace}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\defii}
% \begin{macrocode}
-\newcommand\@defii[1][]{\ifdef@index\@twin[#1]{\@pone}{\@ptwo}\fi\xspace}
-\newcommand\defii[3][]{\def\@pone{#2}\def\@ptwo{#3}%
-\st@def@target{#1}{#2-#3}{#2 #3}\@defii}
-\newcommand\defiis[3][]{\def\@pone{#2}\def\@ptwo{#3}%
-\st@def@target{#1}{#2-#3}{#2 #3s}\@defii}
+\newcommand\@defii[1][]{\ifdef@index\omdoc@indexii[#1]{\@pone}{\@ptwo}\fi\xspace}
+\newcommand\defii[3][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}%
+\st@def@target{\definiendum@name}{#2-#3}{#2 #3}\@defii}
+\newcommand\defiis[3][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}%
+\st@def@target{\definiendum@name}{#2-#3}{#2 #3s}\@defii}
+\newcommand\Defii[3][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}%
+\st@def@target{\definiendum@name}{#2-#3}{\capitalize{#2 #3}}\@defii}
+\newcommand\Defiis[3][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}%
+\st@def@target{\definiendum@name}{#2-#3}{\capitalize{#2 #3s}}\@defii}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\adefii}
% analogous to |\adefi|
% \begin{macrocode}
-\newcommand\adefii[4][]{\def\@name{#1}\def\@pone{#3}\def\@ptwo{#4}%
-\st@def@target{#1}{#3-#4}{#2}\@adefii}
+\newcommand\adefii[4][]{\metasetkeys{definiendum}{#1}\def\@pone{#3}\def\@ptwo{#4}%
+\st@def@target{\definiendum@name}{#3-#4}{#2}\@adefii}
\newcommand\@adefii[1][]{%
\ifdef@index%
-\ifx\@name\@empty\@twin[#1]{\@pone}{\@ptwo}%
-\else\@twin[at=\@name,#1]{\@pone}{\@ptwo}\fi%
+\ifx\definiendum@name\@empty\omdoc@indexii[#1]{\@pone}{\@ptwo}%
+\else\omdoc@indexii[at=\definiendum@name,#1]{\@pone}{\@ptwo}\fi%
\fi\xspace}
% \end{macrocode}
% \end{macro}
@@ -964,22 +1031,62 @@ Consider wrapping the defining phrase in a \protect\inlinedef}%
% \begin{macro}{\defiii}
% similar to |\defii|
% \begin{macrocode}
-\newcommand\defiii[4][]{\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
-\st@def@target{#1}{#2-#3-#4}{#2 #3 #4}\@defiii}
-\newcommand\@defiii[1][]{\ifdef@index\@atwin[#1]{\@pone}{\@ptwo}{\@pthree}\fi\xspace}
-\newcommand\defiiis[4][]{\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
-\st@def@target{#1}{#2-#3-#4}{#2 #3 #4s}\@defiii}
+\newcommand\@defiii[1][]{\ifdef@index\omdoc@indexiii[#1]{\@pone}{\@ptwo}{\@pthree}\fi\xspace}
+\newcommand\defiii[4][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
+\st@def@target{\definiendum@name}{#2-#3-#4}{#2 #3 #4}\@defiii}
+\newcommand\defiiis[4][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
+\st@def@target{\definiendum@name}{#2-#3-#4}{#2 #3 #4s}\@defiii}
+\newcommand\Defiii[4][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
+\st@def@target{\definiendum@name}{#2-#3-#4}{\capitalize{#2 #3 #4}}\@defiii}
+\newcommand\Defiiis[4][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
+\st@def@target{\definiendum@name}{#2-#3-#4}{\capitalize{#2 #3 #4s}}\@defiii}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\adefiii}
% \begin{macrocode}
-\newcommand\adefiii[5][]{\def\@name{#1}\def\@pone{#3}\def\@ptwo{#4}\def\@pthree{#3}%
-\st@def@target{#1}{#3-#4-#5}{#2}\@adefiii}
+\newcommand\adefiii[5][]{\metasetkeys{definiendum}{#1}\def\@pone{#3}\def\@ptwo{#4}\def\@pthree{#5}%
+\st@def@target{\definiendum@name}{#3-#4-#5}{#2}\@adefiii}
\newcommand\@adefiii[1][]{%
\ifdef@index%
-\ifx\@name\@empty\@atwin[#1]{\@pone}{\@ptwo}{\@pthree}%
-\else\@atwin[at=\@name,#1]{\@pone}{\@ptwo}{\@pthree}\fi%
+\ifx\definiendum@name\@empty\omdoc@indexiii[#1]{\@pone}{\@ptwo}{\@pthree}%
+\else\omdoc@indexiii[at=\definiendum@name,#1]{\@pone}{\@ptwo}{\@pthree}\fi%
+\fi\xspace}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\defiv}
+% similar to |\defiii|
+% \begin{macrocode}
+\newcommand\@defiv[1][]{\ifdef@index\omdoc@indexiv[#1]{\@pone}{\@ptwo}{\@pthree}{\@ptfour}\fi\xspace}
+\newcommand\defiv[5][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
+\st@def@target{\definiendum@name}{#2-#3-#4-#5}{#2 #3 #4 #5}\@defiv}
+\newcommand\defivs[5][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
+\st@def@target{\definiendum@name}{#2-#3-#4-#5}{#2 #3 #4 #5s}\@defiv}
+\newcommand\Defiv[5][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
+\st@def@target{\definiendum@name}{#2-#3-#4-#5}{\capitalize{#2 #3 #4 #5}}\@defiv}
+\newcommand\Defivs[5][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
+\st@def@target{\definiendum@name}{#2-#3-#4-#5}{\capitalize{#2 #3 #4 #5s}}\@defiv}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\adefiv}
+% \begin{macrocode}
+\newcommand\adefiv[6][]{\metasetkeys{definiendum}{#1}%
+\def\@pone{#3}\def\@ptwo{#4}\def\@pthree{#5}\def\@ptfour{#6}%
+\st@def@target{\definiendum@name}{#3-#4-#5-#6}{#2}\@adefiv}
+\newcommand\@adefiv[1][]{%
+\ifdef@index%
+\ifx\definiendum@name\@empty\@indiv[#1]{\@pone}{\@ptwo}{\@pthree}{\@ptfour}%
+\else\@indiv[at=\definiendum@name,#1]{\@pone}{\@ptwo}{\@pthree}{\@ptfour}\fi%
\fi\xspace}
% \end{macrocode}
% \end{macro}
@@ -1003,7 +1110,7 @@ Consider wrapping the defining phrase in a \protect\inlinedef}%
\newcommand\inlinedef[2][]{\metasetkeys{omtext}{#1}%
\if@in@omtext\else% we are not in an omtext or statement
\PackageError{modules}{\protect\inlinedef\space outside a statement!}%
-{Try wrapping the paragraph in a\MessageBreak
+{Try wrapping the paragraph in a\MessageBreak
\protect\begin{omtext}, \protect\begin{assertion}, \protect\begin{axiom}, ... \MessageBreak
whatever is suitable semantically}\fi%
\sref@target\sref@label@id{here}\st@indeftrue #2}
@@ -1025,15 +1132,16 @@ whatever is suitable semantically}\fi%
\addmetakey*{termref}{name}
\addmetakey*{termref}{role}
\newcommand\termref[2][]{\metasetkeys{termref}{#1}%
- \ifx\termref@cd\@empty\def\termref@cd{\mod@id}\fi%
- \ifx\termref@name\@empty\def\termref@name{#2}\fi%
- \@ifundefined{sref@\termref@name @\termref@cd @defined}
- {\ifx\termref@cdbase\@empty% external reference
- \mod@termref\termref@cd\termref@name{#2}%
- \else\sref@href@ifh\termref@cdbase{#2}%
- \fi}%
- {\sref@hlink@ifh{sref@\termref@name @\termref@cd @target}{#2}}%
-}
+\ifx\termref@cd\@empty\def\termref@cd{\mod@id}\fi%
+\ifx\termref@name\@empty\def\termref@name{#2}\fi%
+\@ifundefined{sref@\termref@name @\termref@cd @defined}%
+{\ifx\termref@cdbase\@empty% external reference
+\mod@termref\termref@cd\termref@name{#2}%
+\else\sref@href@ifh\termref@cdbase{#2}%
+\fi}%
+{\def\@label{sref@\termref@name @\termref@cd @target}%
+\sref@hlink@ifh\@label{#2}%\footnote{termref: internal reference to \@label}
+}}
% \end{macrocode}
% \end{macro}
%
@@ -1043,6 +1151,7 @@ whatever is suitable semantically}\fi%
\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\atrefiv[6][]{\atrefi[#1]{#2}{#3-#4-#5-#6}}
% \end{macrocode}
% \end{macro}
%
@@ -1051,9 +1160,24 @@ whatever is suitable semantically}\fi%
\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}}
+\newcommand\trefiv[5][]{\atrefi[#1]{#2 #3 #4 #5}{#2-#3-#4-#5}}
\newcommand\trefis[2][]{\atrefi[#1]{#2s}{#2}}
\newcommand\trefiis[3][]{\atrefi[#1]{#2 #3s}{#2-#3}}
\newcommand\trefiiis[4][]{\atrefi[#1]{#2 #3 #4s}{#2-#3-#4}}
+\newcommand\trefivs[5][]{\atrefi[#1]{#2 #3 #4 #5s}{#2-#3-#4-#5}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Tref*}
+% \begin{macrocode}
+\newcommand\Trefi[2][]{\atrefi[#1]{\capitalize{#2}}{#2}}
+\newcommand\Trefii[3][]{\atrefi[#1]{\capitalize{#2 #3}}{#2-#3}}
+\newcommand\Trefiii[4][]{\atrefi[#1]{\capitalize{#2 #3 #4}}{#2-#3-#4}}
+\newcommand\Trefiv[5][]{\atrefi[#1]{\capitalize{#2 #3 #4 #5}}{#2-#3-#4-#5}}
+\newcommand\Trefis[2][]{\atrefi[#1]{\capitalize{#2s}}{#2}}
+\newcommand\Trefiis[3][]{\atrefi[#1]{\capitalize{#2 #3s}}{#2-#3}}
+\newcommand\Trefiiis[4][]{\atrefi[#1]{\capitalize{#2 #3 #4s}}{#2-#3-#4}}
+\newcommand\Trefivs[5][]{\atrefi[#1]{\capitalize{#2 #3 #4 #5s}}{#2-#3-#4-#5}}
% \end{macrocode}
% \end{macro}
%
@@ -1125,49 +1249,56 @@ whatever is suitable semantically}\fi%
%
\endinput
% \iffalse
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End:
+% \fi
% LocalWords: GPL structuresharing STR dtx keyval env envfalse idfalse idtrue typedec st
% LocalWords: displayfalse envtrue displaytrue forfalse typefalse titlefalse filedate eg
% LocalWords: continuesfalse fortrue fromtrue typetrue titletrue CPERL omdoc thedectype
% LocalWords: continuestrue symboldec omtext RequirePackage lowcase lc ToString termin
% LocalWords: foreach hyperref href hlink DefStatement OptionalKeyVals ne NeedsTeXFormat
% LocalWords: KeyVal xml CMP simpleDef PatternDef DefStatement PatternRule thedectype
-% LocalWords: requation PatternCMP RecDef DefConstructor keyvals defs psymbols tref
+% LocalWords: requation PatternCMP RecDef DefConstructor keyvals defs psymbols tref eset
% LocalWords: openElement symb closeElement ffor getValue attrs metadata undef rangle
% LocalWords: afterDigestBegin setProperty AssignValue afterDigest definiendum rangle
% LocalWords: cd addr LookupValue getArg toString idx idt definiendum ide idp st@flow
% LocalWords: DefMacro args unlist inlinedef uri pdf afterOpen numberIt texttt XMath
% LocalWords: iffalse consymb ntheorem textbackslash symref def scsys sc sc kw endinput
% LocalWords: mathml openmath latexml activemath fileversion maketitle stex importmodule
-% LocalWords: setcounter tocdepth tableofcontents newpage sproofs ulsmf08 sref
+% LocalWords: setcounter tocdepth tableofcontents newpage sproofs ulsmf08 sref usevocab
% LocalWords: MaySch eltte09 twintoo sref subsubsection exfig vspace vspace usemhvocab
-% LocalWords: noindent renewtheorem hline textbf textbf footnotesize ple peano
+% LocalWords: noindent renewtheorem hline textbf textbf footnotesize ple peano inlineass
% LocalWords: STaxiomEnv symdef medskip succ mathbb ldots stepcounter ednote usemhmodule
% LocalWords: STtheoremAssEnv stepcounter STtheoremAssEnv stepcounter defin STtypedecEnv
-% LocalWords: STtheoremAssEnv notatiendum defin smomdl biblatex twindef cdbase
-% LocalWords: twindef atwindef atwindef adjectivized varaiants twindefalt cseq
-% LocalWords: twindefalt atwindefalt atwindefalt csymbol definalt termref emph
-% LocalWords: termref compactdesc KohAmb smmssl twinref atwinref newpart impl
-% LocalWords: termdef defemph defemph renewcommand termemph termenph stDMemph
-% LocalWords: stDMemph STpresent STpresent makeatletter STlemmaAssEnv textsf
-% LocalWords: STpropositionAssEnv STcorollaryAssEnv STconjectureAssEnv langle
-% LocalWords: STfalseconjectureAssEnv STpostulateAssEnv STobligationAssEnv foo
-% LocalWords: STassumptionAssEnv STobservationAssEnv STexampleEnv textsf ltxml
-% LocalWords: STdefinitionEnv STnotationEnv printbibliography langle ncname
-% LocalWords: theoremstyle sym newenvironment ifx csname endcsname inlineex
-% LocalWords: currentlabel theorembodyfont itshape theoremheaderfont bfseries
-% LocalWords: normalfont newtheorem upshape srefaddidkey definendum
-% LocalWords: newcommand indef newif ifst indeffalse indeftrue attr whatsit
-% LocalWords: STdefinitionEnvKeyword notemph modulename ifundefined atwin defi
-% LocalWords: expandafter providecommand nameuse doctex ctancite funval defii
+% LocalWords: STtheoremAssEnv notatiendum defin smomdl biblatex twindef cdbase defis
+% LocalWords: twindef atwindef atwindef adjectivized varaiants twindefalt cseq defindex
+% LocalWords: twindefalt atwindefalt atwindefalt csymbol definalt termref emph emptyset
+% LocalWords: termref compactdesc KohAmb smmssl twinref atwinref newpart impl customized
+% LocalWords: termdef defemph defemph renewcommand termemph termenph stDMemph formalized
+% LocalWords: stDMemph STpresent STpresent makeatletter STlemmaAssEnv textsf emphasized
+% LocalWords: STpropositionAssEnv STcorollaryAssEnv STconjectureAssEnv langle defiis
+% LocalWords: STfalseconjectureAssEnv STpostulateAssEnv STobligationAssEnv foo defiis
+% LocalWords: STassumptionAssEnv STobservationAssEnv STexampleEnv textsf ltxml defiiis
+% LocalWords: STdefinitionEnv STnotationEnv printbibliography langle ncname localization
+% LocalWords: theoremstyle sym newenvironment ifx csname endcsname inlineex loadmodules
+% LocalWords: currentlabel theorembodyfont itshape theoremheaderfont bfseries defiiis
+% LocalWords: normalfont newtheorem upshape srefaddidkey definendum customization gdef
+% LocalWords: newcommand indef newif ifst indeffalse indeftrue attr whatsit automatized
+% LocalWords: STdefinitionEnvKeyword notemph modulename ifundefined atwin defi behavior
+% LocalWords: expandafter providecommand nameuse doctex ctancite funval defii initialize
+% LocalWords: funsymbs findnodes symbolnode defsref showmeta showmeta sysname ngerman
+% LocalWords: defii defiii defiii adefi adefi adefii adefii adefiii adefiii STruleAssEnv
+% LocalWords: trefi trefii trefiii atref atrefi atrefii atrefiii conf metakeys setkeys
+% LocalWords: compactenum Deref metasetkeys addmetakey symtype ltx ltx sts specialized
+% LocalWords: ifmetakeys fntype rightarrow inlinetypedec inlinetypedec STremarkAssEnv
+% LocalWords: ignorespaces usemodule textcolor STtypedecEnvKeyword flexiformalization
+% LocalWords: statements-ngerman.ldf omdoc@indexi xspace trefis trefiis trefiiis
+% LocalWords: importmhmodule
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: funsymbs findnodes symbolnode defsref showmeta showmeta sysname
-% LocalWords: defii defiii defiii adefi adefi adefii adefii adefiii adefiii
-% LocalWords: trefi trefii trefiii atref atrefi atrefii atrefiii conf metakeys
-% LocalWords: compactenum Deref metasetkeys addmetakey symtype ltx ltx sts
-% LocalWords: ifmetakeys fntype rightarrow inlinetypedec inlinetypedec
-% LocalWords: ignorespaces usemodule textcolor STtypedecEnvKeyword
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End: