From 560ea10dab2c9195da99bcf11e7252c925f43d86 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 5 Jun 2010 23:38:19 +0000 Subject: ntheorem update (5jun10) git-svn-id: svn://tug.org/texlive/trunk@18764 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/ntheorem/README | 78 ++++++------- Master/texmf-dist/doc/latex/ntheorem/ntheorem.pdf | Bin 374721 -> 441685 bytes .../texmf-dist/source/latex/ntheorem/ntheorem.drv | 6 +- .../texmf-dist/source/latex/ntheorem/ntheorem.dtx | 123 +++++++++++++-------- Master/texmf-dist/tex/latex/ntheorem/ntheorem.std | 6 +- Master/texmf-dist/tex/latex/ntheorem/ntheorem.sty | 43 +++---- 6 files changed, 146 insertions(+), 110 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/ntheorem/README b/Master/texmf-dist/doc/latex/ntheorem/README index 1df0f785bd1..9a67fabac9f 100644 --- a/Master/texmf-dist/doc/latex/ntheorem/README +++ b/Master/texmf-dist/doc/latex/ntheorem/README @@ -1,15 +1,15 @@ -ntheorem. dtx includes the style-file, a standard configuration, -and the documentation. Additional information is available -at - http://www.informatik.uni-freiburg.de/~may/Ntheorem/ntheorem.html -(including a test-file). +ntheorem.dtx includes the style-file, a standard configuration, and the +documentation. Additional information (including a test-file) is +available at -We recommend placing the unpacked files (+this message) in an extra directory - macros/latex/contrib/supported/ntheorem/ . + http://user.informatik.uni-goettingen.de/~may/Ntheorem/ -With this, newthm.sty (macros/latex/contrib/other/newthm/) becomes obsolete. +We recommend placing the unpacked files (and this message) in an extra +directory -Wolfgang May & Andreas Schlechte + macros/latex/contrib/ntheorem/ + +Wolfgang May & Andreas Schedler -------------------- @@ -17,27 +17,35 @@ Abstract: ntheorem.sty for LaTeX -by Wolfgang May and Andreas Schlechte +by Wolfgang May and Andreas Schedler ntheorem.sty is a package for handling theorem-like environments. -Aditionally to several features for defining the layout of theorem-like -environments which can be regarded to be standard requirements for a -theorem-package, it provides solutions for two related problems: -placement of endmarks and generation of lists of theorem-like -environments. In contrast to former approaches, it solves the problem -of setting endmarks of theorem-like environments (theorems, definitions, -examples, and proofs) automatically at the right positions, even if the -environment ends with a displaymath or (even nested) list environments; -it also copes with the amsmath package. This is done in the same manner -as the handling of labels by using the .aux file. It also introduces the -generation of lists of theorem-like environments in the same manner as -listoffigures. +Aditionally to several features for defining the layout of +theorem-like environments which can be regarded to be standard +requirements for a theorem-package, it provides solutions for two +related problems: placement of endmarks and generation of lists +of theorem-like environments. + +In contrast to former approaches, it solves the problem of +setting endmarks of theorem-like environments (theorems, +definitions, examples, and proofs) automatically at the right +positions, even if the environment ends with a displaymath or +(even nested) list environments, it also copes with the amsmath +package. This is done in the same manner as the handling of +labels by using the .aux file. + +It also introduces the generation of lists of theorem-like +environments in the same manner as listoffigures. Additionally, +more comfortable referencing is supported. + After running LaTeX several times (depending on the complexity of -references, in general, three runs are sufficient), the endmarks are set -correctly, and theoremlists are generated. Since ntheorem.sty uses the -standard LaTeX \newtheorem command, existing documents can be switched to -ntheorem.sty without having to change the .tex file. Also, it is -compatible with LaTeX files using theorem.sty written by Frank Mittelbach. +references, in general, three runs are sufficient), the endmarks +are set correctly, and theoremlists are generated. + +Since ntheorem.sty uses the standard LaTeX \newtheorem command, +existing documents can be switched to ntheorem.sty without having +to change the .tex file. Also, it is compatible with LaTeX files +using theorem.sty written by Frank Mittelbach. Features: @@ -48,16 +56,8 @@ Features: automatically setting end marks for theorem-like environments in text, math environments, lists etc., * Generation of Theorem Lists: - Generation of list-of-theorem similar to list-of-figures + Generation of list-of-theorem similar to list-of-figures, different predefined liststyles, according to theorem.sty, - defining own liststyles by \newliststyle. - --------------------------------------------------------------------- -Wolfgang May E-mail: may@informatik.uni-freiburg.de -Universitaet Freiburg http://www.informatik.uni-freiburg.de/~may/ -Institut fuer Informatik D-79110 Freiburg / Germany --------------------------------------------------------------------- -Graduiertenkolleg Menschliche und Maschinelle Intelligenz -der Universitaet Freiburg - - + defining own liststyles by \newliststyle, + * Referencing: + Extended referencing feature, yielding, e.g. "Theorem 42". diff --git a/Master/texmf-dist/doc/latex/ntheorem/ntheorem.pdf b/Master/texmf-dist/doc/latex/ntheorem/ntheorem.pdf index ae6826e898c..93c731a90fa 100644 Binary files a/Master/texmf-dist/doc/latex/ntheorem/ntheorem.pdf and b/Master/texmf-dist/doc/latex/ntheorem/ntheorem.pdf differ diff --git a/Master/texmf-dist/source/latex/ntheorem/ntheorem.drv b/Master/texmf-dist/source/latex/ntheorem/ntheorem.drv index e03c18d4626..ea50b558047 100644 --- a/Master/texmf-dist/source/latex/ntheorem/ntheorem.drv +++ b/Master/texmf-dist/source/latex/ntheorem/ntheorem.drv @@ -20,9 +20,9 @@ %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) -\def\filedate{2005/07/07} -\def\docdate{2005/07/07} -\def\fileversion{1.25} +\def\filedate{2009/07/01} +\def\docdate{2009/07/01} +\def\fileversion{1.28} \def\basename{ntheorem} %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.2 diff --git a/Master/texmf-dist/source/latex/ntheorem/ntheorem.dtx b/Master/texmf-dist/source/latex/ntheorem/ntheorem.dtx index b67c4e0f2f6..26e50a89e1f 100644 --- a/Master/texmf-dist/source/latex/ntheorem/ntheorem.dtx +++ b/Master/texmf-dist/source/latex/ntheorem/ntheorem.dtx @@ -1,11 +1,11 @@ -\def\filedate{2005/07/07} -\def\docdate{2005/07/07} -\def\fileversion{1.25} +\def\filedate{2009/07/01} +\def\docdate{2009/07/01} +\def\fileversion{1.28} \def\basename{ntheorem} % \iffalse % % Package 'ntheorem' to use with LaTeX2e -% Copyright 1997 - 2004 by Wolfgang May and Andreas Schedler. +% Copyright 1997 - 2009 by Wolfgang May and Andreas Schedler. % % Written and maintained by % Wolfgang May (Uni Goettingen, formerly Uni Freiburg) @@ -33,7 +33,7 @@ % % \fi % -% \CheckSum{2575} +% \CheckSum{2591} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -1545,18 +1545,19 @@ % It is set to 1 when starting an environment. Each time, when % a situation (\ref{elist:2})--(\ref{elist:4}) is reached, the command % \begin{quote} -% |\mark|$<$|\roman{curr|env|ctr}|$>$\env -% $<$|\roman{end|\env|ctr}|$>$ +% |\mark|$<$|\thm@romannum{curr|env|ctr}|$>$\env +% $<$|\thm@romannum{end|\env|ctr}|$>$ % \end{quote} -% is called -% ($<$|\roman{curr|\env|ctr}|$>$\env -% $<$|\roman{end|\env|ctr}|$>$ +% is called (where |\thm@romannum| just writes the value of a counter +% as its roman numeral representation, e.g., 17 as xvii). \\ +% ($<$|\thm@romannum{curr|\env|ctr}|$>$\env +% $<$|\thm@romannum{end|\env|ctr}|$>$ % uniquely identifies all situations (\ref{elist:2})--(\ref{elist:4}) in a document). % % If at this position an endmark has to be set, % \begin{quote} -% |\mark|$<$|\roman{curr|\env|ctr}|$>$\env -% $<$|\roman{end|\env|ctr}|$>$ +% |\mark|$<$|\thm@romannum{curr|\env|ctr}|$>$\env +% $<$|\thm@romannum{end|\env|ctr}|$>$ % \end{quote} % is defined in the |.aux| file to be |\end|\env|Symbol|, % otherwise it is undefined and simply ignored. @@ -1566,8 +1567,8 @@ % current line. % Otherwise, % \begin{quote} -% |\def\mark|$<$|\roman{curr|env|ctr}|$>$\env|%|\\ -% $<$|\roman{end|\env|ctr}|$>$|{|\env|Symbol}| +% |\def\mark|$<$|\thm@romannum{curr|env|ctr}|$>$\env|%|\\ +% $<$|\thm@romannum{end|\env|ctr}|$>$|{|\env|Symbol}| % \end{quote} % is written to the |.aux| file for setting the endmark % at the latest potential position inside the theorem in the next run. @@ -1782,6 +1783,21 @@ % situation which must be handled by the |.aux| file. % For further comments see |\@endtheorem|. % +% +% \begin{macro}{\thm@romannum} +% \changes{v1.28}{2009/07/02}{duplicate latex's definition (WM, +% reported by Ch. Garcia Duarte)} +% The functionality of |latex.ltx|'s |\roman| command converts +% numbers into strings, e.g., 17 into xvii. It is used to put +% notes into the |.aux| file. It must be +% locally defined, just duplicating the definition of |\roman| in +% latex.ltx since some packages redefine |\roman|: +% \begin{macrocode} +\gdef\thm@romannum#1{\expandafter\thm@roman@num\csname c@#1\endcsname}% +\gdef\thm@roman@num#1{\romannumeral #1}% +% \end{macrocode} +% \end{macro} +% % In the following, all relevant environments are changed for % handling potential end mark positions: % @@ -1859,6 +1875,9 @@ % \end{packeddescr}\end{macro} % % \begin{macro}{\[} +% \changes{v1.27}{2008/06/18}{fixed: start array with no additional +% space (WM, reported by Tillmann Berg)} +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % If an end mark is set, a displaymath is put into box such that % the end marks appears at its bottom level at the right. Thus, also % the definition of |\[| has to be changed: @@ -1873,10 +1892,10 @@ \makebox[.6\linewidth]% \fi $$\stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else - \boxmaxdepth=.5ex\begin{array}[b]{l}% + \boxmaxdepth=.5ex\begin{array}[b]{@{}l}% \boxmaxdepth=\maxdimen\displaystyle\fi}% \addtocounter{end\InTheoType ctr}{-1}% %%$$ BRACE MATCH HACK @@ -1891,8 +1910,8 @@ % The end position of a displaymath inside a theorem-environment % corresponds to |end\InTheoType ctr|+1. % An endmark has to be set there, if \\ -% \hspace*{0.5cm} |\mark|$<$|\roman{curr#1ctr}|$>$|#1|% -% $<$|\roman{end#1ctr}|$+1>$ +% \hspace*{0.5cm} |\mark|$<$|\thm@romannum{curr#1ctr}|$>$|#1|% +% $<$|\thm@romannum{end#1ctr}|$+1>$ % is defined and not the empty symbol. % \item[Lines \Coderef{st-b-displ}{13}--\Coderef{st-b-displ}{14}:] % If so, the whole displayed stuff is put in an array with @@ -1902,13 +1921,14 @@ % \end{packeddescr}\end{macro} % % \begin{macro}{\]} +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % At the end of a displaymath, the end marks is set at its bottom level: % \Codelabel{st-e-displ} % \begin{macrocode} \gdef\]{% \stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else \end{array}\fi}% \addtocounter{end\InTheoType ctr}{-1}% @@ -2024,6 +2044,7 @@ % Original: ltmiscen.dtx % %\begin{macro}{\endcenter}% +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % In \LaTeX, |\endcenter| just calls |\endtrivlist|. % Here, the situation is more complex since the the endmark has % to be put in the last line without affecting its centering: @@ -2034,8 +2055,8 @@ \@endtrivlist {\PotEndMark{\rightskip0pt% \settowidth{\leftskip}% - { \csname mark\roman{curr\InTheoType ctr}\InTheoType - \roman{end\InTheoType ctr}\endcsname}% + { \csname mark\thm@romannum{curr\InTheoType ctr}\InTheoType + \thm@romannum{end\InTheoType ctr}\endcsname}% \advance\leftskip\@flushglue\hskip\@flushglue}}} % \end{macrocode} % @@ -2146,13 +2167,14 @@ % called by |\PotEndMark|. % \changes{v1.16}{1999/08/05}{extended for handling right indents (quote) (WM)} % \changes{v1.16}{2001/11/28}{removed tilde in hbox (WM)} +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % \Codelabel{SetEndMark} % \begin{macrocode} \gdef\SetEndMark#1#2{% \stepcounter{end#1ctr}% - \@ifundefined{mark\roman{curr#1ctr}#1\roman{end#1ctr}}% + \@ifundefined{mark\thm@romannum{curr#1ctr}#1\thm@romannum{end#1ctr}}% {\relax}% - {#2{\csname mark\roman{curr#1ctr}#1\roman{end#1ctr}\endcsname + {#2{\csname mark\thm@romannum{curr#1ctr}#1\thm@romannum{end#1ctr}\endcsname \ifdim\rightmargin>\z@\hskip-\rightmargin\fi \hbox to 0cm{}}}}% % \end{macrocode} @@ -2168,8 +2190,8 @@ % \item[Line \Coderef{SetEndMark}{3}, \Coderef{SetEndMark}{4}:] % if % \begin{quote} -% |\mark|$<$|\roman{curr|\env|ctr}|$>$\env% -% $<$|\roman{end|\env|ctr}|$>$ +% |\mark|$<$|\thm@romannum{curr|\env|ctr}|$>$\env% +% $<$|\thm@romannum{end|\env|ctr}|$>$ % \end{quote} % is undefined % -- which is the case iff at this position no endmark has to be set --, @@ -2177,8 +2199,8 @@ % \item[Line \Coderef{SetEndMark}{5}:] % otherwise, \meta{cmd\_seq} and then % \begin{quote} -% |\mark|$<$|\roman{curr|\env|ctr}|$>$|\env|% -% $<$|\roman{end|\env|ctr}|$>$, +% |\mark|$<$|\thm@romannum{curr|\env|ctr}|$>$|\env|% +% $<$|\thm@romannum{end|\env|ctr}|$>$, % \end{quote} % which is defined in the |.aux| file to be the end symbol are called. \\ % The construction \meta{cmd\_seq}|{|\ldots|}| in line @@ -2221,6 +2243,7 @@ % thref option. Change both if you change them. % % \begin{macro}{\OrganizeTheoremSymbol} +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % The information for setting the end marks is written to the .aux file: % % \Codelabel{OrgThSymb} @@ -2231,7 +2254,7 @@ \expandafter\meaning\csname\InTheoType Symbol\endcsname\relax}% \protected@write\@auxout{}% {\string\global\string\def\string\mark% - \roman{curr\InTheoType ctr}\InTheoType \roman{end\InTheoType ctr}% + \thm@romannum{curr\InTheoType ctr}\InTheoType \thm@romannum{end\InTheoType ctr}% {\thm@tmp}}% \@eesphack} % \end{macrocode} @@ -2239,8 +2262,8 @@ % \begin{packeddescr} % \item[Lines \Coderef{OrgThSymb}{5}--\Coderef{OrgThSymb}{7}:] % Write \\ -% |\global\def\mark|$<$|\roman{curr|\env|ctr}|$>\env -% <$|\roman{end|\env|ctr}|$>$% +% |\global\def\mark|$<$|\thm@romannum{curr|\env|ctr}|$>\env +% <$|\thm@romannum{end|\env|ctr}|$>$% % |{<|\env|Symbol>}| % to the |.aux| file. \\ % \env :=|\InTheoType| gives the innermost theorem-like environment, @@ -2281,10 +2304,13 @@ % |fleqn| is only active it |thmmarks| is also active. % % \begin{macro}{\[} +% \changes{v1.27}{2008/06/18}{fixed: start array with no additional +% space (WM, reported by Tillmann Berg)} % Since |fleqn| treats displayed math as trivlists, it's quite % another thing: % % \Codelabel{fleqn-b-displ} +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % \begin{macrocode} \renewcommand\[{\relax \ifmmode\@badmath @@ -2296,10 +2322,10 @@ \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$ \hskip\mathindent\bgroup \stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else - \boxmaxdepth=.5ex\begin{array}[b]{l}% + \boxmaxdepth=.5ex\begin{array}[b]{@{}l}% \boxmaxdepth=\maxdimen\displaystyle\fi}% \addtocounter{end\InTheoType ctr}{-1}% \fi} @@ -2316,6 +2342,7 @@ % \end{packeddescr}\end{macro} % % \begin{macro}{\]} +% \changes{v1.28}{2009/07/02}{replaced roman by thm@romannum (WM)} % Here, the end mark is placed after a |\hfil| ate the end of the line % containing the displaymath: % @@ -2323,8 +2350,8 @@ % \begin{macrocode} \renewcommand\]{% \stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else \end{array}\fi}% \addtocounter{end\InTheoType ctr}{-1}% @@ -2690,10 +2717,10 @@ % \item[Line \Coderef{EndTags}{4}:] % if equation numbers are set as default, call % |\SetTagPlusEndMark| to set tag and end mark. -% \item[Line \Coderef{EndTags}{5}:] +% \item[Lines \Coderef{EndTags}{5}, \Coderef{EndTags}{6}:] % if a tag is set manually, call % |\SetTagPlusEndMark| to set tag and end mark. -% \item[Line \Coderef{EndTags}{6}:] +% \item[Line \Coderef{EndTags}{7}:] % otherwise, call |\SetOnlyEndMark| to set only an end mark. % \end{packeddescr} % \end{macro} @@ -2725,14 +2752,18 @@ % \end{packeddescr} % \end{macro} % -% \begin{macro}{\SetTagsPlusEndMark} -% \Codelabel{TagsPlus} +% \begin{macro}{\SetTagPlusEndMark} +% \Codelabel{TagPlus} +% \changes{v1.26}{2007/10/17}{fixed: box to tagwidth (problem with leqno; WM)} % \begin{macrocode} +\newdimen{\tagwidth} \gdef\SetTagPlusEndMark{% \iftagsleft@ \gdef\maketag@@@##1{% + \settowidth{\tagwidth}{$##1$}%% %% WM 17.10.2007 + \hbox to \tagwidth{% \hbox to \displaywidth{\m@th\normalfont##1% - \hss\PotEndMark{\hss}}}% + \hss\PotEndMark{\hss}}\hss}}% \else \gdef\maketag@@@##1{\hbox{\m@th\normalfont##1% \llap{\hss\PotEndMark{\raisebox{-1.3em}}}}}% @@ -2741,13 +2772,13 @@ % % Set a tag \emph{and} an end mark: % \begin{packeddescr} -% \item[Lines \Coderef{TagsPlus}{2}--\Coderef{TagsPlus}{9}:] +% \item[Lines \Coderef{TagPlus}{2}--\Coderef{TagPlus}{11}:] % redefine the |\maketag@@@| macro: -% \item[Lines \Coderef{TagsPlus}{3}--\Coderef{TagsPlus}{5}:] +% \item[Lines \Coderef{TagPlus}{3}--\Coderef{TagPlus}{7}:] % if tags are set to the left, build a box of the whole % displaywidth and put the original tag on the left, and the (potential) -% endmark at the right. -% \item[Lines \Coderef{TagsPlus}{7},\Coderef{TagsPlus}{8}:] +% endmark at the right. Put this box with width 0 and continue. +% \item[Lines \Coderef{TagPlus}{8},\Coderef{TagPlus}{9}:] % if the tags are set to the right, the (potential) end % mark is put below it. % \end{packeddescr} diff --git a/Master/texmf-dist/tex/latex/ntheorem/ntheorem.std b/Master/texmf-dist/tex/latex/ntheorem/ntheorem.std index b7b80ad0a0a..41826472fe1 100644 --- a/Master/texmf-dist/tex/latex/ntheorem/ntheorem.std +++ b/Master/texmf-dist/tex/latex/ntheorem/ntheorem.std @@ -20,9 +20,9 @@ %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) -\def\filedate{2005/07/07} -\def\docdate{2005/07/07} -\def\fileversion{1.25} +\def\filedate{2009/07/01} +\def\docdate{2009/07/01} +\def\fileversion{1.28} \def\basename{ntheorem} %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.2 diff --git a/Master/texmf-dist/tex/latex/ntheorem/ntheorem.sty b/Master/texmf-dist/tex/latex/ntheorem/ntheorem.sty index 16fcac4dc09..94624fae86a 100644 --- a/Master/texmf-dist/tex/latex/ntheorem/ntheorem.sty +++ b/Master/texmf-dist/tex/latex/ntheorem/ntheorem.sty @@ -20,9 +20,9 @@ %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) -\def\filedate{2005/07/07} -\def\docdate{2005/07/07} -\def\fileversion{1.25} +\def\filedate{2009/07/01} +\def\docdate{2009/07/01} +\def\fileversion{1.28} \def\basename{ntheorem} %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.2 @@ -57,6 +57,8 @@ \newcounter{endNonectr} \newcounter{currNonectr} \newif\ifsetendmark\setendmarktrue +\gdef\thm@romannum#1{\expandafter\thm@roman@num\csname c@#1\endcsname}% +\gdef\thm@roman@num#1{\romannumeral #1}% \gdef\endtrivlist{% \@endtrivlist{\PotEndMark{\unskip\nobreak\hfill\nobreak}}} \gdef\@endtrivlist#1{% % from \endtrivlist @@ -86,18 +88,18 @@ \makebox[.6\linewidth]% \fi $$\stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else - \boxmaxdepth=.5ex\begin{array}[b]{l}% + \boxmaxdepth=.5ex\begin{array}[b]{@{}l}% \boxmaxdepth=\maxdimen\displaystyle\fi}% \addtocounter{end\InTheoType ctr}{-1}% %%$$ BRACE MATCH HACK \fi} \gdef\]{% \stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else \end{array}\fi}% \addtocounter{end\InTheoType ctr}{-1}% @@ -140,8 +142,8 @@ \@endtrivlist {\PotEndMark{\rightskip0pt% \settowidth{\leftskip}% - { \csname mark\roman{curr\InTheoType ctr}\InTheoType - \roman{end\InTheoType ctr}\endcsname}% + { \csname mark\thm@romannum{curr\InTheoType ctr}\InTheoType + \thm@romannum{end\InTheoType ctr}\endcsname}% \advance\leftskip\@flushglue\hskip\@flushglue}}} \gdef\@empty{} \gdef\@endtheorem{% @@ -160,9 +162,9 @@ \gdef\PotEndMark#1{\SetEndMark{\InTheoType}{#1}}% \gdef\SetEndMark#1#2{% \stepcounter{end#1ctr}% - \@ifundefined{mark\roman{curr#1ctr}#1\roman{end#1ctr}}% + \@ifundefined{mark\thm@romannum{curr#1ctr}#1\thm@romannum{end#1ctr}}% {\relax}% - {#2{\csname mark\roman{curr#1ctr}#1\roman{end#1ctr}\endcsname + {#2{\csname mark\thm@romannum{curr#1ctr}#1\thm@romannum{end#1ctr}\endcsname \ifdim\rightmargin>\z@\hskip-\rightmargin\fi \hbox to 0cm{}}}}% \newskip\mysavskip @@ -178,7 +180,7 @@ \expandafter\meaning\csname\InTheoType Symbol\endcsname\relax}% \protected@write\@auxout{}% {\string\global\string\def\string\mark% - \roman{curr\InTheoType ctr}\InTheoType \roman{end\InTheoType ctr}% + \thm@romannum{curr\InTheoType ctr}\InTheoType \thm@romannum{end\InTheoType ctr}% {\thm@tmp}}% \@eesphack} } % end of option [thmmarks] @@ -201,17 +203,17 @@ \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$ \hskip\mathindent\bgroup \stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else - \boxmaxdepth=.5ex\begin{array}[b]{l}% + \boxmaxdepth=.5ex\begin{array}[b]{@{}l}% \boxmaxdepth=\maxdimen\displaystyle\fi}% \addtocounter{end\InTheoType ctr}{-1}% \fi} \renewcommand\]{% \stepcounter{end\InTheoType ctr}% - \@ifundefined{mark\roman{curr\InTheoType ctr}% - \InTheoType\roman{end\InTheoType ctr}}{\relax}% + \@ifundefined{mark\thm@romannum{curr\InTheoType ctr}% + \InTheoType\thm@romannum{end\InTheoType ctr}}{\relax}% {\ifx\csname\InTheoType Symbol\endcsname\@empty\else \end{array}\fi}% \addtocounter{end\InTheoType ctr}{-1}% @@ -376,11 +378,14 @@ \else \gdef\df@tag{\PotEndMark{\maketag@@@}}% \fi} +\newdimen{\tagwidth} \gdef\SetTagPlusEndMark{% \iftagsleft@ \gdef\maketag@@@##1{% + \settowidth{\tagwidth}{$##1$}%% %% WM 17.10.2007 + \hbox to \tagwidth{% \hbox to \displaywidth{\m@th\normalfont##1% - \hss\PotEndMark{\hss}}}% + \hss\PotEndMark{\hss}}\hss}}% \else \gdef\maketag@@@##1{\hbox{\m@th\normalfont##1% \llap{\hss\PotEndMark{\raisebox{-1.3em}}}}}% -- cgit v1.2.3