From 9b56d03fb7b3241bc831b04e814e4f4b0218efe7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 24 Feb 2022 20:52:33 +0000 Subject: atendofenv (24feb22) git-svn-id: svn://tug.org/texlive/trunk@62164 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/atendofenv/atendofenv.pdf | Bin 0 -> 90063 bytes .../source/latex/atendofenv/atendofenv.dtx | 25 ++++++++++++++++++--- .../texmf-dist/tex/latex/atendofenv/atendofenv.sty | 8 ++++++- 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf diff --git a/Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf b/Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf new file mode 100644 index 00000000000..0ed7cecd1d5 Binary files /dev/null and b/Master/texmf-dist/doc/latex/atendofenv/atendofenv.pdf differ 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 %\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} %<*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 \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} -- cgit v1.2.3