From f1afe203982a734260a15687c4fb5293b6c47ac1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 23 Feb 2022 20:52:43 +0000 Subject: atendofenv (23feb22) git-svn-id: svn://tug.org/texlive/trunk@62153 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/atendofenv/LICENSE | 24 ++++ Master/texmf-dist/doc/latex/atendofenv/README.md | 24 ++++ .../source/latex/atendofenv/atendofenv.dtx | 149 +++++++++++++++++++++ .../source/latex/atendofenv/atendofenv.ins | 48 +++++++ .../texmf-dist/tex/latex/atendofenv/atendofenv.sty | 58 ++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 3 +- Master/tlpkg/tlpsrc/atendofenv.tlpsrc | 0 Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + 8 files changed, 306 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/atendofenv/LICENSE create mode 100644 Master/texmf-dist/doc/latex/atendofenv/README.md create mode 100644 Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx create mode 100644 Master/texmf-dist/source/latex/atendofenv/atendofenv.ins create mode 100644 Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty create mode 100644 Master/tlpkg/tlpsrc/atendofenv.tlpsrc diff --git a/Master/texmf-dist/doc/latex/atendofenv/LICENSE b/Master/texmf-dist/doc/latex/atendofenv/LICENSE new file mode 100644 index 00000000000..fdddb29aa44 --- /dev/null +++ b/Master/texmf-dist/doc/latex/atendofenv/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/Master/texmf-dist/doc/latex/atendofenv/README.md b/Master/texmf-dist/doc/latex/atendofenv/README.md new file mode 100644 index 00000000000..7d3e3cced3c --- /dev/null +++ b/Master/texmf-dist/doc/latex/atendofenv/README.md @@ -0,0 +1,24 @@ +# Package `atendofenv` + +A LaTeX package to allow adding a custom symbol at the end of an environment +(e.g. theorems, definitions, remarks) + +## Usage + +To add a small triangle at the end of a theorem, simply insert this after +declaring the `theorem` environment with `\newtheorem`. + +```tex + \AtEndOfEnv{theorem}{$\triangleleft$} +``` + +## Dependencies +- amsthm (for the QED stack) +- letltxmacro (for saving existing macros) + + +## Maintainer +Fangyi Zhou + +## Licence +The Unlicense diff --git a/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx b/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx new file mode 100644 index 00000000000..161db376037 --- /dev/null +++ b/Master/texmf-dist/source/latex/atendofenv/atendofenv.dtx @@ -0,0 +1,149 @@ +% \iffalse meta-comment +% This is free and unencumbered software released into the public domain. +% +% Anyone is free to copy, modify, publish, use, compile, sell, or +% distribute this software, either in source code form or as a compiled +% binary, for any purpose, commercial or non-commercial, and by any +% means. +% +% In jurisdictions that recognize copyright laws, the author or authors +% of this software dedicate any and all copyright interest in the +% software to the public domain. We make this dedication for the benefit +% of the public at large and to the detriment of our heirs and +% successors. We intend this dedication to be an overt act of +% relinquishment in perpetuity of all present and future rights to this +% software under copyright law. +% +% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +% IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +% OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +% ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +% OTHER DEALINGS IN THE SOFTWARE. +% +% For more information, please refer to +% \fi + +% \iffalse +%\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{atendofenv}[2022/02/23 v0.1 Initial Version] +%\RequirePackage{amsthm} +%\RequirePackage{letltxmacro} +%<*driver> +\documentclass{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage{mathpazo} +\usepackage[scale=0.85]{FiraMono} +\usepackage{FiraSans} +\usepackage[a4paper, margin=3cm]{geometry} +\usepackage{indentfirst} +\usepackage[hidelinks]{hyperref} +\usepackage{atendofenv} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{atendofenv.dtx} +\end{document} +% +% \fi +% +% \CheckSum{0} +% +% \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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \GetFileInfo{atendofenv.sty} +% +% \title{At End of Env} +% \author{Fangyi Zhou} +% \maketitle +% +% \section{Motivation} +% The \texttt{amsthm} package conveniently provides environments for +% declaring theorems and friends. +% By default, the \texttt{proof} environment inserts a +% \href{https://en.wikipedia.org/wiki/Q.E.D.}{QED} symbol at the end of +% environment. +% It is sometimes also desirable to insert a similar symbol at the end of other +% environments, e.g.~at the end of a definition or a remark, which motivates +% this package. +% +% \section{Usage} +% Let us begin with defining a theorem environment with \texttt{amsthm}: +% \newtheorem{theorem}{Theorem} +% \begin{verbatim} +% \newtheorem{theorem}{Theorem} +% \end{verbatim} +% And we can create a theorem like this: +% \begin{verbatim} +% \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} +% \end{verbatim} +% \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} +% To do so, simply put after defining a theorem environment: +% \AtEndOfEnv{theorem}{$\triangleleft$} +% \begin{verbatim} +% \AtEndOfEnv{theorem}{$\triangleleft$} +% \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?} +% +% \noindent +% \textbf{A:} Of course, but sometimes they are defined by a class file (e.g.~from +% publishers), and tweaking class files may be a sin in many situations. +% +% \section{Implementation} +% \begin{macrocode} +\newcommand{\AtEndOfEnv}[2]{ +% \end{macrocode} +% We first check whether the environment is defined. If so, save the original +% macros; otherwise report an error. +% \begin{macrocode} + \ifcsname #1\endcsname + \expandafter\LetLtxMacro\csname aeoe@old#1\expandafter\endcsname\csname #1\endcsname + \else + \PackageError{atendofenv}{Environment #1 undefined}{Check the environment + name passed to AtEndOfEnv} + \fi + \ifcsname end#1\endcsname + \expandafter\LetLtxMacro\csname aeoe@oldend#1\expandafter\endcsname\csname end#1\endcsname + \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} +% to get a symbol at the end. +% \begin{macrocode} + \renewenvironment{#1} + {\pushQED{\qed}\renewcommand{\qedsymbol}{#2}\expandafter\csname aeoe@old#1\endcsname} + {\popQED\expandafter\csname aeoe@oldend#1\endcsname} +} +% \end{macrocode} +% \Finale diff --git a/Master/texmf-dist/source/latex/atendofenv/atendofenv.ins b/Master/texmf-dist/source/latex/atendofenv/atendofenv.ins new file mode 100644 index 00000000000..400f095914b --- /dev/null +++ b/Master/texmf-dist/source/latex/atendofenv/atendofenv.ins @@ -0,0 +1,48 @@ +\input docstrip.tex +\keepsilent +\usedir{tex/latex/atendofenv} +\preamble +This is a generated file. + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to +\endpreamble + +\generate{\file{atendofenv.sty}{\from{atendofenv.dtx}{package}}} + +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space atendofenv.sty} +\Msg{*} +\Msg{* To produce the documentation run the file atendofenv.dtx} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************} +\endbatchfile + diff --git a/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty b/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty new file mode 100644 index 00000000000..0b08497e777 --- /dev/null +++ b/Master/texmf-dist/tex/latex/atendofenv/atendofenv.sty @@ -0,0 +1,58 @@ +%% +%% This is file `atendofenv.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% atendofenv.dtx (with options: `package') +%% This is a generated file. +%% +%% This is free and unencumbered software released into the public domain. +%% +%% Anyone is free to copy, modify, publish, use, compile, sell, or +%% distribute this software, either in source code form or as a compiled +%% binary, for any purpose, commercial or non-commercial, and by any +%% means. +%% +%% In jurisdictions that recognize copyright laws, the author or authors +%% of this software dedicate any and all copyright interest in the +%% software to the public domain. We make this dedication for the benefit +%% of the public at large and to the detriment of our heirs and +%% successors. We intend this dedication to be an overt act of +%% relinquishment in perpetuity of all present and future rights to this +%% software under copyright law. +%% +%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +%% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +%% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +%% IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +%% OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +%% ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +%% OTHER DEALINGS IN THE SOFTWARE. +%% +%% For more information, please refer to + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{atendofenv}[2022/02/23 v0.1 Initial Version] +\RequirePackage{amsthm} +\RequirePackage{letltxmacro} +\newcommand{\AtEndOfEnv}[2]{ + \ifcsname #1\endcsname + \expandafter\LetLtxMacro\csname aeoe@old#1\expandafter\endcsname\csname #1\endcsname + \else + \PackageError{atendofenv}{Environment #1 undefined}{Check the environment + name passed to AtEndOfEnv} + \fi + \ifcsname end#1\endcsname + \expandafter\LetLtxMacro\csname aeoe@oldend#1\expandafter\endcsname\csname end#1\endcsname + \else + \PackageError{atendofenv}{Environment #1 undefined}{Check the environment + name passed to AtEndOfEnv} + \fi + \renewenvironment{#1} + {\pushQED{\qed}\renewcommand{\qedsymbol}{#2}\expandafter\csname aeoe@old#1\endcsname} + {\popQED\expandafter\csname aeoe@oldend#1\endcsname} +} +\endinput +%% +%% End of file `atendofenv.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index f1a12cff0ec..c387438d2a1 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -58,7 +58,8 @@ my @TLP_working = qw( askinclude askmaps asmeconf asmejour aspectratio assignment association-matrix assoccnt astro asyfig asymptote-faq-zh-cn asymptote-by-example-zh-cn asymptote-manual-zh-cn - asypictureb atbegshi atenddvi atkinson atveryend attachfile attachfile2 + asypictureb atbegshi atenddvi atendofenv atkinson atveryend + attachfile attachfile2 aucklandthesis augie auncial-new aurical aurl auto-pst-pdf-lua autobreak autopdf authoraftertitle authorarchive authordate authorindex diff --git a/Master/tlpkg/tlpsrc/atendofenv.tlpsrc b/Master/tlpkg/tlpsrc/atendofenv.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 703db023dc3..96b25a490c0 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -53,6 +53,7 @@ depend assignment depend assoccnt depend association-matrix depend atenddvi +depend atendofenv depend attachfile depend aurl depend authoraftertitle -- cgit v1.2.3