summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-04-17 20:00:29 +0000
committerKarl Berry <karl@freefriends.org>2023-04-17 20:00:29 +0000
commit458ed8974faf8518dee709e8cf8d336a27127799 (patch)
treeac1b3fde78ce0971598d6b208630447c35eb4c08 /Master/texmf-dist/tex
parentc367803eac95c4cb442cc97f0fc3ac63846bf885 (diff)
scrwfile (17apr23)
git-svn-id: svn://tug.org/texlive/trunk@66872 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/scrwfile/scrwfile.sty247
1 files changed, 247 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/scrwfile/scrwfile.sty b/Master/texmf-dist/tex/latex/scrwfile/scrwfile.sty
new file mode 100644
index 00000000000..8503c5f8dfa
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/scrwfile/scrwfile.sty
@@ -0,0 +1,247 @@
+%%
+%% This is file `scrwfile.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% scrwfile.dtx (with options: `package')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from scrwfile.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file scrwfile.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%%% From File: $Id: scrwfile.dtx 4018 2023-03-31 07:31:04Z kohm $
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{scrwfile}
+ [2023-03-31 v0.1.99 KOMA-Script package (write and clone files)]
+\PackageWarningNoLine{scrwfile}{%
+ THIS IS AN EXPERIMENTAL PACKAGE!\MessageBreak
+ USAGE OF THIS PACKAGE IS ON YOUR OWN RISK!\MessageBreak
+ EVERYTHING MAY HAPPEN!\MessageBreak
+ EVERYTHING MAY CHANGE IN FUTURE!\MessageBreak
+ THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE!\MessageBreak
+ Maybe, it would be better not to load this package%
+}
+\RequirePackage{scrbase}[2015/08/29]
+\RequirePackage{scrlfile}[2010/09/30]
+\RequirePackage{iftex}
+\ifluatex
+ \PackageWarningNoLine{scrwfile}{LuaLaTeX detected.\MessageBreak
+ With LuaLaTeX you should never get an error message:\MessageBreak
+ \space\space`No room for a new \string\write'.\MessageBreak
+ So scrwfile could make much more harm than benefit\MessageBreak
+ and using it is not recommended}%
+\fi
+\newcommand*{\scrwfile@if@only}[1]{%
+ \begingroup
+ \scr@ifundefinedorrelax{scrwfile@only}{\@tempswatrue}{%
+ \@tempswafalse
+ \edef\reserved@b{#1}%
+ \@for\reserved@a:=\scrwfile@only\do
+ {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
+ }%
+ \if@tempswa
+ \scr@ifundefinedorrelax{scrwfile@never}{}{%
+ \edef\reserved@b{#1}%
+ \@for\reserved@a:=\scrwfile@never\do
+ {\ifx\reserved@a\reserved@b\@tempswafalse\fi}%
+ }%
+ \fi
+ \expandafter\endgroup
+ \if@tempswa
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\newcommand*{\scrwfile@starttoc}[1]{%
+ \scrwfile@if@only{#1}{\scrwfile@@starttoc}{\scrwfile@saved@starttoc}{#1}%
+}
+\newcommand*{\scrwfile@@starttoc}[1]{%
+ \begingroup
+ \if@filesw
+ \xdef\scrwfile@writefilelist{\scrwfile@writefilelist,#1}%
+ \fi
+ \@fileswfalse
+ \scrwfile@saved@starttoc{#1}%
+ \endgroup
+}
+\newcommand*{\scrwfile@writefile}[1]{%
+ \scrwfile@if@only{#1}{\scrwfile@@writefile}{\scrwfile@saved@writefile}{#1}%
+}
+\newcommand{\scrwfile@@writefile}[2]{%
+ \ifnum\scrwfile@wrtout>0
+ \begingroup
+ \@temptokena{#2}%
+ \immediate\write\scrwfile@wrtout{%
+ \string\@writefile{#1}{\the\@temptokena}%
+ }%
+ \scrwfile@process@clones{#1}%
+ \endgroup
+ \fi
+}
+\chardef\scrwfile@wrtout\z@
+\newcommand*{\scrwfile@writefilelist}{}
+\newcommand*{\scrwfile@saved@writefile}{}
+\BeforeClosingMainAux{%
+ \ifx\scrwfile@writefilelist\@empty\else
+ \let\scrwfile@saved@writefile\@writefile
+ \let\scrwfile@wrtout\@partaux
+ \immediate\openout\scrwfile@wrtout \jobname.wrt
+ \let\@writefile\scrwfile@writefile
+ \fi
+}
+\AfterReadingMainAux{%
+ \ifx\scrwfile@writefilelist\@empty\else
+ \immediate\closeout\scrwfile@wrtout
+ \chardef\scrwfile@wrtout\z@
+ \begingroup
+ \let\@writefile\scrwfile@saved@writefile
+ \@for\@currext:=\scrwfile@writefilelist\do{%
+ \begingroup
+ \ifx\@currext\@empty\else
+ \scr@ifundefinedorrelax{tf@\@currext}{%
+ \immediate\openout\@partaux \jobname.\@currext
+ \expandafter\let\csname tf@\@currext\endcsname\@partaux
+ \@input@{\jobname.wrt}%
+ \immediate\closeout\@partaux
+ }{}%
+ \fi
+ \endgroup
+ }%
+ \endgroup
+ \fi
+}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \DeclareHookRule{enddocument/afteraux}%
+ {scrwfile}{before}{scrlayer-notecolumn}%
+}{%
+ \@ifpackageloaded{scrlayer-notecolumn}{%
+ \PackageWarningNoLine{scrwfile}{%
+ Dangerous package order detected!\MessageBreak
+ As a general rule, you should load scrwfile as soon\MessageBreak
+ as possible, maybe even before `\string\documentclass'\MessageBreak
+ (using `\string\RequirePackage' instead of
+ `\string\usepackage').\MessageBreak
+ Following packages should be loaded after scrwfile:\MessageBreak
+ \space - scrlayer-notecolumn}%
+ }{}%
+}
+\newcommand*{\scrwfile@saved@starttoc}{}
+\AtBeginDocument{%
+ \begingroup
+ \@ifpackageloaded{hyperref}{%
+ \scr@ifundefinedorrelax{Hy@AtBeginDocument}{%
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ }{%
+ \ifx\Hy@AtBeginDocumentHook\@undefined
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ \else
+ \@ifpackagelater{hyperref}{2022/02/22}{% newer than v7.00n
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ }{%
+ \PackageWarning{scrwfile}{%
+ Outdated package `hyperref' detected.\MessageBreak
+ Using `\string\Hy@AtBeginDocument' for redefinition of
+ `\string\@starttoc'.\MessageBreak
+ We recommend to update `hyperref'
+ }%
+ \aftergroup\Hy@AtBeginDocument
+ }%
+ \fi
+ }%
+ }{%
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ }%
+ \endgroup
+ {%
+ \PackageInfo{scrwfile}{%
+ Extending `\string\@starttoc`
+ }%
+ \let\scrwfile@saved@starttoc\@starttoc
+ \let\@starttoc\scrwfile@starttoc
+ }%
+}
+\newcommand*{\scrwfile@process@clones}[1]{%
+ \scr@ifundefinedorrelax{scrwfile@clone@#1}{}{%
+ \begingroup
+ \let\@@protect\protect\let\protect\@empty\afterassignment\restore@protect
+ \edef\reserved@b{\csname scrwfile@clone@#1\endcsname}%
+ \edef\reserved@c{,#1}%
+ \@for \reserved@a:=\reserved@b\do {%
+ \@tempswatrue
+ \@for \reserved@d:=\reserved@c\do {%
+ \ifx\reserved@d\reserved@a\@tempswafalse\fi
+ }%
+ \if@tempswa
+ \immediate\write\scrwfile@wrtout{%
+ \string\@writefile{\reserved@a}{\the\@temptokena}%
+ }%
+ \edef\reserved@c{\reserved@c,\reserved@a}%
+ \fi
+ }%
+ \endgroup
+ }%
+}%
+\newcommand*{\TOCclone}[3][]{%
+ \RequirePackage{tocbasic}%
+ \scr@ifundefinedorrelax{scrwfile@clone@#2}{%
+ \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{%
+ #3,\protect\csname scrwfile@clone@#3\endcsname
+ }%
+ }{%
+ \edef\reserved@b{\csname scrwfile@clone@#2\endcsname}%
+ \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{%
+ \csname scrwfile@clone@#2\endcsname,%
+ #3,%
+ \protect\csname scrwfile@clone@#3\endcsname
+ }%
+ }%
+ \scr@ifundefinedorrelax{scrwfile@clone@#3}{%
+ \expandafter\let\csname scrwfile@clone@#3\endcsname\@empty
+ }{}%
+ \Ifattoclist{#3}{%
+ \PackageWarning{scrwfile}{`#3' already under control of
+ tocbasic.\MessageBreak
+ Nevertheless features will be set%
+ }%
+ }{%
+ \addtotoclist[TOCclone]{#3}%
+ }%
+ \setuptoc{#3}{nobabel}%
+ \IfArgIsEmpty{#1}{%
+ }{%
+ \@namedef{listof#3name}{#1}%
+ \@namedef{listof#3}{\listoftoc{#3}}%
+ \Iftocfeature{#2}{leveldown}{\setuptoc{#3}{leveldown}}{}%
+ \Iftocfeature{#2}{numbered}{\setuptoc{#3}{numbered}}{}%
+ \Iftocfeature{#2}{onecolumn}{\setuptoc{#3}{leveldownonecolumn}}{}%
+ \Iftocfeature{#2}{totoc}{\setuptoc{#3}{totoc}}{}%
+ }%
+}
+\@onlypreamble\TOCClone
+\endinput
+%%
+%% End of file `scrwfile.sty'.