%% %% This is file `undolabl.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% undolabl.dtx (with options: `package') %% %% This is a generated file. %% %% Project: undolabl %% Version: 2015/03/29 v1.0l %% %% Copyright (C) 2010 - 2015 by %% H.-Martin M"unch %% Portions of code copyrighted by other people as marked. %% %% The usual disclaimer applies: %% If it doesn't work right that's your problem. %% (Nevertheless, send an e-mail to the maintainer %% when you find an error in this package.) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% http://www.latex-project.org/lppl/lppl-1-3c.txt %% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% The Current Maintainer of this work is H.-Martin Muench. %% %% The main code of this package was invented by %% Ulrich Diez (eu_angelion AT web DOT de) %% and first published in the comp.text.tex newsgroup %% at Sun, 20 Apr 2008 16:39:26 +0200, with subject: %% Re: How to undefine/overwrite a label? (see e.g. %% http://groups.google.de/group/comp.text.tex/msg/af6cfe93917097da?dmode=source %% ). While Ulrich Diez neither wanted to create a package himself yet %% nor have one published under his name, he granted the %% publication of his code. Therefore: Thanks! %% %% This work consists of the main source file undolabl.dtx, %% the README, and the derived files %% undolabl.sty, undolabl.pdf, %% undolabl.ins, undolabl.drv, %% undolabl-example.tex, undolabl-example.pdf. %% %% In memoriam %% Claudia Simone Barth + 1996/01/30 %% Tommy Muench + 2014/01/02 %% Hans-Klaus Muench + 2014/08/24 %% \NeedsTeXFormat{LaTeX2e}[2014/05/01] \ProvidesPackage{undolabl}% [2015/03/29 v1.0l Overriding labels (HMM)] %% undolabl may work with earlier versions of LaTeX2e, %% but this was not tested. Please consider updating %% your LaTeX2e to the most recent version %% (if it is not already the most recent version). \AtBeginDocument{% \if@filesw% \else% \@ifpackageloaded{tikz}{% \PackageWarning{undolabl}% {The undolabl package was not allowed to write to an\MessageBreak% .aux file. This package does not work without access\MessageBreak% to an .aux file.\MessageBreak% It is OK if the .aux file was already updated\MessageBreak% by a previouse compiler run\MessageBreak% and would not have changed anyway.\MessageBreak% }% }{\PackageError{undolabl}{No writing to auxiliary file allowed}% {The undolabl package was not allowed to write to an .aux file.\MessageBreak% This package does not work without access to an .aux file.\MessageBreak% Press Ctrl+Z to exit.\MessageBreak% But it is OK if the .aux file was already updated\MessageBreak% by a previouse compiler run\MessageBreak% and would not have changed anyway.\MessageBreak% }% }% \fi% \@ifpackageloaded{acronym}% {\@ifpackagelater{acronym}{2015/03/20}% {% later, OK }{\PackageError{undolabl}{Incompatible old acronym package detected}% {The undolabl package is not compatible with the acronym package% \MessageBreak% older than 2015/03/21 v1.41. Please update your acronym package!% \MessageBreak% }% }% }{% not loaded, OK }% } \newcommand\overridelabel[1]{% \@bsphack% \if@filesw% \protected@write\@auxout{}{\string\undonewlabel{#1}}% \@overriddenmessage s{#1}% \label{#1}% \fi% \@esphack% } \newcommand\undonewlabel{\@und@newl@bel r} \newcommand\@und@newl@bel[2]{% \@ifundefined{#1@#2}{% \PackageError{undolabl}{Label `#2' shall be overridden ^^J% although it does not yet exist}{% A label which does not exist cannot be overridden.}% }{% \expandafter\global \expandafter\let \csname #1@#2\endcsname\relax% }% } \newcommand\@overriddenmessage[2]{% \@ifundefined{#1@#2}{\global\@namedef{#1@#2}{i}}{% \expandafter\g@addto@macro\csname #1@#2\endcsname{i}% }% \PackageWarning{undolabl}{Label `#2' overridden}% } \newcommand\undolabl@testdef[3]{% \@ifundefined{s@#2}\@secondoftwo\@firstofone{% \expandafter\ifx\csname s@#2\endcsname\empty \expandafter\@firstofone \else% \expandafter\xdef\csname s@#2\endcsname{% \expandafter\expandafter \expandafter\@gobble \csname s@#2\endcsname }% \expandafter\@gobble \fi% }{\@testdef{#1}{#2}{#3}% }% } \if@filesw% \protected@write\@auxout{}{\string\reset@newl@bel}% \fi% \newcommand\reset@newl@bel{% \ifx\@newl@bel\@testdef% \let\@newl@bel\undolabl@testdef% \let\undonewlabel\@gobble% \fi% } \endinput %% %% End of file `undolabl.sty'.