From 2b006ec0e0cafe12255f874f9c44786ab6f38901 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 20 Mar 2019 22:31:24 +0000 Subject: stex (20mar19) git-svn-id: svn://tug.org/texlive/trunk@50489 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/stex/cmath/cmath.sty | 2 +- Master/texmf-dist/tex/latex/stex/dcm/dcm.sty | 7 +- Master/texmf-dist/tex/latex/stex/hwexam/hwexam.cls | 2 +- Master/texmf-dist/tex/latex/stex/hwexam/hwexam.sty | 30 ++- .../tex/latex/stex/metakeys/metakeys.sty | 2 +- .../latex/stex/mikoslides/beamerthemeJacobs.sty | 6 +- .../tex/latex/stex/mikoslides/mikoaffiliation.sty | 54 ----- .../tex/latex/stex/mikoslides/mikoslides.cls | 33 ++- .../tex/latex/stex/mikoslides/mikoslides.sty | 223 +++++++++++++-------- .../texmf-dist/tex/latex/stex/modules/modules.sty | 59 +++--- Master/texmf-dist/tex/latex/stex/omdoc/omdoc.cls | 64 +++--- Master/texmf-dist/tex/latex/stex/omdoc/omdoc.sty | 66 +++--- Master/texmf-dist/tex/latex/stex/omtext/omtext.sty | 79 ++++++-- .../tex/latex/stex/presentation/presentation.sty | 2 +- .../texmf-dist/tex/latex/stex/problem/problem.sty | 25 ++- .../texmf-dist/tex/latex/stex/rfdmeta/rdfmeta.sty | 2 +- Master/texmf-dist/tex/latex/stex/smglom/smglom.cls | 2 +- .../tex/latex/stex/smultiling/smultiling.sty | 76 +++++-- Master/texmf-dist/tex/latex/stex/sproof/sproof.sty | 5 +- Master/texmf-dist/tex/latex/stex/sref/sref.sty | 22 +- .../tex/latex/stex/statements/statements.sty | 199 ++++++++++++------ Master/texmf-dist/tex/latex/stex/stex/stex.sty | 4 +- .../tex/latex/stex/structview/structview.sty | 46 ++--- .../tex/latex/stex/tikzinput/tikzinput.sty | 12 +- .../tex/latex/stex/workaddress/workaddress.sty | 55 ++--- 25 files changed, 661 insertions(+), 416 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/stex/mikoslides/mikoaffiliation.sty (limited to 'Master/texmf-dist/tex/latex/stex') diff --git a/Master/texmf-dist/tex/latex/stex/cmath/cmath.sty b/Master/texmf-dist/tex/latex/stex/cmath/cmath.sty index 86e08c6ad77..b34e72973b0 100644 --- a/Master/texmf-dist/tex/latex/stex/cmath/cmath.sty +++ b/Master/texmf-dist/tex/latex/stex/cmath/cmath.sty @@ -7,7 +7,7 @@ %% cmath.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{cmath}[2016/04/06 v0.1 inline content math] +\ProvidesPackage{cmath}[2019/03/20 v0.1 inline content math] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{presentation}} \ProcessOptions \RequirePackage{presentation} diff --git a/Master/texmf-dist/tex/latex/stex/dcm/dcm.sty b/Master/texmf-dist/tex/latex/stex/dcm/dcm.sty index 5b5cfb013d1..64343862c27 100644 --- a/Master/texmf-dist/tex/latex/stex/dcm/dcm.sty +++ b/Master/texmf-dist/tex/latex/stex/dcm/dcm.sty @@ -7,7 +7,7 @@ %% dcm.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{dcm}[2016/04/06 v0.3 Dublin Core Metadata] +\ProvidesPackage{dcm}[2019/03/20 v0.3 Dublin Core Metadata] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{rdfmeta} \PassOptionsToPackage{\CurrentOption}{workaddress}} \ProcessOptions @@ -18,9 +18,9 @@ {\@ifundefined{dcm@\@style @block}% {\message{style {\@style} not defined}}% {\csname dcm@\@style @block\endcsname}} -\def\DCMcreators#1{\@for\@I:=#1\do{\wa@ref@test{person}\@I{id}} +\def\DCMcreators#1{\@for\@I:=#1\do{\wa@ref1{person}\@I{id}} \gdef\dcm@creators{#1}} -\def\DCMcontributors#1{\@for\@I:=#1\do{\wa@ref@test{person}\@I{id}}% +\def\DCMcontributors#1{\@for\@I:=#1\do{\wa@ref1{person}\@I{id}}% \def\dcm@contributors{#1}} \def\DCMtitle#1{\def\dcm@title{#1}\providecommand{\dcm@shorttitle}{#1}} \def\dcm@subtitle{} @@ -82,7 +82,6 @@ T\ifnum\count1>9\else0\fi\the\count1:\ifnum\count3>9\else0\fi\the\count3:00Z} \def\dcm@subsection@heading{Subsection} \def\dcm@subsubsection@heading{Subsubsection} \def\dcm@paragraph@heading{Paragraph} -\def\omdoc{OMDoc} \endinput %% %% End of file `dcm.sty'. diff --git a/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.cls b/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.cls index 44aa7616d1b..d436118c072 100644 --- a/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.cls +++ b/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.cls @@ -7,7 +7,7 @@ %% hwexam.dtx (with options: `cls') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesClass{hwexam}[2016/04/06 v1.1 assignment and exam documents] +\ProvidesClass{hwexam}[2019/03/20 v1.1 assignment and exam documents] \DeclareOption*{ \PassOptionsToClass{\CurrentOption}{omdoc} \PassOptionsToPackage{\CurrentOption}{stex} diff --git a/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.sty b/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.sty index 2d2d29157a6..5c0e175cf0a 100644 --- a/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.sty +++ b/Master/texmf-dist/tex/latex/stex/hwexam/hwexam.sty @@ -7,7 +7,7 @@ %% hwexam.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{hwexam}[2016/04/06 v1.1 homework assignments and exams] +\ProvidesPackage{hwexam}[2019/03/20 v1.1 homework assignments and exams] \newif\if@hwexam@mh@\@hwexam@mh@false \DeclareOption{mh}{\@hwexam@mh@true} \newif\iftest\testfalse @@ -20,9 +20,18 @@ \if@hwexam@mh@\RequirePackage{hwexam-mh}\fi \RequirePackage{problem} \AfterBabelLanguage{ngerman}{\input{hwexam-ngerman.ldf}} +\AfterBabelLanguage{arabic}{\input{hwexam-arabic.ldf}} \newcommand\hwexam@assignment@kw{Assignment} \newcommand\hwexam@given@kw{Given} \newcommand\hwexam@due@kw{Due} +\newcommand\hwexam@testemptypage@kw{This page was intentionally left blank for extra + space}% +\newcommand\correction@probs@kw{prob.}% +\newcommand\correction@pts@kw{total}% +\newcommand\correction@reached@kw{reached}% +\newcommand\correction@sum@kw{Sum}% +\newcommand\correction@grade@kw{grade}% +\newcommand\correction@forgrading@kw{To be used for grading, do not write here} \newcounter{assignment} \numberproblemsin{assignment} \renewcommand\prob@label[1]{\arabic{assignment}.#1} @@ -147,7 +156,7 @@ {\noindent\large{}Name: \hfill Matriculation Number:\hspace*{2cm}\strut\\[1ex] \begin{center}\Large\textbf{\@title}\\[1ex]\large\@date\\[3ex]\end{center} {\textbf{You have -\ifx\test@heading@duration\@empty\testheading@min minutes\else\testheading@duration\fi +\ifx\testheading@duration\@empty\testheading@min minutes\else\testheading@duration\fi (sharp) for the test}};\\ Write the solutions to the sheet.}\par\noindent \newcount\check@time\check@time=\testheading@min @@ -168,8 +177,7 @@ bonus points. \vfill {\newpage} \newcommand\testspace[1]{\iftest\vspace*{#1}\fi} \newcommand\testnewpage{\iftest\newpage\fi} -\newcommand\testemptypage[1][]{\iftest\begin{center}This page was intentionally left - blank for extra space\end{center}\vfill\eject\else\fi} +\newcommand\testemptypage[1][]{\iftest\begin{center}\hwexam@testemptypage@kw\end{center}\vfill\eject\else\fi} \renewcommand\@problem[3]{\stepcounter{assignment@probs} \def\@@pts{#2}\ifx\@@pts\@empty\else\addtocounter{assignment@totalpts}{#2}\fi \def\@@min{#3}\ifx\@@min\@empty\else\addtocounter{assignment@totalmin}{#3}\fi @@ -179,17 +187,19 @@ bonus points. \vfill \newcounter{assignment@probs} \newcounter{assignment@totalpts} \newcounter{assignment@totalmin} -\newcommand\correction@probs{prob.}% -\newcommand\correction@pts{total}% -\newcommand\correction@reached{reached}% +\def\correction@probs{\correction@probs@kw}% +\def\correction@pts{\correction@pts@kw}% +\def\correction@reached{\correction@reached@kw}% +\def\after@correction@table{}% \stepcounter{assignment@probs} \newcommand\correction@table{\begin{tabular}{|l|*{\theassignment@probs}{c|}|l|}\hline% &\multicolumn{\theassignment@probs}{c||}%| -{\footnotesize To be used for grading, do not write here} &\\\hline -\correction@probs & Sum & grade\\\hline +{\footnotesize\correction@forgrading@kw} &\\\hline +\correction@probs & \correction@sum@kw & \correction@grade@kw\\\hline \correction@pts &\theassignment@totalpts & \\\hline \correction@reached & & \\[.7cm]\hline -\end{tabular}} +\end{tabular} +\ifx\after@correction@table\@empty\else\strut\par\noindent\after@correction@table\fi} \endinput %% %% End of file `hwexam.sty'. diff --git a/Master/texmf-dist/tex/latex/stex/metakeys/metakeys.sty b/Master/texmf-dist/tex/latex/stex/metakeys/metakeys.sty index 6e5f99abb5c..ac2304e9f0e 100644 --- a/Master/texmf-dist/tex/latex/stex/metakeys/metakeys.sty +++ b/Master/texmf-dist/tex/latex/stex/metakeys/metakeys.sty @@ -7,7 +7,7 @@ %% metakeys.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{metakeys}[2016/04/06 v0.9 Framework for Metadata Keys] +\ProvidesPackage{metakeys}[2019/03/20 v0.9 Framework for Metadata Keys] \newif\ifmetakeys@showmeta\metakeys@showmetafalse \DeclareOption{showmeta}{\metakeys@showmetatrue} \DeclareOption*{} diff --git a/Master/texmf-dist/tex/latex/stex/mikoslides/beamerthemeJacobs.sty b/Master/texmf-dist/tex/latex/stex/mikoslides/beamerthemeJacobs.sty index ac3fdde35c4..2581f00c04c 100644 --- a/Master/texmf-dist/tex/latex/stex/mikoslides/beamerthemeJacobs.sty +++ b/Master/texmf-dist/tex/latex/stex/mikoslides/beamerthemeJacobs.sty @@ -5,9 +5,7 @@ \ProvidesPackage{beamerthemeJacobs} \typeout{Beamer KWARC theme} \author[Kohlhase]{Michael Kohlhase} -\institute{\texttt{http://kwarc.info/kohlhase}\\ - Computer Science\\ - Jacobs University Bremen, Germany} +\institute{Computer Science, Jacobs University Bremen, Germany\\\url{http://kwarc.info}} \mode @@ -60,7 +58,7 @@ \setlength\leftmargini{1em} \setlength\leftmarginii{1em} \setlength\leftmarginiii{1em} -\newcommand{\vstretch}[1]{\vspace*{\stretch{#1}}} +\providecommand{\vstretch}[1]{\vspace*{\stretch{#1}}} \beamer@descriptionwidth=1cm diff --git a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoaffiliation.sty b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoaffiliation.sty deleted file mode 100644 index 3004b99b7ba..00000000000 --- a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoaffiliation.sty +++ /dev/null @@ -1,54 +0,0 @@ -\RequirePackage[ngerman,USenglish]{babel} - -\newcommand{\mikoand}[1]% joint work with -{{\large\sc Michael Kohlhase}\\{\normalsize\green{joint work with #1}}\\[1ex]\mikoaffiliation} - -\newcommand{\miko} -{{\large\sc Michael Kohlhase}\\[1ex] -\JacobsAffiliation} - -\newcommand{\mikoJacobsDFKI}{\mikoJacobsDfki} -\newcommand{\mikoJacobsDfki} -{{\large\sc Michael Kohlhase}\\[1ex] -\JacobsDfkiAffiliation} - -\newcommand{\JacobsAffiliation} -{{\begin{small} - Computer Science\\ - School of Engineering \& Science \\ - Jacobs University Bremen, Germany \\ - \end{small}} -{\color{black}\normalsize\url{http://kwarc.info/kohlhase}}} - -\newcommand{\mikoboth} -{\begin{creator} -{\large\sc Michael Kohlhase}\\[1ex] -{\small\begin{tabular}{c@{\qquad}c} -School of Engineering \& Science & School of Computer Science \\ -Jacobs University Bremen & Carnegie Mellon yUniversity -\end{tabular}} -{\color{black}\normalsize\url{http://kwarc.info/kohlhase}} -\end{creator}} - -\newcommand{\JacobsDfkiAffiliation} -{\begin{small} -\begin{tabular}{c@{\qquad}c} -Computer Science -&\iflanguage{german}{Sichere Kognitive Systeme}{Safe and Secure Cognitive Systems} \\ -%School of Engineering \& Science -%& DFKI Bremen\\ -Jacobs University, Bremen -&\iflanguage{german}{Deutsches Forschungszentrum f\"ur KI}{German Research Center for AI}\\ -\end{tabular} -\end{small} -{\color{black}\normalsize\url{http://kwarc.info/kohlhase}}} - -\newcommand{\mikocmu} -{\begin{creator} -{\large\sc Michael Kohlhase}\\[1ex] -{\small\begin{tabular}{c} -School of Computer Science \\ -Carnegie Mellon University \\ -\end{tabular}}\\ -{\color{black}\normalsize\url{http://kwarc.info/kohlhase}} -\end{center}} diff --git a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls index e678b2e8cef..fab70a55370 100644 --- a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls +++ b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls @@ -7,29 +7,28 @@ %% mikoslides.dtx (with options: `cls') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesClass{mikoslides}[2016/04/06 v1.1 Jacobs slides Class] -\newif\ifnotes\notesfalse -\DeclareOption{notes}{\notestrue\PassOptionsToPackage{\CurrentOption}{mikoslides}} -\DeclareOption{slides}{\notesfalse\PassOptionsToPackage{\CurrentOption}{mikoslides}} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{omdoc} - \PassOptionsToClass{\CurrentOption}{beamer} - \PassOptionsToPackage{\CurrentOption}{mikoslides}} -\ProcessOptions -\ifnotes +\ProvidesClass{mikoslides}[2019/03/20 v1.2 MiKo slides Class] +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{family=mks@cls,prefix=mks@cls@} +\DeclareStringOption[article]{class} +\AddToKeyvalOption*{class}{\PassOptionsToClass{class=\mks@cls@class}{omdoc} + \ifdefstring{\mks@cls@class}{book}{\PassOptionsToPackage{topsect=part}{mikoslides}}{} + \ifdefstring{\mks@cls@class}{report}{\PassOptionsToPackage{topsect=part}{mikoslides}}}{} +\DeclareBoolOption{notes} +\DeclareComplementaryOption{slides}{notes} +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{omdoc} + \PassOptionsToClass{\CurrentOption}{beamer} + \PassOptionsToPackage{\CurrentOption}{mikoslides}} +\ProcessKeyvalOptions{mks@cls} +\ifmks@cls@notes \LoadClass{omdoc} - \RequirePackage{a4wide} - \RequirePackage{marginnote} - \RequirePackage{mdframed} - \RequirePackage[notheorems,noamsthm,noxcolor]{beamerarticle} - \RequirePackage[bookmarks,bookmarksopen,bookmarksnumbered,breaklinks, - linkcolor=black,citecolor=black,urlcolor=cyan,filecolor=cyan,colorlinks]{hyperref} \else - \LoadClass[notheorems,noamsthm,10pt]{beamer} + \LoadClass[10pt,notheorems]{beamer} \newcounter{Item} \newcounter{paragraph} \newcounter{subparagraph} \newcounter{Hfootnote} - \usetheme{Jacobs} \fi \RequirePackage{mikoslides} \endinput diff --git a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.sty b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.sty index 75d40a942ee..cd19d98152b 100644 --- a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.sty +++ b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.sty @@ -7,46 +7,63 @@ %% mikoslides.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{mikoslides}[2016/04/06 v1.1 Jacobs slides Package] -\newif\if@mikoslides@mh@\@mikoslides@mh@false -\DeclareOption{mh}{\@mikoslides@mh@true - \PassOptionsToPackage{\CurrentOption}{stex} - \PassOptionsToPackage{\CurrentOption}{smglom} - \PassOptionsToPackage{\CurrentOption}{tikzinput}} -\newif\ifnotes\notesfalse -\DeclareOption{notes}{\notestrue} -\DeclareOption{slides}{\notesfalse} -\newif\ifsectocframes\sectocframesfalse -\DeclareOption{sectocframes}{\sectocframestrue} -\newif\ifframeimages\frameimagesfalse -\DeclareOption{frameimages}{\frameimagestrue} -\newif\if@part\@partfalse -\DeclareOption{report}{\@parttrue\PassOptionsToPackage{\CurrentOption}{omdoc}} -\DeclareOption{book}{\@parttrue\PassOptionsToPackage{\CurrentOption}{omdoc}} -\newif\ifproblems\problemstrue -\DeclareOption{noproblems}{\problemsfalse} -\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{stex} +\ProvidesPackage{mikoslides}[2019/03/20 v1.2 MiKo slides Package] +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=mks@sty,prefix=mks@sty@} +\DeclareStringOption[section]{topsect} +\DeclareBoolOption{mh} +\AddToKeyvalOption*{mh}{ + \PassOptionsToPackage{mh}{stex} + \PassOptionsToPackage{mh}{smglom} + \PassOptionsToPackage{mh}{tikzinput}} +\newif\ifnotes\notestrue +\DeclareBoolOption{notes} +\AddToKeyvalOption*{notes}{\notestrue\PassOptionsToPackage{notes}{statements}} +\DeclareComplementaryOption{slides}{notes} +\AddToKeyvalOption*{slides}{\notesfalse\PassOptionsToPackage{nontheorem}{statements}} +\DeclareBoolOption{sectocframes} +\AddToKeyvalOption*{sectocframes}{\PassOptionsToPackage{msection}{statements}} +\DeclareBoolOption{frameimages} +\DeclareBoolOption{noproblems} +\DeclareDefaultOption{\PassOptionsToPackage{\CurrentOption}{stex} \PassOptionsToPackage{\CurrentOption}{smglom} \PassOptionsToPackage{\CurrentOption}{tikzinput}} -\ProcessOptions -\if@mikoslides@mh@\RequirePackage{mikoslides-mh}\fi -\RequirePackage{stex} -\RequirePackage{smglom} -\RequirePackage{tikzinput} +\ProcessKeyvalOptions{mks@sty} +\ifmks@sty@notes +\RequirePackage{a4wide} +\RequirePackage{marginnote} +\RequirePackage{xcolor} +\RequirePackage{mdframed} +\RequirePackage[noxcolor,noamsthm]{beamerarticle} +\fi +\ifmks@sty@mh\RequirePackage{mikoslides-mh}\fi +\RequirePackage{etoolbox} \RequirePackage{amssymb} \RequirePackage{amsmath} \RequirePackage{comment} \RequirePackage{textcomp} \RequirePackage{url} +\RequirePackage{graphicx} +\RequirePackage{stex-logo} +\RequirePackage{pgf} +\ifmks@sty@notes +\RequirePackage[bookmarks,bookmarksopen,bookmarksnumbered,breaklinks, +linkcolor=black,citecolor=black,urlcolor=cyan,filecolor=cyan,colorlinks]{hyperref} +\fi +\RequirePackage{metakeys} +\ifmks@sty@notes +\renewcommand\usetheme[2][]{\usepackage[#1]{beamernotestheme#2}} +\fi \newcounter{slide} \newlength{\slidewidth}\setlength{\slidewidth}{12.8cm} \newlength{\slideheight}\setlength{\slideheight}{9cm} -\ifnotes% +\ifmks@sty@notes% \renewenvironment{note}{\ignorespaces}{}% \else% \excludecomment{note}% \fi% -\ifnotes +\newcommand\ninputref[2][]{\ifmks@sty@notes\inputref[#1]{#2}\fi} +\ifmks@sty@notes \newlength{\slideframewidth} \setlength{\slideframewidth}{1.5pt} \addmetakey{frame}{label} @@ -55,6 +72,7 @@ \addmetakey[yes]{frame}{fragile} \addmetakey[yes]{frame}{shrink} \addmetakey[yes]{frame}{squeeze} + \addmetakey[yes]{frame}{t} \renewenvironment{frame}[1][]{% \metasetkeys{frame}{#1}% \stepcounter{slide}% @@ -93,30 +111,29 @@ \fi %ifnotes \newrobustcmd\frameimage[2][]{% \stepcounter{slide}% - \ifframeimages% + \ifmks@sty@frameimages% \def\Gin@ewidth{}\setkeys{Gin}{#1}% - \ifnotes% - \else% - \vfill% - \fi% + \ifmks@sty@notes\else\vfill\fi% \ifx\Gin@ewidth\@empty% \mycgraphics[width=\slidewidth,#1]{#2}\else\mycgraphics[#1]{#2}% \fi% \par\strut\hfill{\footnotesize Slide \arabic{slide}}% - \ifnotes% - \else% - \vfill% - \fi% + \ifmks@sty@notes\else\vfill\fi% \fi% }% ifframeimages +\ifmks@sty@notes\newcommand\pause{}\fi +\ifmks@sty@notes\newenvironment{nomtext}[1][]{\begin{omtext}[#1]}{\end{omtext}}% +\else\excludecomment{nomtext}\fi% +\ifmks@sty@notes\newenvironment{nomgroup}[2][]{\begin{omgroup}[#1]{#2}}{\end{omgroup}}% +\else\excludecomment{nomgroup}\fi% \newlength{\slidelogoheight} -\ifnotes% +\ifmks@sty@notes% \setlength{\slidelogoheight}{.4cm}% \else% \setlength{\slidelogoheight}{1cm}% \fi% \newsavebox{\slidelogo}% -\sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{jacobs-logo}}% +\sbox{\slidelogo}{\sTeX}% \newrobustcmd{\setslidelogo}[1]{% \sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{#1}}% }% @@ -143,11 +160,11 @@ \def\licensing{{\usebox{\cclogo}}}% \else% \def\licensing{% - \ifcchref% - \href{#1}{\usebox{\cclogo}}% - \else% - {\usebox{\cclogo}}% - \fi% + \ifcchref% + \href{#1}{\usebox{\cclogo}}% + \else% + {\usebox{\cclogo}}% + \fi% }% \fi% }% @@ -157,20 +174,21 @@ {\licensing\hfill\copyrightnotice\hfill\arabic{slide}\hfill\usebox{\slidelogo}}% }% }% +\sffamily \AtBeginDocument{% - \definecolor{green}{rgb}{0,.5,0}% - \definecolor{purple}{cmyk}{.3,1,0,.17}% +\definecolor{green}{rgb}{0,.5,0}% +\definecolor{purple}{cmyk}{.3,1,0,.17}% }% \def\defemph#1{{\textcolor{magenta}{#1}}} \def\notemph#1{{\textcolor{magenta}{#1}}} \def\stDMemph#1{{\textcolor{blue}{#1}}} \def\@@lec#1{(\textcolor{green}{#1})} -\pgfdeclareimage[width=.9em]{miko@small@dbend}{dangerous-bend} +\pgfdeclareimage[width=.8em]{miko@small@dbend}{dangerous-bend} \def\smalltextwarning{% \pgfuseimage{miko@small@dbend}% \xspace% }% -\pgfdeclareimage[width=1.5em]{miko@dbend}{dangerous-bend} +\pgfdeclareimage[width=1.2em]{miko@dbend}{dangerous-bend} \newrobustcmd\textwarning{% \raisebox{-.05cm}{\pgfuseimage{miko@dbend}}% \xspace% @@ -186,45 +204,76 @@ \newrobustcmd\putat[2]{% \begin{picture}(0,0)\put(#1){#2}\end{picture}% }% -\ifsectocframes% - \if@part% - \newcounter{mpart}% - \newcounter{mchapter}% - \newcounter{msection}[mchapter]% - \else% - \newcounter{msection}% - \fi% - \newcounter{msubsection}[msection]% - \newcounter{msubsubsection}[msubsection]% - \newcounter{msubsubsubsection}[msubsubsection]% +\ifmks@sty@sectocframes% +\ifdefstring\mks@sty@topsect{part}{% + \newcounter{mpart}\newcounter{mchapter}\newcounter{msection}[mchapter]} +{\ifdefstring\mks@sty@topsect{chapter}{% + \newcounter{mchapter}\newcounter{msection}[mchapter]} + {\newcounter{msection}}} +\newcounter{msubsection}[msection]% +\newcounter{msubsubsection}[msubsection]% +\newcounter{msubsubsubsection}[msubsubsection]% \fi% ifsectocframes -\ifnotes\else% only in slides - \renewenvironment{omgroup}[2][]{% - \metasetkeys{omgroup}{#1}\sref@target% - \advance\section@level by 1% - \ifsectocframes% - \begin{frame}% - \vfill\Large\centering% - \red{% - \ifcase\section@level\or% - \stepcounter{mpart}Part \Roman{mpart}\or% - \stepcounter{mchapter}Chapter \arabic{mchapter}\or - \stepcounter{msection}\if@part\arabic{mchapter}.\fi\arabic{msection}\or - \stepcounter{msubsection}\if@part\arabic{mchapter}.\fi\arabic{msection}.\arabic{msubsection}\or - \stepcounter{msubsubsection}\if@part\arabic{mchapter}.\fi\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\or - \stepcounter{msubsubsubsection}\if@part\arabic{mchapter}.\fi\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\arabic{msubsubsubsection}% - \fi% end ifcase - \quad #2% - }% - \vfill% - \end{frame}% - \fi %ifsectocframes - } - {\advance\section@level by -1}% -\fi% ifnotes +\RequirePackage{stex} +\RequirePackage{smglom} +\RequirePackage{tikzinput} +\section@level=2 +\ifdefstring{\mks@sty@topsect}{part}{\section@level=0}{} +\ifdefstring{\mks@sty@topsect}{chapter}{\section@level=1}{} +\ifmks@sty@notes\else% only in slides +\def\part@prefix{\ifdefstring\mks@sty@topsect{part}{\arabic{mchapter}.}{}} +\renewenvironment{omgroup}[2][]{% + \metasetkeys{omgroup}{#1}\sref@target% + \advance\section@level by 1% + \ifmks@sty@sectocframes% + \stepcounter{slide} + \begin{frame}[noframenumbering]% + \vfill\Large\centering% + \red{% + \ifcase\section@level\or + \stepcounter{mpart} + \def\@@label{Part \Roman{mpart}} + \def\currentsectionlevel{part} + \or% + \stepcounter{mchapter} + \def\@@label{Chapter \arabic{mchapter}} + \def\currentsectionlevel{chapter} + \or + \stepcounter{msection} + \def\@@label{\part@prefix\arabic{msection}} + \def\currentsectionlevel{section} + \or + \stepcounter{msubsection} + \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}} + \def\currentsectionlevel{subsection} + \or + \stepcounter{msubsubsection} + \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}} + \def\currentsectionlevel{subsubsection} + \or + \stepcounter{msubsubsubsection} + \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\arabic{msubsubsubsection}} + \def\currentsectionlevel{subsubsubsection} + \fi% end ifcase + \@@label\sref@label@id\@@label + \quad #2% + }% + \vfill% + \end{frame}% + \fi %ifmks@sty@sectocframes +} +{\advance\section@level by -1}% +\fi% ifmks@sty@notes +\def\inserttheorembodyfont{\normalfont} +\defbeamertemplate{theorem begin}{miko} +{\inserttheoremheadfont\inserttheoremname\inserttheoremnumber + \ifx\inserttheoremaddition\@empty\else\ (\inserttheoremaddition)\fi% + \inserttheorempunctuation\inserttheorembodyfont\xspace} +\defbeamertemplate{theorem end}{miko}{} +\setbeamertemplate{theorems}[miko] \expandafter\def\csname Parent2\endcsname{} -\ifnotes% - \renewenvironment{columns}{% +\ifmks@sty@notes% + \renewenvironment{columns}[1][]{% \par\noindent% \begin{minipage}% \slidewidth\centering\leavevmode% @@ -232,13 +281,13 @@ \end{minipage}\par\noindent% }% \newsavebox\columnbox% - \renewenvironment{column}[1]{% - \begin{lrbox}{\columnbox}\begin{minipage}{#1}% + \renewenvironment<>{column}[2][]{% + \begin{lrbox}{\columnbox}\begin{minipage}{#2}% }{% \end{minipage}\end{lrbox}\usebox\columnbox% }% -\fi% -\ifproblems% +\fi% ifnotes +\ifmks@sty@noproblems% \newenvironment{problems}{}{}% \else% \excludecomment{problems}% diff --git a/Master/texmf-dist/tex/latex/stex/modules/modules.sty b/Master/texmf-dist/tex/latex/stex/modules/modules.sty index 25310cc8cfe..e2b6f5a4467 100644 --- a/Master/texmf-dist/tex/latex/stex/modules/modules.sty +++ b/Master/texmf-dist/tex/latex/stex/modules/modules.sty @@ -7,7 +7,7 @@ %% modules.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{modules}[2016/04/06 v1.4 Semantic Markup] +\ProvidesPackage{modules}[2019/03/20 v1.4 Semantic Markup] \newif\if@modules@mh@\@modules@mh@false \DeclareOption{mh}{\@modules@mh@true} \newif\ifmod@show\mod@showfalse @@ -16,6 +16,8 @@ \DeclareOption{noauxreq}{\aux@reqfalse} \newif\ifmod@qualified\mod@qualifiedfalse \DeclareOption{qualifiedimports}{\mod@qualifiedtrue} +\newif\if@trwarn\@trwarnfalse +\DeclareOption{trwarn}{\@trwarntrue} \newif\if@mmt\@mmtfalse \DeclareOption{mmt}{\@mmttrue} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}} @@ -32,6 +34,8 @@ \addmetakey*{module}{creators} \addmetakey*{module}{contributors} \addmetakey*{module}{srccite} +\addmetakey*{module}{align}[WithTheModuleOfTheSameName] +\addmetakey*{module}{noalign}[true] \define@key{module}{id}{% \edef\this@module{% \expandafter\noexpand\csname module@defs@#1\endcsname% @@ -45,7 +49,7 @@ \fi% \def\mod@id{#1}% }% -\newcounter{module}[section]% +\ifdef{\thesection}{\newcounter{module}[section]}{\newcounter{module}}% \newrobustcmd\module@heading{% \stepcounter{module}% \ifmod@show% @@ -73,12 +77,9 @@ \ifcsundef{module@#1@activated}{\csname module@defs@#1\endcsname}{}% \@namedef{module@#1@activated}{true}% }% -\def\export@defs#1{% -\@ifundefined{mod@id}{}{% +\def\export@defs#1{\@ifundefined{mod@id}{}{% \expandafter\expandafter\expandafter\g@addto@macro% - \expandafter\this@module\expandafter{\activate@defs{#1}}% -}% -}% +\expandafter\this@module\expandafter{\activate@defs{#1}}}}% \newif\if@importing\@importingfalse \newcommand\update@used@modules[1]{% \ifx\used@modules\@empty% @@ -111,11 +112,11 @@ \relax% do nothing, it has already been loaded, else signal an error }{% \PackageError{modules} - {{Module Name Clash\MessageBreak + {Module Name Clash\MessageBreak A module with name #2 was already loaded under the path "\@path"\MessageBreak The imported path "\@load" is probably a different module with the\MessageBreak same name; this is dangerous -- not importing}% - {Check whether the Module name is correct}}% + {Check whether the Module name is correct}% }% }% \fi}% @@ -147,6 +148,10 @@ \newif\if@symdeflocal% \srefaddidkey{symdef}% \define@key{symdef}{local}[true]{\@symdeflocaltrue}% +\define@key{symdef}{noverb}[all]{}% +\define@key{symdef}{align}[WithTheSymbolOfTheSameName]{}% +\define@key{symdef}{specializes}{}% +\addmetakey*{symdef}{noalign}[true] \define@key{symdef}{primary}[true]{}% \define@key{symdef}{assocarg}{}% \define@key{symdef}{bvars}{}% @@ -156,12 +161,8 @@ \addmetakey*{symdef}{description}% \addmetakey{symdef}{subject}% \addmetakey*{symdef}{display}% -\def\symdef{% - \@ifnextchar[{\@symdef}{\@symdef[]}% -}% -\def\@symdef[#1]#2{% - \@ifnextchar[{\@@symdef[#1]{#2}}{\@@symdef[#1]{#2}[0]}% -}% +\def\symdef{\@ifnextchar[{\@symdef}{\@symdef[]}}% +\def\@symdef[#1]#2{\@ifnextchar[{\@@symdef[#1]{#2}}{\@@symdef[#1]{#2}[0]}}% \def\@mod@nc#1{\mod@newcommand{#1}[1]}% \def\ignorespacesandpars{% \begingroup @@ -295,19 +296,25 @@ }% \def\@capitalize#1{\uppercase{#1}}% \newrobustcmd\capitalize[1]{\expandafter\@capitalize #1}% -\def\mod@termref#1#2#3{% - \def\@test{#3}% +\newcommand\mod@component[1]{} +\newcommand\mod@termref[3]{\def\@test{#3}% \@ifundefined{module@defs@#1}{% \protect\G@refundefinedtrue% - \@latex@warning{\protect\termref with unidentified cd "#1": the cd key must reference an active module}% - \def\@label{sref@#2@target}% - }% - {\def\@label{sref@#2@#1@target}}% - \@ifundefined{module@#1@path}% local reference - {\sref@hlink@ifh{\@label}{\ifx\@test\@empty #2\else #3\fi}}% - {\def\@uri{\csname module@#1@path\endcsname.pdf\#\@label}% - \sref@href@ifh{\@uri}{\ifx\@test\@empty #2\else #3\fi}}% + \if@trwarn + \PackageWarning{modules}{`\protect\termref' with unidentified cd "#1":\MessageBreak + the cd key must reference an active module}% + \else + \PackageError{modules}{`\protect\termref' with unidentified cd "#1"} + {the cd key must reference an active module}% + \fi}% + {\def\@label{sref@#2@#1\mod@component{#1}@target}% + \@ifundefined{module@#1@path}% local reference + {\sref@hlink@ifh{\@label}{\ifx\@test\@empty #2\else #3\fi}% + }% + {\def\@uri{\csname module@#1@path\endcsname\mod@component{#1}.pdf\#\@label}% + \sref@href@ifh{\@uri}{\ifx\@test\@empty #2\else #3\fi}% }% + }}% \def\CurrentDir{}% \newrobustcmd{\@rinput}[2]{% \@cpath{\CurrentDir#1}% @@ -342,7 +349,7 @@ \def\requirepackage#1#2{\makeatletter\input{#1.sty}\makeatother}% \newrobustcmd\sinput[1]{% \PackageError{modules}% - {The \protect\sinput macro is deprecated}{use the \protect\input instead!}% + {The `\protect\sinput' macro is deprecated}{use the \protect\input instead!}% }% \newrobustcmd\sinputref[1]{% \PackageError{modules}% diff --git a/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.cls b/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.cls index 76455b2bb4f..0b339f1841e 100644 --- a/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.cls +++ b/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.cls @@ -7,44 +7,48 @@ %% omdoc.dtx (with options: `cls') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesClass{omdoc}[2016/04/07 v1.2 OMDoc Documents] -\def\omdoc@class{article} -\DeclareOption{report}{\def\omdoc@class{report}% - \PassOptionsToPackage{\CurrentOption}{omdoc} - \PassOptionsToPackage{\CurrentOption}{stex}} -\newif\ifclass@book\class@bookfalse -\DeclareOption{book}{\def\omdoc@class{book}\class@booktrue% - \PassOptionsToPackage{\CurrentOption}{omdoc} - \PassOptionsToPackage{\CurrentOption}{stex}} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\omdoc@class} - \PassOptionsToPackage{\CurrentOption}{omdoc} - \PassOptionsToPackage{\CurrentOption}{stex}} -\ProcessOptions -\LoadClass{\omdoc@class} +\ProvidesClass{omdoc}[2019/03/20 v1.3 OMDoc Documents] \RequirePackage{etoolbox} +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=omdoc@cls,prefix=omdoc@cls@} +\DeclareStringOption[article]{class} +\AddToKeyvalOption*{class}{\PassOptionsToPackage{class=\omdoc@cls@class}{omdoc}} +\DeclareVoidOption{report}{\def\omdoc@cls@class{report}% +\ClassWarning{omdoc}{the option 'report' is deprecated, use 'class=report', instead}} +\DeclareVoidOption{book}{\def\omdoc@cls@class{book}% +\ClassWarning{omdoc}{the option 'part' is deprecated, use 'class=book', instead}} +\DeclareVoidOption{bookpart}{\def\omdoc@cls@class{book}% +\PassOptionsToPackage{topsect=chapter}{omdoc}% +\ClassWarning{omdoc}{the option 'bookpart' is deprecated, use 'class=book,topsect=chapter', instead}} +\def\@omdoc@cls@docopt{} +\DeclareDefaultOption{% +\ifx\@omdoc@cls@docopt\@empty% +\xdef\@omdoc@cls@docopt{\CurrentOption}% +\else\xappto\@omdoc@cls@docopt{,\CurrentOption}% +\fi}% +\PassOptionsToPackage{\CurrentOption}{omdoc} +\PassOptionsToPackage{\CurrentOption}{stex} +\ProcessKeyvalOptions{omdoc@cls} +\LoadClass[\@omdoc@cls@docopt]{\omdoc@cls@class} \RequirePackage{omdoc} \RequirePackage{stex} \srefaddidkey{document} \newcommand\documentkeys[1]{\metasetkeys{document}{#1}} \let\orig@document=\document -\srefaddidkey{document} \renewcommand{\document}[1][]{\metasetkeys{document}{#1}\orig@document} -\ifclass@book -\renewenvironment{frontmatter} -{\@frontmattertrue\cleardoublepage\@mainmatterfalse\pagenumbering{roman}} -{\@frontmatterfalse\setcounter{page}{1}\pagenumbering{arabic}} -\else +\ifcsdef{frontmatter}% to redefine if necessary + {\cslet{orig@frontmatter}{\frontmatter}\cslet{frontmatter}{\relax}} + {\cslet{orig@frontmatter}{\clearpage\@mainmatterfalse\pagenumbering{roman}}} +\ifcsdef{backmatter}% to redefine if necessary + {\cslet{orig@backmatter}{\backmatter}\cslet{backmatter}{\relax}} + {\cslet{orig@backmatter}{\clearpage\@mainmatterfalse\pagenumbering{roman}}} \newenvironment{frontmatter} -{\@frontmattertrue\pagenumbering{roman}} -{\@frontmatterfalse\setcounter{page}{1}\pagenumbering{arabic}} -\fi -\ifclass@book -\renewenvironment{backmatter} -{\cleardoublepage\@mainmatterfalse\@backmattertrue} -{\@backmatterfalse} -\else -\newenvironment{backmatter}{\@backmattertrue}{\@backmatterfalse} -\fi +{\orig@frontmatter} +{\ifcsdef{mainmatter}{}{\clearpage\@mainmattertrue\pagenumbering{arabic}}} +\newenvironment{backmatter} +{\orig@backmatter} +{\ifcsdef{mainmatter}{}{\clearpage\@mainmattertrue\pagenumbering{arabic}}} +\pagenumbering{arabic} \endinput %% %% End of file `omdoc.cls'. diff --git a/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.sty b/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.sty index 8cde99fa719..ae8ac708578 100644 --- a/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.sty +++ b/Master/texmf-dist/tex/latex/stex/omdoc/omdoc.sty @@ -7,18 +7,26 @@ %% omdoc.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{omdoc}[2016/04/07 v1.2 OMDoc document Structure] -\newif\ifshow@ignores\show@ignoresfalse -\DeclareOption{showignores}{\show@ignorestrue} -\newcount\section@level\section@level=2 -\DeclareOption{report}{\section@level=0} -\DeclareOption{book}{\section@level=0} -\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}} -\ProcessOptions +\ProvidesPackage{omdoc}[2019/03/20 v1.3 OMDoc document Structure] +\RequirePackage{kvoptions} +\SetupKeyvalOptions{family=omdoc@sty,prefix=omdoc@sty@} +\DeclareBoolOption{mh} +\DeclareStringOption[article]{class} +\DeclareBoolOption{showignores} +\DeclareStringOption[section]{topsect} +\newcount\section@level +\DeclareDefaultOption{\PassOptionsToPackage{\CurrentOption}{sref}} +\ProcessKeyvalOptions{omdoc@sty} +\ifomdoc@sty@mh\RequirePackage{omdoc-mh}\fi \RequirePackage{sref} \RequirePackage{xspace} \RequirePackage{comment} \RequirePackage{pathsuris} +\section@level=2 +\ifdefstring{\omdoc@sty@class}{book}{\section@level=0}{} +\ifdefstring{\omdoc@sty@class}{report}{\section@level=0}{} +\ifdefstring{\omdoc@sty@topsect}{part}{\section@level=0}{} +\ifdefstring{\omdoc@sty@topsect}{chapter}{\section@level=1}{} \def\current@section@level{document}% \newcommand\currentsectionlevel{\lowercase\expandafter{\current@section@level}\xspace}% \newcommand\Currentsectionlevel{\expandafter\MakeUppercase\current@section@level\xspace}% @@ -30,11 +38,15 @@ \ifx\hyper@anchor\@undefined\else\phantomsection\fi% \addcontentsline{toc}{#1}{#2}\@nameuse{#1}*{#2}} \newcommand\omgroup@num[2]{% -\sref@label@id{\omdoc@sect@name~\@nameuse{the#1}}% -\ifx\omgroup@short\@empty\@nameuse{#1}{#2}% -\else\@ifundefined{rdfmeta@sectioning}{\@nameuse{#1}[\omgroup@short]{#2}}% -{\@nameuse{rdfmeta@#1@old}[\omgroup@short]{#2}}% -\fi} +\edef\@@ID{\sref@id} +\ifx\omgroup@short\@empty% no short title +\@nameuse{#1}{#2}% +\else% we have a short title +\@ifundefined{rdfmeta@sectioning}% + {\@nameuse{#1}[\omgroup@short]{#2}}% + {\@nameuse{rdfmeta@#1@old}[\omgroup@short]{#2}}% +\fi% +\sref@label@id@arg{\omdoc@sect@name~\@nameuse{the#1}}\@@ID} \def\@true{true} \def\@false{false} \srefaddidkey{omgroup} @@ -47,8 +59,7 @@ \addmetakey*{omgroup}{display} \addmetakey[false]{omgroup}{loadmodules}[true] \newif\if@@num\@@numtrue -\newif\if@frontmatter\@frontmatterfalse -\newif\if@backmatter\@backmatterfalse +\newif\if@mainmatter\@mainmattertrue \newcommand\at@begin@omgroup[3][]{} \addmetakey{omdoc@sect}{name} \addmetakey[false]{omdoc@sect}{clear}[true] @@ -59,24 +70,29 @@ \if@@num% numbering not overridden by frontmatter, etc. \ifx\omdoc@sect@num\@true\omgroup@num{#2}{#3}\else\omgroup@nonum{#2}{#3}\fi% \def\current@section@level{\omdoc@sect@name}% -\else\omgroup@nonum{#2}{#3}\fi} -\newcommand\omgroup@redefine@addtocontents[1]{\edef\@@import{#1}% -\@for\@I:=\@@import\do{\edef\@path{\csname module@\@I @path\endcsname}% -\@ifundefined{tf@toc}\relax{\protected@write\tf@toc{}{\string\@requiremodules{\@path}{sms}}}} +\else\omgroup@nonum{#2}{#3}% +\fi}% if@@num +\newcommand\omgroup@redefine@addtocontents[1]{% +\edef\@@import{#1}% +\@for\@I:=\@@import\do{% +\edef\@path{\csname module@\@I @path\endcsname}% +\@ifundefined{tf@toc}\relax% + {\protected@write\tf@toc{}{\string\@requiremodules{\@path}{sms}}}} \ifx\hyper@anchor\@undefined% hyperref.sty loaded? \def\addcontentsline##1##2##3{% \addtocontents{##1}{\protect\contentsline{##2}{\string\withusedmodules{#1}{##3}}{\thepage}}} -\else\def\addcontentsline##1##2##3{% +\else% hyperref.sty not loaded +\def\addcontentsline##1##2##3{% \addtocontents{##1}{\protect\contentsline{##2}{\string\withusedmodules{#1}{##3}}{\thepage}{\@currentHref}}}% \fi}% hypreref.sty loaded? \newenvironment{omgroup}[2][]% keys, title {\metasetkeys{omgroup}{#1}\sref@target% \ifx\omgroup@display\st@flow\@@numfalse\fi -\if@frontmatter\@@numfalse\fi +\if@mainmatter\else\@@numfalse\fi \ifx\omgroup@loadmodules\@true% \omgroup@redefine@addtocontents{\@ifundefined{mod@id}\used@modules% {\@ifundefined{module@\mod@id @path}{\used@modules}\mod@id}}\fi% -\advance\section@level by 1 +\advance\section@level by 1\relax% \ifcase\section@level% \or\omdoc@sectioning[name=Part,clear,num]{part}{#2}% \or\omdoc@sectioning[name=Chapter,clear,num]{chapter}{#2}% @@ -89,7 +105,7 @@ \at@begin@omgroup[#1]\section@level{#2}}% for customization {\advance\section@level by -1} \providecommand\printindex{\IfFileExists{\jobname.ind}{\input{\jobname.ind}}{}} -\ifshow@ignores +\ifomdoc@sty@showignores \addmetakey{ignore}{type} \addmetakey{ignore}{comment} \newenvironment{ignore}[1][] @@ -99,13 +115,15 @@ \providecommand{\lxDocumentID}[1]{}% \def\LXMID#1#2{\expandafter\gdef\csname xmarg#1\endcsname{#2}\csname xmarg#1\endcsname} \def\LXMRef#1{\csname xmarg#1\endcsname} - \long\def\STRlabel#1#2{\STRlabeldef{#1}{#2}{#2}} \newcommand\STRcopy[2][]{\expandafter\ifx\csname STR@#2\endcsname\relax \message{STR warning: reference #2 undefined!} \else\csname STR@#2\endcsname\fi} \newcommand\STRsemantics[3][]{#2\def\@test{#1}\ifx\@test\@empty\STRlabeldef{#1}{#2}\fi} \def\STRlabeldef#1{\expandafter\gdef\csname STR@#1\endcsname} +\newcommand\setSGvar[1]{\@namedef{sTeX@Gvar@#1}} +\newcommand\useSGvar[1]{\@nameuse{sTeX@Gvar@#1}} +\newcommand\ifSGvar[3]{\def\@test{#2}\expandafter\ifx\csname sTeX@Gvar@#1\endcsname\@test #3\fi} \def\black#1{\textcolor{black}{#1}} \def\gray#1{\textcolor{gray}{#1}} \def\blue#1{\textcolor{blue}{#1}} diff --git a/Master/texmf-dist/tex/latex/stex/omtext/omtext.sty b/Master/texmf-dist/tex/latex/stex/omtext/omtext.sty index 1215638aeb9..3e9fa337484 100644 --- a/Master/texmf-dist/tex/latex/stex/omtext/omtext.sty +++ b/Master/texmf-dist/tex/latex/stex/omtext/omtext.sty @@ -7,7 +7,7 @@ %% omtext.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{omtext}[2016/04/06 v1.1 OMDoc Text Fragments] +\ProvidesPackage{omtext}[2019/03/20 v1.1 OMDoc Text Fragments] \newif\if@omtext@mh@\@omtext@mh@false \DeclareOption{mh}{\@omtext@mh@true \PassOptionsToPackage{\CurrentOption}{modules}} @@ -71,19 +71,21 @@ \def\@@sinlinequote#1#2{\@sinlinequote{#2}~#1} \newcommand\sinlinequote[2][] {\def\@opt{#1}\ifx\@opt\@empty\@sinlinequote{#2}\else\@@sinlinequote\@opt{#2}\fi} -\newcommand\vdec[1]{#1} -\newcommand\vids[2][]{#2} +\newcommand\vdec[2][]{#2} \newcommand\vrest[2][]{#2} +\newcommand\vcond[2][]{#2} +\newcommand\strucdec[2][]{#2} +\newcommand\impdec[2][]{#2} \def\begin@sblockquote{\begin{quote}\sl} \def\end@sblockquote{\end{quote}} \def\begin@@sblockquote#1{\begin@sblockquote} -\def\end@@sblockquote#1{\def\@@lec##1{{\rm ##1}}\@lec{#1}\end@sblockquote} +\def\end@@sblockquote#1{\def\@@lec##1{\textrm{##1}}\@lec{#1}\end@sblockquote} \newenvironment{sblockquote}[1][] {\def\@opt{#1}\ifx\@opt\@empty\begin@sblockquote\else\begin@@sblockquote\@opt\fi} {\ifx\@opt\@empty\end@sblockquote\else\end@@sblockquote\@opt\fi} \newenvironment{sboxquote}[1][] {\def\@@src{#1}\begin{mdframed}[leftmargin=.5cm,rightmargin=.5cm]} -{\@lec{\rm\@@src}\end{mdframed}} +{\@lec{\textrm\@@src}\end{mdframed}} \providecommand{\@@lec}[1]{(#1)} \def\@lec#1{\strut\hfil\strut\null\nobreak\hfill\@@lec{#1}} \def\lec#1{\@lec{#1}\par} @@ -123,24 +125,69 @@ \string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#2}!% \string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#3}!% \string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#4}% -\else #2!#3\fi% loadmodules +\else #2!#3!#4\fi% loadmodules +}{\thepage}}% +\endgroup\@esphack\fi}%ifindex +\newcommand\omdoc@indexiv[5][]{\ifindex% +\metasetkeys{omdoc@index}{#1}% +\@bsphack\begingroup\@sanitize% +\protected@write\@indexfile{}{\string\indexentry% +{\ifx\omdoc@index@at\@empty\else\omdoc@index@at @\fi% +\ifx\omdoc@index@loadmodules\@true% +\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#2}!% +\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#3}!% +\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#4}% +\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#5}% +\else #2!#3!#4!#5\fi% loadmodules }{\thepage}}% \endgroup\@esphack\fi}%ifindex -\newcommand\indexalt[3][]{{#2}\omdoc@indexi[#1]{#3}} % word in text and index -\newcommand\indextoo[2][]{{#2}\omdoc@indexi[#1]{#2}} % word in text and index -\newcommand\@twin[3][]{\omdoc@indexii[#1]{#2}{#3}\omdoc@indexii[#1]{#3}{#2}} -\newcommand\twinalt[4][]{#2\@twin[#1]{#3}{#4}} -\newcommand\twintoo[3][]{{#2 #3}\@twin[#1]{#2}{#3}} % and use the word compound too -\newcommand\@atwin[4][]{\omdoc@indexiii[#1]{#2}{#3}{#4}\omdoc@indexii[#1]{#3}{#2 (#4)}} -\newcommand\atwinalt[5][]{#2\@atwin[#1]{#3}{#4}{#4}} -\newcommand\atwintoo[4][]{{#2 #3 #4}\@atwin[#1]{#2}{#3}{#4}} % and use it too -\newcommand\hateq{\ensuremath{\hat=}\xspace} -\newcommand\hatequiv{\ensuremath{\hat\equiv}\xspace} +\newcommand\aindi[3][]{{#2}\omdoc@indexi[#1]{#3}} +\newcommand\indi[2][]{{#2}\omdoc@indexi[#1]{#2}} +\newcommand\indis[2][]{{#2}\omdoc@indexi[#1]{#2s}} +\newcommand\Indi[2][]{{\captitalize{#2}}\omdoc@indexi[#1]{#2}} +\newcommand\Indis[2][]{{\capitalize{#2}}\omdoc@indexi[#1]{#2s}} + +\newcommand\@indii[3][]{\omdoc@indexii[#1]{#2}{#3}\omdoc@indexii[#1]{#3}{#2}} +\newcommand\aindii[4][]{#2\@indii[#1]{#3}{#4}} +\newcommand\indii[3][]{{#2 #3}\@indii[#1]{#2}{#3}} +\newcommand\indiis[3][]{{#2 #3s}\@indii[#1]{#2}{#3}} +\newcommand\Indii[3][]{{\captitalize{#2 #3}}\@indii[#1]{#2}{#3}} +\newcommand\Indiis[3][]{{\capitalize{#2 #3}}\@indii[#1]{#2}{#3}} + +\newcommand\@indiii[4][]{\omdoc@indexiii[#1]{#2}{#3}{#4}\omdoc@indexii[#1]{#3}{#2 (#4)}} +\newcommand\aindiii[5][]{{#2}\@indiii[#1]{#3}{#4}{#5}} +\newcommand\indiii[4][]{{#2 #3 #4}\@indiii[#1]{#2}{#3}{#4}} +\newcommand\indiiis[4][]{{#2 #3 #4s}\@indiii[#1]{#2}{#3}{#4}} +\newcommand\Indiii[4][]{\captitalize{#2 #3 #4}\@indiii[#1]{#2}{#3}{#4}} +\newcommand\Indiiis[4][]{\capitalize{#2 #3 #4s}\@indiii[#1]{#2}{#3}{#4}} + +\newcommand\@indiv[5][]{\omdoc@indexiv[#1]{#2}{#3}{#4}{#5}} +\newcommand\aindiv[6][]{#2\@indiv[#1]{#3}{#4}{#5}{#6}} +\newcommand\indiv[5][]{{#2 #3 #4 #5}\@indiv[#1]{#2}{#3}{#4}{#5}} +\newcommand\indivs[5][]{{#2 #3 #4 #5s}\@indiv[#1]{#2}{#3}{#4}{#5}} +\newcommand\Indiv[5][]{\capitalize{#2 #3 #4 #5s}\@indiv[#1]{#2}{#3}{#4}{#5}} +\newcommand\Indivs[5][]{\capitalize{#2 #3 #4 #5s}\@indiv[#1]{#2}{#3}{#4}{#5}} +\newcommand\hateq{\ensuremath{\widehat=}\xspace} +\newcommand\hatequiv{\ensuremath{\widehat\equiv}\xspace} \@ifundefined{ergo}% {\newcommand\ergo{\ensuremath{\leadsto}\xspace}}% {\renewcommand\ergo{\ensuremath{\leadsto}\xspace}}% \newcommand{\reflect@squig}[2]{\reflectbox{$\m@th#1\rightsquigarrow$}}% \newcommand\ogre{\ensuremath{\mathrel{\mathpalette\reflect@squig\relax}}\xspace}% +\newcommand\notergo{\ensuremath{\not\leadsto}} +\newcommand\notogre{\ensuremath{\not\mathrel{\mathpalette\reflect@squig\relax}}\xspace}% +\newcommand\indextoo[2][]{\indi[#1]{#2}% +\PackageWarning{omtext}{\protect\indextoo\space is deprecated, use \protect\indi\space instead}} +\newcommand\indexalt[2][]{\aindi[#1]{#2}% +\PackageWarning{omtext}{\protect\indextoo\space is deprecated, use \protect\aindi\space instead}} +\newcommand\twintoo[3][]{\indii[#1]{#2}{#3}% +\PackageWarning{omtext}{\protect\twintoo\space is deprecated, use \protect\indii\space instead}} +\newcommand\twinalt[3][]{\aindii[#1]{#2}{#3}% +\PackageWarning{omtext}{\protect\twinalt\space is deprecated, use \protect\aindii\space instead}} +\newcommand\atwintoo[4][]{\indiii[#1]{#2}{#3}{#4}% +\PackageWarning{omtext}{\protect\atwintoo\space is deprecated, use \protect\indiii\space instead}} +\newcommand\atwinalt[4][]{\aindii[#1]{#2}{#3}{#4}% +\PackageWarning{omtext}{\protect\atwinalt\space is deprecated, use \protect\aindiii\space instead}} \endinput %% %% End of file `omtext.sty'. diff --git a/Master/texmf-dist/tex/latex/stex/presentation/presentation.sty b/Master/texmf-dist/tex/latex/stex/presentation/presentation.sty index 3692af31642..a657281b8b7 100644 --- a/Master/texmf-dist/tex/latex/stex/presentation/presentation.sty +++ b/Master/texmf-dist/tex/latex/stex/presentation/presentation.sty @@ -7,7 +7,7 @@ %% presentation.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{presentation}[2016/04/06 v1.0 presentation for semantic macros] +\ProvidesPackage{presentation}[2019/03/20 v1.0 presentation for semantic macros] \DeclareOption*{} \ProcessOptions \RequirePackage{keyval}[1997/11/10] diff --git a/Master/texmf-dist/tex/latex/stex/problem/problem.sty b/Master/texmf-dist/tex/latex/stex/problem/problem.sty index 46319929165..ff617ee26d7 100644 --- a/Master/texmf-dist/tex/latex/stex/problem/problem.sty +++ b/Master/texmf-dist/tex/latex/stex/problem/problem.sty @@ -7,7 +7,7 @@ %% problem.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{problem}[2016/04/06 v1.2 Semantic Markup for Problems] +\ProvidesPackage{problem}[2019/03/20 v1.3 Semantic Markup for Problems] \newif\if@problem@mh@\@problem@mh@false \DeclareOption{mh}{\@problem@mh@true} \newif\ifexnotes\exnotesfalse @@ -30,6 +30,7 @@ \RequirePackage{mdframed} \RequirePackage[base]{babel} \AfterBabelLanguage{ngerman}{\input{problem-ngerman.ldf}} +\AfterBabelLanguage{arabic}{\input{problem-arabic.ldf}} \def\prob@problem@kw{Problem} \def\prob@solution@kw{Solution} \srefaddidkey[prefix=prob.]{problem} @@ -40,7 +41,8 @@ \newcounter{problem} \newcommand\numberproblemsin[1]{\@addtoreset{problem}{#1}} \newcommand\prob@label[1]{#1} -\def\prob@number{\ifx\inclprob@refnum\@empty% +\newcommand\prob@number{% +\ifx\inclprob@refnum\@empty% if there is no outside refnumb \ifx\problem@refnum\@empty\prob@label\theproblem% \else\prob@label\problem@refnum\fi% \else\prob@label\inclprob@refnum\fi} @@ -54,7 +56,7 @@ \@in@omtexttrue% we are in a statement (for inline definitions) \stepcounter{problem}\record@problem% \def\current@section@level{\prob@problem@kw}% -\par\noindent\textbf\prob@heading\show@pts\show@min\rm\noindent\ignorespaces} +\par\noindent\textbf\prob@heading\show@pts\show@min\rmfamily\noindent\ignorespaces} {\smallskip} \ifboxed\surroundwithmdframed{problem}\fi \def\record@problem{\protected@write\@auxout{}% @@ -96,6 +98,23 @@ \excludecomment{hint} \excludecomment{exhint} \fi%ifhints +\newenvironment{mcb} +{\begin{enumerate}} +{\end{enumerate}} +\srefaddidkey{mcc} +\addmetakey{mcc}{feedback} +\addmetakey[T]{mcc}{T} +\addmetakey[F]{mcc}{F} +\addmetakey[Yes]{mcc}{Ttext} +\addmetakey[No]{mcc}{Ftext} +\newcommand\mcc[2][]{% +\metasetkeys{mcc}{#1}% +\item #2% +\ifsolutions\\% +\ifcsstring{mcc@T}{T}{}{\mcc@Ttext}% +\ifcsstring{mcc@F}{F}{}{\mcc@Ftext}% +\ifx\mcc@feedback\@empty!\else, \mcc@feedback\fi% +\fi} %solutions \addmetakey{inclprob}{pts} \addmetakey{inclprob}{min} \addmetakey*{inclprob}{title} diff --git a/Master/texmf-dist/tex/latex/stex/rfdmeta/rdfmeta.sty b/Master/texmf-dist/tex/latex/stex/rfdmeta/rdfmeta.sty index 74cd27e8a25..594b2a763a7 100644 --- a/Master/texmf-dist/tex/latex/stex/rfdmeta/rdfmeta.sty +++ b/Master/texmf-dist/tex/latex/stex/rfdmeta/rdfmeta.sty @@ -7,7 +7,7 @@ %% rdfmeta.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{rdfmeta}[2016/04/06 v0.2 Metadata key upgrades] +\ProvidesPackage{rdfmeta}[2019/03/20 v0.2 Metadata key upgrades] \newif\if@rdfmeta@sectioning\@rdfmeta@sectioningfalse \DeclareOption{sectioning}{\@rdfmeta@sectioningtrue} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref} diff --git a/Master/texmf-dist/tex/latex/stex/smglom/smglom.cls b/Master/texmf-dist/tex/latex/stex/smglom/smglom.cls index 36007f92619..82a69eb0212 100644 --- a/Master/texmf-dist/tex/latex/stex/smglom/smglom.cls +++ b/Master/texmf-dist/tex/latex/stex/smglom/smglom.cls @@ -7,7 +7,7 @@ %% smglom.dtx (with options: `cls') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesClass{smglom}[2016/04/06 v0.1 Semantic Multilingual Glossary for Math] +\ProvidesClass{smglom}[2019/03/20 v0.1 Semantic Multilingual Glossary for Math] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{omdoc} \PassOptionsToPackage{\CurrentOption}{stex} \PassOptionsToPackage{\CurrentOption}{smglom}} diff --git a/Master/texmf-dist/tex/latex/stex/smultiling/smultiling.sty b/Master/texmf-dist/tex/latex/stex/smultiling/smultiling.sty index 582fe5dbd4d..1db482dc0b6 100644 --- a/Master/texmf-dist/tex/latex/stex/smultiling/smultiling.sty +++ b/Master/texmf-dist/tex/latex/stex/smultiling/smultiling.sty @@ -7,7 +7,7 @@ %% smultiling.dtx (with options: `sty') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{smultiling}[2016/04/06 v0.1 Multilingual Support for sTeX] +\ProvidesPackage{smultiling}[2019/03/20 v0.2 Multilingual Support for sTeX] \newif\if@smultiling@mh@\@smultiling@mh@false \DeclareOption{mh}{\@smultiling@mh@true} \newif\if@langfiles\@langfilesfalse @@ -17,22 +17,46 @@ \if@smultiling@mh@\RequirePackage{smultiling-mh}\fi \RequirePackage{etoolbox} \RequirePackage{structview} -\newenvironment{modsig}[2][]{% -\def\@test{#1}\ifx\@test\@empty\begin{module}[id=#2]\else\begin{module}[id=#2,#1]\fi\ignorespacesandpars} +\newenvironment{modsig}[2][]{\def\@test{#1}% +\ifx\@test\@empty\begin{module}[id=#2]\else\begin{module}[id=#2,#1]\fi% +\expandafter\gdef\csname mod@#2@multiling\endcsname{true}% +\ignorespacesandpars} {\end{module}\ignorespacesandparsafterend} +\renewcommand\mod@component[1]{% +\expandafter\ifx\csname mod@#1@multiling\endcsname\@true% +\@ifundefined{smultiling@language}{} +{.\smultiling@language}% +\fi} +\newcommand\sTeXlanguage[1]{\def\smultiling@language{#1}} +\sTeXlanguage{en} \newenvironment{viewsig}[4][]{\def\@test{#1}\ifx\@test\@empty% \begin{view}[id=#2,ext=tex]{#3}{#4}\else\begin{view}[id=#2,#1,ext=tex]{#3}{#4}\fi% \ignorespacesandpars} {\end{view}\ignorespacesandparsafterend} +\define@key{symi}{noverb}[all]{}% +\define@key{symi}{align}[WithTheSymbolOfTheSameName]{}% +\define@key{symi}{specializes}{}% +\define@key{symi}{noalign}[true]{}% \newcommand\symi{\@ifstar\@symi@star\@symi} -\newcommand\@symi[1]{\if@importing\else Symbol: \textsf{#1}\fi\ignorespacesandpars} -\newcommand\@symi@star[1]{\if@importing\else Primary Symbol: \textsf{#1}\fi\ignorespacesandpars} +\newcommand\@symi[2][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Symbol: \textsf{#2}\fi\ignorespacesandpars} +\newcommand\@symi@star[2][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Primary Symbol: \textsf{#2}\fi\ignorespacesandpars} \newcommand\symii{\@ifstar\@symii@star\@symii} -\newcommand\@symii[2]{\if@importing\else Symbol: \textsf{#1-#2}\fi\ignorespacesandpars} -\newcommand\@symii@star[2]{\if@importing\else Primary Symbol: \textsf{#1-#2}\fi\ignorespacesandpars} +\newcommand\@symii[3][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Symbol: \textsf{#2-#3}\fi\ignorespacesandpars} +\newcommand\@symii@star[3][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Primary Symbol: \textsf{#2-#3}\fi\ignorespacesandpars} \newcommand\symiii{\@ifstar\@symiii@star\@symiii} -\newcommand\@symiii[3]{\if@importing\else Symbol: \textsf{#1-#2-#3}\fi\ignorespacesandpars} -\newcommand\@symiii@star[3]{\if@importing\else Primary Symbol: \textsf{#1-#2-#3}\fi\ignorespacesandpars} +\newcommand\@symiii[4][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Symbol: \textsf{#2-#3-#4}\fi\ignorespacesandpars} +\newcommand\@symiii@star[4][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Primary Symbol: \textsf{#2-#3-#4}\fi\ignorespacesandpars} +\newcommand\symiv{\@ifstar\@symiv@star\@symiv} +\newcommand\@symiv[5][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Symbol: \textsf{#2-#3-#4-#5}\fi\ignorespacesandpars} +\newcommand\@symiv@star[5][]{\metasetkeys{symi}{#1}% + \if@importing\else\par\noindent Primary Symbol: \textsf{#2-#3-#4-#5}\fi\ignorespacesandpars} \addmetakey{modnl}{load} \addmetakey*{modnl}{title} \addmetakey*{modnl}{creators} @@ -41,24 +65,48 @@ \addmetakey{modnl}{primary}[yes] \newenvironment{modnl}[3][]{\metasetkeys{modnl}{#1}% \def\@test{#1}\ifx\@test\@empty\begin{module}[id=#2.#3]\else\begin{module}[id=#2.#3,#1]\fi% + \def\smultiling@language{#3}% \if@langfiles\importmodule[load=#2,ext=tex]{#2}\else \ifx\modnl@load\@empty\importmodule{#2}\else\importmodule[ext=tex,load=\modnl@load]{#2}\fi% \fi% \ignorespacesandpars} {\end{module}\ignorespacesandparsafterend} \newenvironment{viewnl}[5][]{\def\@test{#1}\ifx\@test\@empty% - \begin{viewsketch}[id=#2.#3,ext=tex]{#4}{#5}\else% - \begin{viewsketch}[id=#2.#3,#1,ext=tex]{#4}{#5}\fi% + \begin{view}[id=#2.#3,ext=tex]{#4}{#5}\else% + \begin{view}[id=#2.#3,#1,ext=tex]{#4}{#5}\fi% \ignorespacesandpars} - {\end{viewsketch}\ignorespacesandparsafterend} + {\end{view}\ignorespacesandparsafterend} \def\@instring#1#2{TT\fi\begingroup\edef\x{\endgroup\noexpand\in@{#1}{#2}}\x\ifin@} -\newcommand\mtrefi[2][]{\if\@instring{?}{#1}\@mtref #1\relax{#2}\else\termref[cd=#1]{#2}\fi} -\def\@mtref#1?#2\relax{\termref[cd=#1,name=#2]} +\def\@mtref#1?#2\relax{\@@mtref{#1}{#2}} +\newcommand\@@mtref[3]{\def\@@cd{#1}\def\@@name{#2}% +\ifx\@@cd\@empty% +\ifx\@@name\@empty\termref[]{#3}\else\termref[name=\@@name]{#3}\fi% +\else% +\ifx\@@name\@empty\termref[cd=\@@cd]{#3}\else\termref[cd=\@@cd,name=\@@name]{#3}\fi% +\fi} +\newcommand\mtref[2][]{\if\@instring{?}{#1}\@mtref #1\relax{#2}\else\termref[cd=#1]{#2}\fi} +\newcommand\mtrefi[2][]{\if\@instring{?}{#1}\@mtref #1\relax{#2}% +\else\termref[cd=#1]{#2}\fi} \newcommand\mtrefis[2][]{\mtrefi[#1]{#2s}} +\newcommand\Mtrefi[2][]{\if\@instring{?}{#1}\@mtref #1\relax{\capitalize{#2}}% +\else\termref[cd=#1]{\capitalize{#2}}\fi} +\newcommand\Mtrefis[2][]{\Mtrefi[#1]{#2s}} \newcommand\mtrefii[3][]{\mtrefi[#1]{#2 #3}} \newcommand\mtrefiis[3][]{\mtrefi[#1]{#2 #3s}} +\newcommand\Mtrefii[3][]{\Mtrefi[#1]{#2 #3a}} +\newcommand\Mtrefiis[3][]{\Mtrefi[#1]{#2 #3s}} \newcommand\mtrefiii[4][]{\mtrefi[#1]{#2 #3 #4}} +\newcommand\Mtrefiiis[4][]{\Mtrefi[#1]{#2 #3 #4s}} +\newcommand\Mtrefiii[4][]{\Mtrefi[#1]{#2 #3 #4}} \newcommand\mtrefiiis[4][]{\mtrefi[#1]{#2 #3 #4s}} +\newcommand\mtrefiv[5][]{\mtrefi[#1]{#2 #3 #4 #5}} +\newcommand\mtrefivs[5][]{\mtrefi[#1]{#2 #3 #4 #5s}} +\newcommand\Mtrefiv[5][]{\Mtrefi[#1]{#2 #3 #4 #5}} +\newcommand\Mtrefivs[5][]{\Mtrefi[#1]{#2 #3 #4 #5s}} +\addmetakey{symi}{gfc} +\addmetakey{symdef}{gfc}% +\addmetakey{definiendum}{gfa} +\addmetakey{definiendum}{gfl} \newcommand\ttl[1]{\red{TTL: #1}} \endinput %% diff --git a/Master/texmf-dist/tex/latex/stex/sproof/sproof.sty b/Master/texmf-dist/tex/latex/stex/sproof/sproof.sty index 58bdc22d022..b780babe962 100644 --- a/Master/texmf-dist/tex/latex/stex/sproof/sproof.sty +++ b/Master/texmf-dist/tex/latex/stex/sproof/sproof.sty @@ -7,7 +7,7 @@ %% sproof.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{sproof}[2016/04/06 v1.1 Semantic Markup for Proofs] +\ProvidesPackage{sproof}[2019/03/20 v1.1 Semantic Markup for Proofs] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}} \ProcessOptions \RequirePackage{sref} @@ -70,6 +70,7 @@ \def\spf@proof@kw{Proof} \def\spf@step@kw{Step} \AfterBabelLanguage{ngerman}{\input{sproof-ngerman.ldf}} +\AfterBabelLanguage{arabic}{\input{sproof-arabic.ldf}} \newrobustcmd\spfsketch[2][]{% \metasetkeys{spf}{#1}% \sref@target% @@ -118,7 +119,7 @@ \else% \item[\the@pst@label]% \fi% - \ifx\spf@title\@empty\else{(\stDMemph{\spf@title})}\fi% + \ifx\spf@title\@empty\else{(\stDMemph{\spf@title}) }\fi% \sref@label@id{\pst@label}\ignorespaces% }{% \next@pst@label\@in@omtextfalse\ignorespaces% diff --git a/Master/texmf-dist/tex/latex/stex/sref/sref.sty b/Master/texmf-dist/tex/latex/stex/sref/sref.sty index ca35ac7dd99..66a4821b64c 100644 --- a/Master/texmf-dist/tex/latex/stex/sref/sref.sty +++ b/Master/texmf-dist/tex/latex/stex/sref/sref.sty @@ -7,7 +7,7 @@ %% sref.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{sref}[2016/04/06 v1.2 Semantic Cross-References] +\ProvidesPackage{sref}[2019/03/20 v1.2 Semantic Cross-References] \newif\ifextrefs\extrefsfalse \DeclareOption{extrefs}{\extrefstrue} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{metakeys}} @@ -129,19 +129,27 @@ \sref@label{#1}{\sref@id}% \fi% }% +\newcommand\sref@label@id@arg[2]{% + \def\@@id{#2} + \ifx\@@id\@empty% + \relax% + \else% + \sref@label{#1}{\@@id}% + \fi% +}% \newcommand\sref@hlink[5][]{% \edef\@linktext{#1}% \edef\@fallback{#3}% \ifcsundef{sref@#2@label}{% \ifx\@fallback\@empty% warn about undefined links and show a substitute - \protect\G@refundefinedtrue\@latex@warning{reference #2 undefined}% + \protect\G@refundefinedtrue\PackageWarning{sref}{reference #2 undefined}% \ifx\@linktext\@empty% ?#2?% \else% \@linktext% \fi% \else% - \protect\G@refundefinedtrue\@latex@warning{using fallback for undefined reference #2}% + \protect\G@refundefinedtrue\PackageWarning{sref}{using fallback for undefined reference #2}% \@fallback% \fi }{% @@ -156,7 +164,7 @@ \newcommand\sref@page@label[1]{p.~{#1}} \newcommand\sref@pageref[1]{% \ifcsundef{sref@#1@page}{% - \protect\G@refundefinedtrue\@latex@warning{reference #1 undefined}\sref@page@label{??}% + \protect\G@refundefinedtrue\PackageWarning{sref}{reference #1 undefined}\sref@page@label{??}% }{% \sref@hlink@ifh{sref@#1@target}{\sref@page@label{\@nameuse{sref@#1@page}}}% }% @@ -164,10 +172,10 @@ \newcommand\sref@href[3][]{% \edef\@linktext{#1}% \ifcsundef{sref@#2@label}{% - \protect\G@refundefinedtrue\@latex@warning{reference #2 undefined}??% + \protect\G@refundefinedtrue\PackageWarning{sref}{reference #2 undefined}??% }{% \ifcsundef{sref@#3@URI}{% - \protect\G@refundefinedtrue\@latex@warning{external refs of type #3 undefined}??% + \protect\G@refundefinedtrue\PackageWarning{sref}{external refs of type #3 undefined}??% }{% \edef\@uri{\@nameuse{sref@#3@URI}.pdf\#sref@#2@target}% \edef\@label{\ifx\@linktext\@empty\@nameuse{sref@#2@label}\else\@linktext\fi}% @@ -231,7 +239,7 @@ \end{eqnarray*}% }% \newcommand\withcite[2]{#2~\cite{#1}}% -\newenvironment{withcitation}[1]{\def\citeit{\cite{#1}}}{}% +\newenvironment{withcitation}[1]{\def\citeit{\cite{#1}\xspace}}{}% \endinput %% %% End of file `sref.sty'. diff --git a/Master/texmf-dist/tex/latex/stex/statements/statements.sty b/Master/texmf-dist/tex/latex/stex/statements/statements.sty index d3c0e44382a..c62654e24b9 100644 --- a/Master/texmf-dist/tex/latex/stex/statements/statements.sty +++ b/Master/texmf-dist/tex/latex/stex/statements/statements.sty @@ -7,18 +7,29 @@ %% statements.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{statements}[2016/04/06 v1.2 Semantic Markup for Statements] +\ProvidesPackage{statements}[2019/03/20 v1.4 Semantic Markup for Statements] \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 \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 \AfterBabelLanguage{ngerman}{\input{statements-ngerman.ldf}} +\AfterBabelLanguage{arabic}{\input{statements-arabic.ldf}} \providecommand\STpresent[1]{#1} \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% @@ -26,20 +37,24 @@ \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}} \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} \def\st@theorem@kw{Theorem} \def\st@lemma@kw{Lemma} \def\st@proposition@kw{Proposition} @@ -52,9 +67,19 @@ \def\st@rule@kw{Rule} \def\st@observation@kw{Observation} \def\st@remark@kw{Remark} +\if@nthm \theorembodyfont{\itshape} \theoremheaderfont{\normalfont\bfseries} -\newtheorem{STtheoremAssEnv}{\st@theorem@kw}[section] +\else +\theoremstyle{plain} +\fi +\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} @@ -64,18 +89,16 @@ \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} \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} @@ -95,7 +118,6 @@ \noindent\type@type \ifx\symtype@\@empty\else (\symtype@system)\fi #2: $#3$} \newcommand\inlinetypedec[3][]{\metasetkeys{symtype}{#1}\sref@target{\def\thedectype{#2}#3}} \def\st@typedec@kw{Type Declaration} -\theorembodyfont{\upshape} \newtheorem{STtypedecEnv}[STtheoremAssEnv]{\st@typedec@kw} \newenvironment{typedec}[2][]{\metasetkeys{omtext}{#1}\sref@target% \def\thedectype{#2}% @@ -103,33 +125,32 @@ \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} \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} \def\notemph#1{#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} -\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}% @@ -139,52 +160,98 @@ can only be referenced when called in a module with id key}}% {#3}}% \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 \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}{#2}} +\addmetakey{definiendum}{name} +\addmetakey{definiendum}{lemma} +\newcommand\definiendum[2][]{\setkeys{definiendum}{#1}% +\st@def@target{\definiendum@name}{\definiendum@name}{#2}} \newcommand\notatiendum[2][]{\notemph{#2}} -\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\adefi[3][]{\def\@name{#1}\def\@verb{#3}% -\st@def@target{#1}{#3}{#2}\@adefi} +\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} +\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} -\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\adefii[4][]{\def\@name{#1}\def\@pone{#3}\def\@ptwo{#4}% -\st@def@target{#1}{#3-#4}{#2}\@adefii} +\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} +\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} -\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\adefiii[5][]{\def\@name{#1}\def\@pone{#3}\def\@ptwo{#4}\def\@pthree{#3}% -\st@def@target{#1}{#3-#4-#5}{#2}\@adefiii} +\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} +\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} +\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} +\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} \newcommand\inlineex[2][]{\metasetkeys{omtext}{#1}% \sref@target\sref@label@id{here}#2} @@ -202,25 +269,37 @@ 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} +}} \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\atrefiv[6][]{\atrefi[#1]{#2}{#3-#4-#5-#6}} \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}} +\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}} \providecommand{\termemph}[1]{#1} \providecommand{\defemph}[1]{{\textbf{#1}}} \providecommand{\stDMemph}[1]{{\textbf{#1}}} diff --git a/Master/texmf-dist/tex/latex/stex/stex/stex.sty b/Master/texmf-dist/tex/latex/stex/stex/stex.sty index 8b4444e4665..bfe038a120d 100644 --- a/Master/texmf-dist/tex/latex/stex/stex/stex.sty +++ b/Master/texmf-dist/tex/latex/stex/stex/stex.sty @@ -7,7 +7,7 @@ %% stex.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{stex}[2016/04/07 v1.0 Semantic Markup] +\ProvidesPackage{stex}[2019/03/20 v1.0 Semantic Markup] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{statements} \PassOptionsToPackage{\CurrentOption}{structview} \PassOptionsToPackage{\CurrentOption}{sproofs} @@ -16,10 +16,10 @@ \PassOptionsToPackage{\CurrentOption}{dcm}} \ProcessOptions \RequirePackage{stex-logo} +\RequirePackage{omdoc} \RequirePackage{statements} \RequirePackage{structview} \RequirePackage{sproof} -\RequirePackage{omdoc} \RequirePackage{cmath} \RequirePackage{dcm} \endinput diff --git a/Master/texmf-dist/tex/latex/stex/structview/structview.sty b/Master/texmf-dist/tex/latex/stex/structview/structview.sty index d76c3d13599..a233ce55c13 100644 --- a/Master/texmf-dist/tex/latex/stex/structview/structview.sty +++ b/Master/texmf-dist/tex/latex/stex/structview/structview.sty @@ -7,7 +7,7 @@ %% structview.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{structview}[2016/04/06 v0.9 Structures and Views] +\ProvidesPackage{structview}[2019/03/20 v0.9 Structures and Views] \newif\if@structview@mh@\@structview@mh@false \DeclareOption{mh}{\@structview@mh@true \PassOptionsToPackage{\CurrentOption}{modules}} @@ -15,27 +15,31 @@ \ProcessOptions \if@structview@mh@\RequirePackage{structview-mh}\fi \RequirePackage{modules} -\newenvironment{importmodulevia}[2][]{% - \gdef\@@doit{\importmodule[#1]{#2}}% - \ifmod@show\par\noindent importing module #2 via \@@doit\fi% +\newrobustcmd\vassign[3][]{\ifmod@show\ensuremath{#2\mapsto #3}, \fi}% +\newrobustcmd\fassign[4][]{\ifmod@show \ensuremath{#3(#2)\mapsto #4}, \fi}% +\newrobustcmd\tassign[3][]{\ifmod@show \ensuremath{#2\mapsto} #3, \fi}% +\newenvironment{sstructure}[3][]{% + \gdef\@@doit{\importmodule[#1]{#3}}% + \ifmod@show\par\noindent importing module #3 via \@@doit\fi% }{% \aftergroup\@@doit\ifmod@show end import\fi% }% -\newrobustcmd\vassign[3][]{\ifmod@show\ensuremath{#2\mapsto #3}, \fi}% -\newrobustcmd\tassign[3][]{\ifmod@show #2\ensuremath{\mapsto} #3, \fi}% -\newrobustcmd\fassign[4][]{\ifmod@show \ensuremath{#3\mapsto #4}, \fi}% -\newrobustcmd\ttassign[3][]{\ifmod@show #2\ensuremath{\mapsto} ``#3'', \fi}% +\newenvironment{importmodulevia}[2][]% +{\PackageError{structview}% + {The {importmodulevia} environment is deprecated}{use the {sstructure} instead!}% + \begin{sstructure}[#1]{missing}{#2}} +{\end{sstructure}} \srefaddidkey{view} \addmetakey*{view}{title} \addmetakey{view}{display} -\addmetakey{view}{from} -\addmetakey{view}{to} +\addmetakey{view}{loadfrom} +\addmetakey{view}{loadto} \addmetakey{view}{creators} \addmetakey{view}{contributors} \addmetakey{view}{srccite} \addmetakey{view}{type} \addmetakey[sms]{view}{ext} -\newcounter{view}[section] +\ifdef{\thesection}{\newcounter{view}[section]}{\newcounter{view}} \newrobustcmd\view@heading[4]{% \if@importing% \else% @@ -56,7 +60,7 @@ \ignorespaces% \fi% }%ifmod@show -\newenvironment{view}[3][]{% +\newenvironment{view}[3][]{% keys, from, to \metasetkeys{view}{#1}% \sref@target% \begin{@view}{#2}{#3}% @@ -67,18 +71,14 @@ }% \ifmod@show\surroundwithmdframed{view}\fi% \newenvironment{@view}[2]{%from, to - \@importmodule[\view@from]{#1}{\view@ext}% - \@importmodule[\view@to]{#2}{\view@ext}% + \@importmodule[\view@loadfrom]{#1}{\view@ext}% + \@importmodule[\view@loadto]{#2}{\view@ext}% }{}% -\newenvironment{viewsketch}[3][]{% - \metasetkeys{view}{#1}% - \sref@target% - \begin{@view}{#2}{#3}% - \view@heading{#2}{#3}{\view@display}{\view@title}% -}{% - \end{@view}% -}% -\ifmod@show\surroundwithmdframed{viewsketch}\fi% +\newenvironment{viewsketch}[3][]% +{\PackageError{structview}% + {The {viewsketch} environment is deprecated}{use the {view} instead!}% + \begin{view}[#1]{#2}{#3}} +{\end{view}} \newrobustcmd\obligation[3][]{% \if@importing% \else Axiom #2 is proven by \sref{#3}% diff --git a/Master/texmf-dist/tex/latex/stex/tikzinput/tikzinput.sty b/Master/texmf-dist/tex/latex/stex/tikzinput/tikzinput.sty index bc62a9e91f0..616f00e0cb1 100644 --- a/Master/texmf-dist/tex/latex/stex/tikzinput/tikzinput.sty +++ b/Master/texmf-dist/tex/latex/stex/tikzinput/tikzinput.sty @@ -7,7 +7,7 @@ %% tikzinput.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{tikzinput}[2016/04/06 v1.0 Selective input of TIKZ pictures] +\ProvidesPackage{tikzinput}[2019/03/20 v1.0 Selective input of TIKZ pictures] \newif\if@tikzinput@mh@\@tikzinput@mh@false \DeclareOption{mh}{\@tikzinput@mh@true} \newif\iftikzinput@image\tikzinput@imagefalse @@ -25,9 +25,15 @@ \iftikzinput@image \newcommand\tikzinput[2][]{\includegraphics[#1]{#2}} \else -\newcommand\tikzinput[2][]{\input{#2}} +\newcommand\tikzinput[2][]{\setkeys{Gin}{#1}% +\ifx\Gin@ewidth\Gin@exclamation +\ifx\Gin@eheight\Gin@exclamation\input{#2}\else\resizebox{!}{\Gin@eheight}{\input{#2}}\fi +\else +\ifx\Gin@eheight\Gin@exclamation\resizebox{\Gin@ewidth}{!}{\input{#2}} +\else\resizebox{\Gin@ewidth}{\Gin@eheight}{\input{#2}}\fi +\fi} \fi -\newcommand\ctikzinput[2][]{\begin{center}\tikzinput{#2}\end{center}} +\newcommand\ctikzinput[2][]{\begin{center}\tikzinput[#1]{#2}\end{center}} \endinput %% diff --git a/Master/texmf-dist/tex/latex/stex/workaddress/workaddress.sty b/Master/texmf-dist/tex/latex/stex/workaddress/workaddress.sty index ef90ccbb509..597a36553b9 100644 --- a/Master/texmf-dist/tex/latex/stex/workaddress/workaddress.sty +++ b/Master/texmf-dist/tex/latex/stex/workaddress/workaddress.sty @@ -7,7 +7,7 @@ %% workaddress.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{workaddress}[2016/04/06 v0.4 WorkAddress] +\ProvidesPackage{workaddress}[2019/03/20 v0.5 WorkAddress] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}} \ProcessOptions \RequirePackage{sref} @@ -28,22 +28,29 @@ \addmetakey*{wa@person}{worktelfax} \addmetakey*{wa@person}{privtelfax} \def\wa@def#1#2#3#4{\expandafter\xdef\csname wa@#1@#2@#3\endcsname{#4}} -\def\wa@ref@test#1#2#3{% - \@ifundefined{wa@#1@#2@#3}{% - \PackageError{workaddress}{reference to undefined #3 of #1 #2}% - {you must define a #1 with #2=#3\MessageBreak% - via the macro \protect\WA#1, before you can use it!} - }{}% -}% -\def\wa@ref#1#2#3{% - \wa@ref@test{#1}{#2}{#3}% - \csname wa@#1@#2@#3\endcsname% -}% +\newcommand\wa@ref[4]{% + \@ifundefined{wa@#2@#3@#4}{% + \ifcase#1 {}\or% + \PackageWarning{workaddress}{reference to undefined #4 of #2 #3\MessageBreak% + you must define a #2 with #3=#4\MessageBreak% + via the macro \protect\WA#2, before you can use it!}% + \or + \PackageWarning{workaddress}{reference to undefined #4 of #2 #3\MessageBreak% + you must define a #2 with #3=#4\MessageBreak% + via the macro \protect\WA#2, before you can use it!}% + ?#2?#3?#4? + \or + \PackageError{workaddress}{reference to undefined #4 of #2 #3}% + {you must define a #2 with #3=#4\MessageBreak% + via the macro \protect\WA#2, before you can use it!} + \else\PackageError{workaddress}{\protect\wa@ref#1 not defined}{} + \fi + }{\csname wa@#2@#3@#4\endcsname}}% \let\wa@persons=\relax \newcommand\WAperson[2][]{% \metasetkeys{wa@person}{#1}% \ifx\wa@person@id\@empty% - \@latex@warning{key 'id' undefined in WAperson}% + \PackageWarning{workaddress}{key 'id' undefined in WAperson}% \else% \wa@def{person}\wa@person@id{id}{\wa@person@id}% redundant, but useful for checking \wa@def{person}\wa@person@id{name}{#2} @@ -90,7 +97,7 @@ \newcommand\WAinstitution[2][]{% \metasetkeys{wa@institution}{#1}% \ifx\wa@institution@id\@empty% - \@latex@warning{key 'id' undefined in WAinstitution}% + \PackageWarning{workaddress}{key 'id' undefined in WAinstitution}% \else% \wa@def{institution}\wa@institution@id{id}{\wa@institution@id}% redundant, but useful for checking \wa@def{institution}\wa@institution@id{name}{#2} @@ -129,16 +136,16 @@ \def\@depts{}% \def\@urls{}% \@for\@I:=#2\do{% - \xdef\@authors{\@authors&\wa@ref{person}\@I{name}} - \xdef\@@dept{\wa@ref{person}\@I{department}} + \xdef\@authors{\@authors&\wa@ref2{person}\@I{name}} + \xdef\@@dept{\wa@ref1{person}\@I{department}} \xdef\@shortname{\csname wa@institution@\@@dept @shortname\endcsname} - \xdef\@dept{\ifx\@shortname\@empty\wa@ref{institution}\@@dept{name}\else\@shortname\fi} + \xdef\@dept{\ifx\@shortname\@empty\wa@ref0{institution}\@@dept{name}\else\@shortname\fi} \xdef\@depts{\@depts&\@dept} - \xdef\@@aff{\wa@ref{person}\@I{affiliation}} + \xdef\@@aff{\wa@ref0{person}\@I{affiliation}} \xdef\@shortname{\csname wa@institution@\@@aff @shortname\endcsname} - \xdef\@aff{\ifx\@shortname\@empty\wa@ref{institution}\@@aff{name}\else\@shortname\fi} + \xdef\@aff{\ifx\@shortname\@empty\wa@ref0{institution}\@@aff{name}\else\@shortname\fi} \xdef\@affs{\@affs&\@aff} - \xdef\@urls{\@urls&\wa@ref{person}\@I{url}} + \xdef\@urls{\@urls&\wa@ref0{person}\@I{url}} }% \message{\theauthors authors: \@authors}% }% @@ -149,11 +156,11 @@ \ifx\WAauthorblock@url\@true\@urls\\\fi \end{tabular} }% -\newcommand\wapname[1]{\wa@ref{person}{#1}{name}} -\newcommand\waptname[1]{\wa@ref{person}{#1}{personaltitle} \wa@ref{person}{#1}{name}} +\newcommand\wapname[1]{\wa@ref3{person}{#1}{name}} +\newcommand\waptname[1]{\wa@ref3{person}{#1}{personaltitle} \wa@ref3{person}{#1}{name}} \newcommand\wa@institution@logo[2][]{% - \IfFileExists{\wa@ref{institution}{#2}{logo}}{% - \includegraphics{\wa@ref{institution}{#2}{logo}}% + \IfFileExists{\wa@ref2{institution}{#2}{logo}}{% + \includegraphics{\wa@ref2{institution}{#2}{logo}}% }{% \fbox{#2 logo}\message{still need logo for #2}% }% -- cgit v1.2.3