summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/atveryend/atveryend.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-06 23:21:03 +0000
committerKarl Berry <karl@freefriends.org>2019-12-06 23:21:03 +0000
commit56fb16c2752f7dd9e214dbaca2a14458acad4019 (patch)
treeb2ac01cae38e90d39d3e5679b8ba4cefcc6fa77e /Master/texmf-dist/tex/latex/atveryend/atveryend.sty
parentc5c2bd1f0d38f86118286ecc793f880fba69ac63 (diff)
atveryend split from oberdiek (7dec19)
git-svn-id: svn://tug.org/texlive/trunk@53049 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/atveryend/atveryend.sty')
-rw-r--r--Master/texmf-dist/tex/latex/atveryend/atveryend.sty716
1 files changed, 716 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/atveryend/atveryend.sty b/Master/texmf-dist/tex/latex/atveryend/atveryend.sty
new file mode 100644
index 00000000000..4bee0887134
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/atveryend/atveryend.sty
@@ -0,0 +1,716 @@
+%%
+%% This is file `atveryend.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% atveryend.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Project: atveryend
+%% Version: 2019/12/05 v1.10
+%%
+%% Copyright (C)
+%% 2009-2011 Heiko Oberdiek
+%% 2016-2019 Oberdiek Package Support Group
+%%
+%% 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
+%% https://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3 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 Maintainers of this work are
+%% Heiko Oberdiek and the Oberdiek Package Support Group
+%% https://github.com/ho-tex/atveryend/issues
+%%
+%%
+%% This work consists of the main source file atveryend.dtx
+%% and the derived files
+%% atveryend.sty, atveryend.pdf, atveryend.ins, atveryend.drv,
+%% atveryend-test1.tex.
+%%
+\begingroup\catcode61\catcode48\catcode32=10\relax%
+ \catcode13=5 % ^^M
+ \endlinechar=13 %
+ \catcode123=1 % {
+ \catcode125=2 % }
+ \catcode64=11 % @
+ \def\x{\endgroup
+ \expandafter\edef\csname AtVeryEnd@AtEnd\endcsname{%
+ \endlinechar=\the\endlinechar\relax
+ \catcode13=\the\catcode13\relax
+ \catcode32=\the\catcode32\relax
+ \catcode35=\the\catcode35\relax
+ \catcode61=\the\catcode61\relax
+ \catcode64=\the\catcode64\relax
+ \catcode123=\the\catcode123\relax
+ \catcode125=\the\catcode125\relax
+ }%
+ }%
+\x\catcode61\catcode48\catcode32=10\relax%
+\catcode13=5 % ^^M
+\endlinechar=13 %
+\catcode35=6 % #
+\catcode64=11 % @
+\catcode123=1 % {
+\catcode125=2 % }
+\def\TMP@EnsureCode#1#2{%
+ \edef\AtVeryEnd@AtEnd{%
+ \AtVeryEnd@AtEnd
+ \catcode#1=\the\catcode#1\relax
+ }%
+ \catcode#1=#2\relax
+}
+\TMP@EnsureCode{9}{10}% (tab)
+\TMP@EnsureCode{39}{12}% '
+\TMP@EnsureCode{40}{12}% (
+\TMP@EnsureCode{41}{12}% )
+\TMP@EnsureCode{42}{12}% *
+\TMP@EnsureCode{45}{12}% -
+\TMP@EnsureCode{46}{12}% .
+\TMP@EnsureCode{47}{12}% /
+\TMP@EnsureCode{62}{12}% >
+\TMP@EnsureCode{91}{12}% [
+\TMP@EnsureCode{93}{12}% ]
+\TMP@EnsureCode{96}{12}% `
+\edef\AtVeryEnd@AtEnd{\AtVeryEnd@AtEnd\noexpand\endinput}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{atveryend}%
+ [2019/12/05 v1.10 Hooks at the very end of document (HO)]
+\def\AtVeryEnd@ifundefined#1{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname #1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\let\AtVeryEnd@BeforeClearDocumentHook\@empty
+\let\AtVeryEnd@AfterLastShipoutHook\@empty
+\let\AtVeryEnd@AtVeryEndDocumentHook\@empty
+\let\AtVeryEnd@AtEndAfterFileListHook\@empty
+\let\AtVeryEnd@AtVeryVeryEndHook\@empty
+\newcommand*{\BeforeClearDocument}{%
+ \g@addto@macro\AtVeryEnd@BeforeClearDocumentHook
+}
+\newcommand*{\AfterLastShipout}{%
+ \g@addto@macro\AtVeryEnd@AfterLastShipoutHook
+}
+\newcommand*{\AtVeryEndDocument}{%
+ \g@addto@macro\AtVeryEnd@AtVeryEndDocumentHook
+}
+\newcommand*{\AtEndAfterFileList}{%
+ \g@addto@macro\AtVeryEnd@AtEndAfterFileListHook
+}
+\newcommand*{\AtVeryVeryEnd}{%
+ \g@addto@macro\AtVeryEnd@AtVeryVeryEndHook
+}
+\newcommand*{\Call@BeforeClearDocument}{%
+ \let\BeforeClearDocument\@firstofone
+ \ifx\AtVeryEnd@BeforeClearDocumentHook\@empty
+ \PackageInfo{atveryend}{Empty hook `BeforeClearDocument'}%
+ \else
+ \PackageInfo{atveryend}{Executing hook `BeforeClearDocument'}%
+ \AtVeryEnd@BeforeClearDocumentHook
+ \fi
+ \global\let\AtVeryEnd@BeforeClearDocumentHook\@undefined
+ \global\let\Call@BeforeClearDocument\relax
+}
+\newcommand*{\Call@AfterLastShipout}{%
+ \let\AfterLastShipout\@firstofone
+ \ifx\AtVeryEnd@AfterLastShipoutHook\@empty
+ \PackageInfo{atveryend}{Empty hook `AfterLastShipout'}%
+ \else
+ \PackageInfo{atveryend}{Executing hook `AfterLastShipout'}%
+ \AtVeryEnd@AfterLastShipoutHook
+ \fi
+ \global\let\AtVeryEnd@AfterLastShipoutHook\@undefined
+ \global\let\Call@AfterLastShipout\relax
+}
+\newcommand*{\Call@AtVeryEndDocument}{%
+ \let\AtVeryEndDocument\@firstofone
+ \ifx\AtVeryEnd@AtVeryEndDocumentHook\@empty
+ \PackageInfo{atveryend}{Empty hook `AtVeryEndDocument'}%
+ \else
+ \PackageInfo{atveryend}{Executing hook `AtVeryEndDocument'}%
+ \AtVeryEnd@AtVeryEndDocumentHook
+ \fi
+ \global\let\AtVeryEnd@AtVeryEndDocumentHook\@undefined
+ \global\let\Call@AtVeryEndDocument\relax
+}
+\newcommand*{\Call@AtEndAfterFileList}{%
+ \Call@AtVeryEndDocument
+ \let\AtEndAfterFileList\@firstofone
+ \ifx\AtVeryEnd@AtEndAfterFileListHook\@empty
+ \PackageInfo{atveryend}{Empty hook `AtEndAfterFileList'}%
+ \else
+ \PackageInfo{atveryend}{Executing hook `AtEndAfterFileList'}%
+ \AtVeryEnd@AtEndAfterFileListHook
+ \fi
+ \global\let\AtVeryEnd@AtEndAfterFileListHook\@undefined
+ \global\let\Call@AtEndAfterFileList\relax
+}
+\newcommand*{\Call@AtVeryVeryEnd}{%
+ \Call@AtEndAfterFileList
+ \let\AtVeryVeryEnd\@firstofone
+ \ifx\AtVeryEnd@AtVeryVeryEndHook\@empty
+ \PackageInfo{atveryend}{Empty hook `AtVeryVeryEnd'}%
+ \else
+ \PackageInfo{atveryend}{Executing hook `AtVeryVeryEnd'}%
+ \AtVeryEnd@AtVeryVeryEndHook
+ \fi
+ \global\let\AtVeryEnd@AtVeryVeryEndHook\@undefined
+ \global\let\Call@AtVeryVeryEnd\relax
+}
+\def\AtVeryEnd@test@standard{%
+ \let\AtEndDocument\@firstofone
+ \@enddocumenthook
+ \@checkend{document}%
+ \clearpage
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter
+ \input\jobname.aux %
+ \fi
+ \@dofilelist
+ \ifdim \font@submax >\fontsubfuzz\relax
+ \@font@warning{Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occurred.\@gobbletwo}%
+ \fi
+ \@defaultsubs
+ \@refundefined
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed. %
+ Rerun to get cross-references right}%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+ \endgroup
+ \deadcycles\z@
+ \@@end
+}
+\def\AtVeryEnd@enddocument@standard{%
+ \let\AtEndDocument\@firstofone
+ \@enddocumenthook
+ \@checkend{document}%
+ \Call@BeforeClearDocument
+ \clearpage
+ \Call@AfterLastShipout
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter
+ \input\jobname.aux %
+ \fi
+ \Call@AtVeryEndDocument
+ \@dofilelist
+ \Call@AtEndAfterFileList
+ \ifdim \font@submax >\fontsubfuzz\relax
+ \@font@warning{Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occurred.\@gobbletwo}%
+ \fi
+ \@defaultsubs
+ \@refundefined
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed. %
+ Rerun to get cross-references right}%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+ \endgroup
+ \deadcycles\z@
+ \Call@AtVeryVeryEnd
+ \@@end
+}
+\expandafter\def\csname AtVeryEnd@test@standard20110627\endcsname{%
+ \let\AtEndDocument\@firstofone
+ \@enddocumenthook
+ \@checkend{document}%
+ \clearpage
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter
+ \@@input\jobname.aux %
+ \fi
+ \@dofilelist
+ \ifdim \font@submax >\fontsubfuzz\relax
+ \@font@warning{Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occurred.\@gobbletwo}%
+ \fi
+ \@defaultsubs
+ \@refundefined
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed. %
+ Rerun to get cross-references right}%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+ \endgroup
+ \deadcycles\z@
+ \@@end
+}
+\expandafter\def\csname AtVeryEnd@enddocument@standard20110627\endcsname{%
+ \let\AtEndDocument\@firstofone
+ \@enddocumenthook
+ \@checkend{document}%
+ \Call@BeforeClearDocument
+ \clearpage
+ \Call@AfterLastShipout
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter
+ \@@input\jobname.aux %
+ \fi
+ \Call@AtVeryEndDocument
+ \@dofilelist
+ \Call@AtEndAfterFileList
+ \ifdim \font@submax >\fontsubfuzz\relax
+ \@font@warning{Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occurred.\@gobbletwo}%
+ \fi
+ \@defaultsubs
+ \@refundefined
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed. %
+ Rerun to get cross-references right}%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+ \endgroup
+ \deadcycles\z@
+ \Call@AtVeryVeryEnd
+ \@@end
+}
+\expandafter\def\expandafter\AtVeryEnd@test@booklet\expandafter{%
+ \expandafter\twoupclearpage
+ \AtVeryEnd@test@standard
+}
+\expandafter\def\expandafter\AtVeryEnd@enddocument@booklet\expandafter{%
+ \expandafter\twoclearpage
+ \AtVeryEnd@enddocument@standard
+}
+\def\AtVeryEnd@test@dinbrief{%
+ \@checkend{document} %
+ \newpage
+ \begingroup
+ \if@filesw
+ \ifnum\c@labelgen>0 %
+ \immediate\closeout\@mainlbl
+ \makeatletter
+ \input \jobname@lbl\relax
+ \clearpage
+ \fi
+ \immediate\closeout\@mainaux
+ \fi
+ \endgroup
+ \deadcycles\z@
+ \@@end
+}
+\def\AtVeryEnd@enddocument@dinbrief{%
+ \@checkend{document}%
+ \Call@BeforeClearDocument
+ \newpage
+ \Call@AfterLastShipout
+ \begingroup
+ \if@filesw
+ \ifnum\c@labelgen>\z@
+ \immediate\closeout\@mainlbl
+ \makeatletter
+ \input \jobname@lbl\relax
+ \clearpage
+ \fi
+ \immediate\closeout\@mainaux
+ \fi
+ \Call@AtVeryEndDocument
+ \csname @dofilelist\endcsname
+ \Call@AtEndAfterFileList
+ \endgroup
+ \deadcycles\z@
+ \Call@AtVeryVeryEnd
+ \@@end
+}
+\def\AtVeryEnd@test@combine{%
+ \@enddocumenthook
+ \@checkend{document}%
+ \clearpage
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \immediate\closeout\@partaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter \input\c@lmainauxfile %% change here
+ \fi
+ \c@lenddoca %% a replacement
+ \@refundefined
+ \endgroup
+ \deadcycles\z@
+ \@@end
+}
+\def\AtVeryEnd@enddocument@combine{%
+ \@enddocumenthook
+ \@checkend{document}%
+ \Call@BeforeClearDocument
+ \clearpage
+ \Call@AfterLastShipout
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \immediate\closeout\@partaux
+ \let\@setckpt\@gobbletwo
+ \let\@newl@bel\@testdef
+ \@tempswafalse
+ \makeatletter \input\c@lmainauxfile %% change here
+ \fi
+ \Call@AtVeryEndDocument
+ \c@lenddoca %% a replacement
+ \@refundefined
+ \endgroup
+ \deadcycles\z@
+ \Call@AtVeryVeryEnd
+ \@@end
+}
+\long\def\AtVeryEnd@test@c@lenddoca{%
+ \@dofilelist
+ \ifdim\font@submax>\fontsubfuzz\relax
+ \@font@warning{%
+ Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occured.\@gobbletwo
+ }%
+ \fi
+ \@defaultsubs
+ \if@filesw
+ \ifx\@multiplelabels\relax
+ \if@tempswa
+ \@latex@warning@no@line{%
+ Label(s) may have changed. %
+ Rerun to get cross-references right%
+ }%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+}
+\ifx\AtVeryEnd@c@lenddoca\c@lenddoca
+ \def\c@lenddoca{%
+ \@dofilelist
+ \Call@AtEndAfterFileList
+ \ifdim\font@submax>\fontsubfuzz\relax
+ \@font@warning{%
+ Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occured.\@gobbletwo
+ }%
+ \fi
+ \@defaultsubs
+ \if@filesw
+ \ifx\@multiplelabels\relax
+ \if@tempswa
+ \@latex@warning@no@line{%
+ Label(s) may have changed. %
+ Rerun to get cross-references right%
+ }%
+ \fi
+ \else
+ \@multiplelabels
+ \fi
+ \fi
+ }%
+\fi
+\def\AtVeryEnd@test@jpsj{%
+ \if@lastpagebalancing
+ \global\let\@outputdblcol=\balancing@outputdblcol
+ \fi
+ \@checkend{document}%
+ \clearpage
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \def\global\@namedef##1##2{}%
+ \def\newlabel{\@testdef r}%
+ \def\bibcite{\@testdef b}%
+ \@tempswafalse
+ \makeatletter
+ \input \jobname.aux %
+ \if@tempswa
+ \@warning{%
+ Label(s) may have changed. %
+ Rerun to get cross-references right%
+ }%
+ \fi
+ \fi
+ \endgroup
+ \deadcycles\z@
+ \@@end
+}
+\def\AtVeryEnd@enddocument@jpsj{%
+ \if@lastpagebalancing
+ \global\let\@outputdblcol=\balancing@outputdblcol
+ \fi
+ \@checkend{document}%
+ \Call@BeforeClearDocument
+ \clearpage
+ \Call@AfterLastShipout
+ \begingroup
+ \if@filesw
+ \immediate\closeout\@mainaux
+ \def\global\@namedef##1##2{}%
+ \def\newlabel{\@testdef r}%
+ \def\bibcite{\@testdef b}%
+ \@tempswafalse
+ \makeatletter
+ \input \jobname.aux %
+ \if@tempswa
+ \@warning{%
+ Label(s) may have changed. %
+ Rerun to get cross-references right%
+ }%
+ \fi
+ \fi
+ \Call@AtVeryEndDocument
+ \csname @dofilelist\endcsname
+ \Call@AtEndAfterFileList
+ \endgroup
+ \deadcycles\z@
+ \Call@AtVeryVeryEnd
+ \@@end
+}
+\def\AtVeryEnd@Test#1#2{%
+ \expandafter\ifx\csname AtVeryEnd@test@#2\endcsname#1%
+ \expandafter\let\expandafter#1%
+ \csname AtVeryEnd@enddocument@#2\endcsname
+ \begingroup
+ \let\on@line\@empty
+ \PackageInfo{atveryend}{%
+ \string#1 detected (#2)%
+ }%
+ \endgroup
+ \expandafter\AtVeryEnd@SkipToNil
+ \fi
+}
+\def\AtVeryEnd@SkipToNil#1\@nil{}
+\def\AtVeryEnd@RedefEndDocument#1{%
+ \ifx#1\@undefined
+ \else
+ \AtVeryEnd@Test#1{standard20110627}%
+ \AtVeryEnd@Test#1{standard}%
+ \AtVeryEnd@Test#1{booklet}%
+ \AtVeryEnd@Test#1{dinbrief}%
+ \AtVeryEnd@Test#1{combine}%
+ \AtVeryEnd@Test#1{jpsj}%
+ \AtVeryEnd@SkipToNil
+ \@nil
+ \fi
+}
+\AtVeryEnd@RedefEndDocument\enddocument
+\AtVeryEnd@RedefEndDocument\AP@enddocument % afterpage.sty
+\AtVeryEnd@RedefEndDocument\hyper@back@cite@enddocument % htx-bc.sty
+\AtVeryEnd@RedefEndDocument\hyper@enddocument % hyper.sty
+\AtVeryEnd@RedefEndDocument\hyper@fn@enddocument % hyper.sty
+\AtVeryEnd@RedefEndDocument\cweb@save@enddocument % cweb.cls
+\AtVeryEnd@RedefEndDocument\prev@enddocument % flushend.sty
+\AtVeryEnd@RedefEndDocument\endorigdocument % gaceta.cls
+\AtVeryEnd@RedefEndDocument\keependdoc % aguplus.sty
+\AtVeryEnd@RedefEndDocument\EMenddocument % t-angles.sty
+\AtVeryEnd@RedefEndDocument\docmute@enddocument % docmute.sty
+\AtVeryEnd@RedefEndDocument\a@enddocument % alatex.sty
+\AtVeryEnd@RedefEndDocument\enddocumentasusual % frenchle.sty
+\AtVeryEnd@RedefEndDocument\old@enddocument % uwthesis.cls
+\def\AtVeryEnd@document{document}%
+\def\AtVeryEnd@RedefCheckEnd{%
+ \expandafter\def\expandafter\@checkend
+ \expandafter##\expandafter1\expandafter{%
+ \@checkend{##1}%
+ \def\AtVeryEnd@temp{##1}%
+ \ifx\AtVeryEnd@temp\AtVeryEnd@document
+ \let\AtVeryEnd@OrgClearpage\clearpage
+ \def\clearpage{%
+ \let\clearpage\AtVeryEnd@OrgClearpage
+ \Call@BeforeClearDocument
+ \clearpage
+ \Call@AfterLastShipout
+ }%
+ \fi
+ }%
+ \aftergroup\AtVeryEnd@RedefCheckEnd
+}%
+\AtBeginDocument{%
+ \AtEndDocument{%
+ \AtVeryEnd@RedefCheckEnd
+ }%
+}
+\AtEndDocument{%
+ \@ifundefined{@dofilelist}{%
+ \gdef\@dofilelist{%
+ \Call@AtVeryEndDocument
+ \Call@AtEndAfterFileList
+ }%
+ }{%
+ \begingroup
+ \toks@\expandafter{\@dofilelist}%
+ \xdef\@dofilelist{%
+ \noexpand\Call@AtVeryEndDocument
+ \the\toks@
+ \noexpand\Call@AtEndAfterFileList
+ }%
+ \endgroup
+ }%
+}
+\AtBeginDocument{%
+ \@ifpackageloaded{scrlfile}{%
+ \AtVeryEnd@ifundefined{BeforeClosingMainAux}{}{%
+ \BeforeClosingMainAux{\Call@AfterLastShipout}%
+ }%
+ \AtVeryEnd@ifundefined{AfterReadingMainAux}{}{%
+ \AfterReadingMainAux{\Call@AtVeryEndDocument}%
+ }%
+ }{}%
+ \@ifpackageloaded{etoolbox}{%
+ \AtVeryEnd@ifundefined{AfterEndDocument}{}{%
+ \AfterEndDocument{\Call@AtVeryEndDocument}%
+ }%
+ }{}%
+}
+\def\AtVeryEnd@temp{%
+ \AtBeginDocument{%
+ \let\@startlabels\startlabels
+ \let\@mlabel\mlabel
+ \if@filesw
+ \immediate\write\@mainaux{\string\@startlabels}%
+ \fi
+ }%
+ \AtEndDocument{%
+ \if@filesw
+ \immediate\write\@mainaux{\string\clearpage}%
+ \fi
+ }%
+}
+\ifx\makelabels\AtVeryEnd@temp
+\else
+ \expandafter\AtVeryEnd@AtEnd
+\fi%
+\let\AtVeryEnd@PatchLetter=N%
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname endletter\endcsname\relax
+\else
+ \long\def\AtVeryEnd@TestEndLetter#1\@auxout#2#3\AtVeryEnd@Nil{%
+ \def\AtVeryEnd@temp{#2}%
+ \ifx\AtVeryEnd@temp\@empty
+ \else
+ \@onelevel@sanitize\AtVeryEnd@temp
+ \edef\AtVeryEnd@StringMlabel{%
+ \string\string
+ \string\@mlabel
+ \expandafter\@gobble\string\{%
+ }%
+ \def\AtVeryEnd@CatchFirst##1##2##3##4##5##6##7##8{%
+ ##1##2##3##4##5##6##7##8\AtVeryEnd@CatchSecond
+ }%
+ \def\AtVeryEnd@CatchSecond##1##2##3##4##5##6##7##8##9\@nil{%
+ ##1##2##3##4##5##6##7##8%
+ }%
+ \edef\AtVeryEnd@temp{%
+ \expandafter\AtVeryEnd@CatchFirst\AtVeryEnd@temp
+ {}{}{}{}{}{}{}{}%
+ {}{}{}{}{}{}{}{}%
+ \@nil
+ }%
+ \ifx\AtVeryEnd@temp\AtVeryEnd@StringMlabel
+ \expandafter\def\expandafter\endletter\expandafter{%
+ \endletter
+ \begingroup
+ \let\\=\relax
+ \let\protect\@unexpandable@protect
+ \let\@mlabel=\relax
+ \edef\x{\endgroup
+ \noexpand\AtEndDocument{%
+ \@gobble#2%
+ }%
+ }%
+ \x
+ }%
+ \let\AtVeryEnd@PatchLetter=Y%
+ \fi
+ \fi
+ }%
+ \expandafter\AtVeryEnd@TestEndLetter\endletter
+ \@auxout{}\AtVeryEnd@Nil
+\fi
+\ifx\AtVeryEnd@PatchLetter Y%
+ \begingroup
+ \let\on@line\@empty
+ \PackageInfo{atveryend}{%
+ \@backslashchar makelabels detected. %
+ Moving labels\MessageBreak
+ from `.aux' file to \@backslashchar AtEndDocument%
+ }%
+ \endgroup
+ \def\makelabels{%
+ \AtBeginDocument{%
+ \let\@startlabels\startlabels
+ \let\@mlabel\mlabel
+ }%
+ }%
+ \AtEndDocument{%
+ \AtVeryEnd@ifundefined{@startlabels}{%
+ }{%
+ \clearpage
+ \@startlabels
+ }%
+ }%
+ \AfterLastShipout{%
+ \let\@startlabels\relax
+ \let\@mlabel\@gobbletwo
+ }%
+\else
+ \PackageWarningNoLine{atveryend}{%
+ \@backslashchar makelabels detected, but labels cannot\MessageBreak
+ be moved to \@backslashchar AtEndDocument, because\MessageBreak
+ \@backslashchar endletter is not in expected form%
+ }%
+\fi
+\AtVeryEnd@AtEnd%
+%% \section{Installation}
+\endinput
+%%
+%% End of file `atveryend.sty'.