From a3bb5abaf88c429db37fef119741ee780664428a Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 19 Dec 2014 23:20:05 +0000
Subject: autonum (20dec14)

git-svn-id: svn://tug.org/texlive/trunk@35865 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/autonum/autonum.sty | 135 +++++++++++++++++++-----
 1 file changed, 107 insertions(+), 28 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/autonum/autonum.sty')

diff --git a/Master/texmf-dist/tex/latex/autonum/autonum.sty b/Master/texmf-dist/tex/latex/autonum/autonum.sty
index 348314e193c..82d094c1148 100644
--- a/Master/texmf-dist/tex/latex/autonum/autonum.sty
+++ b/Master/texmf-dist/tex/latex/autonum/autonum.sty
@@ -13,13 +13,15 @@
 %% ----------------------------------------------------------------
 %% 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{autonum}[2014/04/14 v0.3.8 autonum LaTeX package]
+\ProvidesPackage{autonum}[2014/12/19 v0.3.9 autonum LaTeX package]
 \PassOptionsToPackage{hypertexnames=false}{hyperref}
 \RequirePackage{etoolbox}
+\RequirePackage{etextools}
 \RequirePackage{amsmath}
 \RequirePackage[absolute]{textpos}
 \RequirePackage{letltxmacro}
 
+
 \def\csxdefaux#1#2{%
 \protected@write\@mainaux{}{%
 \csxdef{\detokenize{#1}}{#2}%
@@ -34,11 +36,11 @@
 \csxdef{#1}{#2}%
 }
 
-\newrobustcmd{\csLetLtxMacro}[2]{%
+\newrobustcmd{\CsLetLtxMacro}[2]{%
 \expandafter\LetLtxMacro\csname#1\endcsname#2%
 }
 
-\newrobustcmd{\LetcsLtxMacro}[2]{%
+\newrobustcmd{\LetCsLtxMacro}[2]{%
 \ifcsdef{#2}{%
 \expandafter\LetLtxMacro\expandafter#1\csname#2\endcsname
 }{%
@@ -46,9 +48,29 @@
 }%
 }
 
-\newrobustcmd*{\csLetcsLtxMacro}[2]{%
+\newrobustcmd*{\CsLetCsLtxMacro}[2]{%
+\ifcsdef{#2}{%
+\expandafter\LetLtxMacro\csname#1\expandafter\endcsname\csname#2\endcsname
+}{%
+\csundef{#1}%
+}%
+}
+
+\newrobustcmd{\GlobalCsLetLtxMacro}[2]{%
+\expandafter\GlobalLetLtxMacro\csname#1\endcsname#2%
+}
+
+\newrobustcmd{\GlobalLetCsLtxMacro}[2]{%
+\ifcsdef{#2}{%
+\expandafter\GlobalLetLtxMacro\expandafter#1\csname#2\endcsname
+}{%
+\undef#1%
+}%
+}
+
+\newrobustcmd*{\GlobalCsLetCsLtxMacro}[2]{%
 \ifcsdef{#2}{%
-\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
+\expandafter\GlobalLetLtxMacro\csname#1\expandafter\endcsname\csname#2\endcsname
 }{%
 \csundef{#1}%
 }%
@@ -68,8 +90,36 @@
 \undef{\autonum@ifcsedefTemp}%
 }
 
+\def\newcommandsequence#1{%
+\expandafter\newcommand\csname #1\endcsname
+}
+
+\def\renewcommandsequence#1{%
+\expandafter\renewcommand\csname #1\endcsname
+}
+
+
+
+\def\autonum@debug#1{%
+\PackageWarning{autonum}{#1}%
+}
 
+\def\meaningx#1{%
+\expandafter\ifcsname\string #1\endcsname
+\expandafter\meaning\csname\string #1\endcsname
+\else
+\meaning#1%
+\fi
+}
 
+\def\autonum@debugMacro#1{%
+\autonum@debug{%
+\detokenize{#1}defined as \MessageBreak
+\meaning#1 \expandafter\ifcsname\string #1\endcsname\MessageBreak
+with \expandafter\detokenize\expandafter{\csname\string#1\endcsname}defined as\MessageBreak
+\meaningx#1\fi
+}%
+}
 
 \AtBeginDocument{%
 \newlength{\autonum@environmentWidth}%
@@ -94,8 +144,8 @@
 \autonum@patchEnvironmentHelper{#1}{1}%
 }
 \def\autonum@patchBlockEnvironment#1{%
-\autonum@saveEnvironmentSubcommands{#1}{equation}{}%
-\autonum@patchEnvironmentHelper{#1}{0}%
+\autonum@renameEnvironment{#1}{0}%
+\autonum@changeEnvironment{#1}{0}%
 }
 \def\autonum@patchEnvironmentHelper#1#2{%
 \autonum@renameEnvironment{#1}{#2}%
@@ -111,11 +161,10 @@
 \deflength{\autonum@environmentWidth}{\linewidth-\multlinegap-\multlinegap}%
 \hspace{\autonum@environmentWidth}%
 \global\cslet{autonum@newline#1}\\%
-\notag%
+\notag
 \ifboolexpr{not test {\ifstrequal{#1}{multline}} or test {\ifcsundef{autonum@label#1}}}{%
-\global\cslet{autonum@label#1}{\label}%
-}%
-\notag%
+\GlobalCsLetLtxMacro{autonum@label#1}\label
+}{}%
 \end{#1}%
 \end{#2}%
 \end{textblock}%
@@ -150,45 +199,70 @@
 }
 
 \def\autonum@startChangeEnvironment#1#2{%
+\ifstrequal{#1}{split}{%
+}{%
 \autonum@saveSubcommands
+}%
 \csuse{autonum@#1Old}#2%
+\ifstrequal{#1}{split}{%
+}{%
 \autonum@patchSubcommands{#1}%
+}%
 }
 
 \def\autonum@endChangeEnvironment#1{%
 \autonum@possiblyHideNumber
 \csuse{autonum@end#1Old}%
+\ifstrequal{#1}{split}{%
+\renewcommand\label[2][]{%
+\PackageError{autonum}{%
+A label must not be placed between \detokenize{\end{split}}\MessageBreak
+and the end (of a line) of a math environment\MessageBreak
+when using autonum. Wrongly placed label is:\MessageBreak
+##2%
+}{Move the \detokenize{\label}call before \detokenize{\begin{split}}}%
+}%
+\aftergroup@def{\label}%
+}{%
 \autonum@restoreSubcommands
+\global\undef\autonum@currentLabel
+}%
 }
 
 \def\autonum@saveSubcommands{%
-\let\autonum@labelNormal\label%
-\let\autonum@newlineNormal\\%
+\LetLtxMacro\autonum@labelNormal\label
+\LetLtxMacro\autonum@newlineNormal\\%
 }
 
 \def\autonum@patchSubcommands#1{%
-\expandafter\GlobalLetLtxMacro\expandafter\label\csname autonum@patched#1Label\endcsname
+\GlobalLetCsLtxMacro\label{autonum@patched#1Label}%
 \ifstrequal{#1}{multline}{%
 }{%
-  \global\letcs{\\}{autonum@patched#1Newline}%
+\GlobalLetCsLtxMacro\\{autonum@patched#1Newline}%
 }%
 }
 
 \def\autonum@restoreSubcommands{%
-\GlobalLetLtxMacro{\label}{\autonum@labelNormal}%
-\global\let\\\autonum@newlineNormal%
+\GlobalLetLtxMacro\label\autonum@labelNormal
+\GlobalLetLtxMacro\\\autonum@newlineNormal
 }
 
 \def\autonum@generatePatchedLabel#1{%
-\expandafter\newcommand\csname autonum@patched#1Label\endcsname[2][\@empty]{%
+\newcommandsequence{autonum@patched#1Label}[2][]{%
 \ifdef{\autonum@currentLabel}{%
+\ifmeasuring@
 \PackageError{autonum}{Two succeeding \string\label's detected}{Did you forget a \string\\?}%
+\fi
 }{%
+\ifboolexpr{test {\ifstrequal{#1}{flalign}} or test {\ifstrequal{#1}{alignat}}}{%
 \def\autonum@currentLabel{##2}%
+}{%
+\global\def\autonum@currentLabel{##2}%
+}%
 }%
 \ifcsedef{autonum@##2Referenced}{%
 \let\df@label\@empty%
-\ifx\@empty##1\relax
+\if\relax\detokenize{##1}\relax
 \csuse{autonum@label#1}{##2}%
 \else
 \csuse{autonum@label#1}[##1]{##2}%
@@ -198,20 +272,25 @@
 }
 
 \def\autonum@generatePatchedNewline#1{%
-\csdef{autonum@patched#1Newline}{%
+\newcommandsequence{autonum@patched#1Newline}[1][]{%
 \autonum@possiblyHideNumber
+\if\relax\detokenize{##1}\relax
 \csuse{autonum@newline#1}%
-}
+\else
+\csuse{autonum@newline#1}[##1]%
+\fi
+\global\undef\autonum@currentLabel
+}%
 }
 
 \def\autonum@possiblyHideNumber{
 \ifdef{\autonum@currentLabel}{%
-\ifcsedef{autonum@\csuse{autonum@currentLabel}Referenced}{%
+\ifcsedef{autonum@\autonum@currentLabel Referenced}{%
 }{%
-\notag%
+\notag
 }%
 }{%
-\notag%
+\notag
 }%
 }
 
@@ -232,7 +311,7 @@
 }
 
 \def\autonum@generatePatchedReferenceGeneral#1#2{%
-\csLetcsLtxMacro{autonum@reference#1Old}{#1}%
+\CsLetCsLtxMacro{autonum@reference#1Old}{#1}%
 \csdef{#1}{%
 \protect\autonum@processReference{autonum@reference#1Old}{#2}%
 }%
@@ -286,7 +365,7 @@
 \def\autonum@useWithMultipleLineDetection#1#2{%
 \begin{#1}%
 \autonum@patchParentheses
-\global\let\autonum@patchedNewline\\%
+\GlobalLetLtxMacro\autonum@patchedNewline\\%
 \ifstrequal{#1}{align}{%
 \gdef\\{%
 \autonum@patchedNewline
@@ -298,7 +377,7 @@
 }%
 }
 #2%
-\global\let\\\autonum@patchedNewline%
+\GlobalLetLtxMacro\\\autonum@patchedNewline
 \ifdef{\autonum@multipleLines}{%
 \global\undef{\autonum@multipleLines}%
 }{%
@@ -332,7 +411,7 @@
 }{}%
 }
 %% 
-%% Copyright (C) 2012, 2013 by Patrick Häcker <pat_h@web.de>
+%% Copyright (C) 2012, 2013, 2014 by Patrick Häcker <pat_h@web.de>
 %% 
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License (LPPL), either
-- 
cgit v1.2.3

