diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf | bin | 0 -> 90063 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx | 25 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty | 8 |
3 files changed, 29 insertions, 4 deletions
diff --git a/Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf b/Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf Binary files differnew file mode 100644 index 00000000000..0ed7cecd1d5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf diff --git a/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx b/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx index 161db376037..f01d321214f 100644 --- a/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx +++ b/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx @@ -27,7 +27,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e} -%<package>\ProvidesPackage{atendofenv}[2022/02/23 v0.1 Initial Version] +%<package>\ProvidesPackage{atendofenv}[2022/02/24 v0.2 Prevent an infinite loop] %<package>\RequirePackage{amsthm} %<package>\RequirePackage{letltxmacro} %<*driver> @@ -39,6 +39,7 @@ \usepackage[a4paper, margin=3cm]{geometry} \usepackage{indentfirst} \usepackage[hidelinks]{hyperref} +\usepackage{amssymb} \usepackage{atendofenv} \EnableCrossrefs \CodelineIndex @@ -111,6 +112,16 @@ % This is a long theorem that will be very long, and it will be helpful if I % can add a symbol at the end of it to mark its end. % \end{theorem} +% You can also change the symbol later. +% \AtEndOfEnv{theorem}{$\lrcorner$} +% \begin{verbatim} +% \AtEndOfEnv{theorem}{$\lrcorner$} +% \end{verbatim} +% Now theorems look like this: +% \begin{theorem} +% This is a long theorem that will be very long, and it will be helpful if I +% can add a symbol at the end of it to mark its end. +% \end{theorem} % \noindent % \textbf{Q:} \emph{But, couldn't I change tweak the style of theorems when defining them?} % @@ -123,22 +134,30 @@ \newcommand{\AtEndOfEnv}[2]{ % \end{macrocode} % We first check whether the environment is defined. If so, save the original -% macros; otherwise report an error. +% macros (if not saved already); otherwise report an error. +% \changes{0.2}{2022/02/24}{Fix an infinite loop when trying to change the +% symbol for the same environment twice.} % \begin{macrocode} \ifcsname #1\endcsname + \ifcsname aeoe@old#1\endcsname\relax + \else \expandafter\LetLtxMacro\csname aeoe@old#1\expandafter\endcsname\csname #1\endcsname + \fi \else \PackageError{atendofenv}{Environment #1 undefined}{Check the environment name passed to AtEndOfEnv} \fi \ifcsname end#1\endcsname + \ifcsname aeoe@oldend#1\endcsname\relax + \else \expandafter\LetLtxMacro\csname aeoe@oldend#1\expandafter\endcsname\csname end#1\endcsname + \fi \else \PackageError{atendofenv}{Environment #1 undefined}{Check the environment name passed to AtEndOfEnv} \fi % \end{macrocode} -% Then we redefined the environment, and use the QED stack of \texttt{amsthm} +% Then we redefine the environment, and use the QED stack of \texttt{amsthm} % to get a symbol at the end. % \begin{macrocode} \renewenvironment{#1} diff --git a/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty b/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty index 0b08497e777..2e8dc4c9342 100644 --- a/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty +++ b/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty @@ -33,18 +33,24 @@ %% For more information, please refer to <https://unlicense.org> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{atendofenv}[2022/02/23 v0.1 Initial Version] +\ProvidesPackage{atendofenv}[2022/02/24 v0.2 Prevent an infinite loop] \RequirePackage{amsthm} \RequirePackage{letltxmacro} \newcommand{\AtEndOfEnv}[2]{ \ifcsname #1\endcsname + \ifcsname aeoe@old#1\endcsname\relax + \else \expandafter\LetLtxMacro\csname aeoe@old#1\expandafter\endcsname\csname #1\endcsname + \fi \else \PackageError{atendofenv}{Environment #1 undefined}{Check the environment name passed to AtEndOfEnv} \fi \ifcsname end#1\endcsname + \ifcsname aeoe@oldend#1\endcsname\relax + \else \expandafter\LetLtxMacro\csname aeoe@oldend#1\expandafter\endcsname\csname end#1\endcsname + \fi \else \PackageError{atendofenv}{Environment #1 undefined}{Check the environment name passed to AtEndOfEnv} |