diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty | 1635 |
1 files changed, 759 insertions, 876 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty b/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty index 1dca8bd43c4..8aa7397c570 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrlayer-notecolumn.sty @@ -46,14 +46,14 @@ %% find a complete unmodified copy of LaTeX2e at %% <http://mirror.ctan.org/tex-archive/macros/latex/base/>. %% -%%% From File: $Id: scrlayer-notecolumn.dtx 3426 2019-12-02 09:15:20Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: identify) \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{scrlayer-notecolumn}[% - 2019/12/02 v0.3.3426 KOMA-Script + 2020/09/11 v0.3.3533 KOMA-Script package (end user interface for scrlayer)] -%%% From File: $Id: scrlayer.dtx 3411 2019-11-28 09:11:27Z kohm $ +%%% From File: $Id: scrlayer.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: init) \RequirePackage{scrlayer} \scr@ifundefinedorrelax{scrlayer@AtEndOfPackage}{% @@ -64,8 +64,7 @@ \fi } \let\scrlayer@AtEndOfPackage\AtEndOfPackage -\scrlayerInitInterface -%%% From File: $Id: scrlayer-notecolumn.dtx 3426 2019-12-02 09:15:20Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: init) \@tempswatrue \scr@ifundefinedorrelax{pdfsavepos}{% @@ -98,7 +97,7 @@ }% \batchmode\csname @@end\endcsname\end \fi -%%% From File: $Id: scrlayer.dtx 3411 2019-11-28 09:11:27Z kohm $ +%%% From File: $Id: scrlayer.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: options) \KOMA@key{markcase}{% \begingroup @@ -237,16 +236,16 @@ \KOMA@kav@replacebool{.scrlayer.sty}{forceoverwrite}{scrlayer@forceoverwrite}% } \KOMA@key{autoremoveinterfaces}[true]{% + \scrlayer@report@deprecated{#1}{autoremoveinterface}% \KOMA@set@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces}{#1}% \KOMA@kav@replacebool{.scrlayer.sty}{autoremoveinterfaces} {scrlayer@autoremoveinterfaces}% } -%%% From File: $Id: scrlayer-notecolumn.dtx 3426 2019-12-02 09:15:20Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: options) -\KOMA@ifkey{autoclearnotecolumns}{slnc@autoclearnotecolumns}\slnc@autoclearnotecolumnstrue -\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoclearnotecolumns} -\scrlayer@AddCsToInterface{KV@KOMA.\@currname.\@currext @autoclearnotecolumns@default} -%%% From File: $Id: scrlayer.dtx 3411 2019-11-28 09:11:27Z kohm $ +\KOMA@ifkey{autoclearnotecolumns}{slnc@autoclearnotecolumns} +\slnc@autoclearnotecolumnstrue +%%% From File: $Id: scrlayer.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: body) \KOMAProcessOptions\relax \expandafter\let @@ -318,153 +317,120 @@ \expandafter\let \csname KV@KOMA.\@currname.\@currext @autoremoveinterfaces@default\endcsname \relax -%%% From File: $Id: scrlayer-notecolumn.dtx 3426 2019-12-02 09:15:20Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: body) -\scrlayerAddToInterface\DeclareNoteColumn{% - \newcommand*{\DeclareNoteColumn}[2][]{% - \@ifundefined{slnc@#2@box}{% - \expandafter\newsavebox\csname slnc@#2@box\endcsname - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname slnc@#2@box\endcsname\relax - }% - }{}% - \@ifundefined{slnc@#2@unprocessed}{% - \@namedef{slnc@#2@unprocessed}{}% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname slnc@#2@unprocessed\endcsname\relax - }% - }{}% - \@ifundefined{slnc@#2@pos}{% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname slnc@#2@pos\endcsname\relax - }% - }{}% - \@ifundefined{slnc@#2@width}{% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname slnc@#2@width\endcsname\relax - }% - }{}% - \@ifundefined{slnc@#2@colorstack}{% - \scr@ifundefinedorrelax{pdfcolorstackinit}{% - \scr@ifundefinedorrelax{pdffeedback}{}{% - \expandafter\chardef\csname slnc@#2@colorstack\endcsname= - \pdffeedback colorstackinit direct {\slnc@initial@black}% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname slnc@#2@colorstack\endcsname\relax - }% - }% - }{% +\newcommand*{\DeclareNoteColumn}[2][]{% + \@ifundefined{slnc@#2@box}{% + \expandafter\newsavebox\csname slnc@#2@box\endcsname + }{}% + \@ifundefined{slnc@#2@unprocessed}{% + \@namedef{slnc@#2@unprocessed}{}% + }{}% + \@ifundefined{slnc@#2@colorstack}{% + \scr@ifundefinedorrelax{pdfcolorstackinit}{% + \scr@ifundefinedorrelax{pdffeedback}{}{% \expandafter\chardef\csname slnc@#2@colorstack\endcsname= - \pdfcolorstackinit direct {\slnc@initial@black}% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname slnc@#2@colorstack\endcsname\relax - }% - }% - }{}% - \@ifundefined{scr@fnt@notecolumn.#2}{% - \@ifundefined{@notecolumn.#2font}{% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname @notecolumn.#2font\endcsname\relax - }% - }{% - \PackageInfo{scrlayer-notecolumn}{using already defined - macro\MessageBreak - `\expandafter\string\csname @notecolumn.#2font\endcsname' for font - element\MessageBreak - `notecolumn.#2'% - }% - }% - \newkomafont{notecolumn.#2}{}% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \expandafter\let\csname scr@fnt@notecolumn.#2\endcsname\relax + \pdffeedback colorstackinit direct {\slnc@initial@black}% }% }{% - \PackageInfo{scrlayer-notecolumn}{using already defined font + \expandafter\chardef\csname slnc@#2@colorstack\endcsname= + \pdfcolorstackinit direct {\slnc@initial@black}% + }% + }{}% + \@ifundefined{scr@fnt@notecolumn.#2}{% + \@ifundefined{@notecolumn.#2font}{}{% + \PackageInfo{scrlayer-notecolumn}{using already defined + macro\MessageBreak + `\expandafter\string\csname @notecolumn.#2font\endcsname' for font element\MessageBreak `notecolumn.#2'% }% }% - \newcommand*{\slnc@name}{}% - \edef\slnc@name{#2}% - \FamilyExecuteOptions[.definenotecolumn]{KOMAarg}{marginpar,#1}% - \let\slnc@name\relax - \DeclareLayer[% - foreground,% - align=tl,% - voffset=1in+\topmargin+\headheight+\headsep,% - height=\dimexpr\textheight+\topskip\relax,% - hoffset=\csname slnc@#2@pos\endcsname,% - width=\csname slnc@#2@width\endcsname,% - contents=\slnc@processnotes{#2}% - ]{notecolumn.#2} - \IfLayerAtPageStyle{@everystyle@}{notecolumn.#2}{}{% - \AddLayersToPageStyle{@everystyle@}{notecolumn.#2}% - }% - \scrlayerOnAutoRemoveInterface[scrlayer-notecolumn.sty]{% - \RemoveLayersFromPageStyle{@everystyle@}{notecolumn.#2}% - \DestroyLayer{notecolumn.#2}% + \newkomafont{notecolumn.#2}{}% + }{% + \PackageInfo{scrlayer-notecolumn}{using already defined font + element\MessageBreak + `notecolumn.#2'% }% - \@cons\slnc@processnotecolumns{{#2}}% - }% -} -\scrlayerAddToInterface\slnc@initial@black{% - \newcommand*{\slnc@initial@black}{0 g 0 G}% - \AfterPackage*{color}{% - \let\slnc@initial@black\current@color - \AtBeginDocument{\let\slnc@initial@black\default@color}% }% - \AfterPackage*{xcolor}{% - \let\slnc@initial@black\current@color - \AtBeginDocument{\let\slnc@initial@black\default@color}% + \newcommand*{\slnc@name}{}% + \edef\slnc@name{#2}% + \FamilyExecuteOptions[.definenotecolumn]{KOMAarg}{marginpar,#1}% + \let\slnc@name\relax + \DeclareLayer[% + foreground,% + align=tl,% + voffset=1in+\topmargin+\headheight+\headsep,% + height=\dimexpr\textheight+\topskip\relax,% + hoffset=\csname slnc@#2@pos\endcsname,% + width=\csname slnc@#2@width\endcsname,% + contents=\slnc@processnotes{#2}% + ]{notecolumn.#2} + \IfLayerAtPageStyle{@everystyle@}{notecolumn.#2}{}{% + \AddLayersToPageStyle{@everystyle@}{notecolumn.#2}% }% + \@cons\slnc@processnotecolumns{{#2}}% } -\scrlayerAddToInterface\slnc@processnotecolumns{% - \newcommand*{\slnc@processnotecolumns}{}% -} -\scrlayerAddToInterface\slnc@testforpagestylewarning{% - \newcommand*{\slnc@testforpagestylewarning}{% - \IfLayerPageStyleExists{\currentpagestyle}{}{% - \PackageWarning{scrlayer-notecolumn}{% - output of note columns delayed,\MessageBreak - because with `\currentpagestyle'\MessageBreak - a page style has been selected, that\MessageBreak - isn't a layer page style,% - }% +\newcommand*{\slnc@initial@black}{0 g 0 G}% +\AfterPackage*{color}{% + \let\slnc@initial@black\current@color + \AtBeginDocument{\let\slnc@initial@black\default@color}% +}% +\AfterPackage*{xcolor}{% + \let\slnc@initial@black\current@color + \AtBeginDocument{\let\slnc@initial@black\default@color}% +}% +\newcommand*{\slnc@processnotecolumns}{}% +\newcommand*{\slnc@testforpagestylewarning}{% + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + output of note columns delayed,\MessageBreak + because with `\currentpagestyle'\MessageBreak + a page style has been selected, that\MessageBreak + isn't a layer page style,% }% }% -} +}% \AfterSelectAnyPageStyle{\slnc@testforpagestylewarning} \DefineFamilyMember[.definenotecolumn]{KOMAarg} \DefineFamilyKey[.definenotecolumn]{KOMAarg}{position}{% \@namedef{slnc@\slnc@name @pos}{\dimexpr #1\relax}% \FamilyKeyStateProcessed } -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@position} -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@position@default} \DefineFamilyKey[.definenotecolumn]{KOMAarg}{width}{% \@namedef{slnc@\slnc@name @width}{\dimexpr #1\relax}% \FamilyKeyStateProcessed } -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@width} -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@width@default} \DefineFamilyKey[.definenotecolumn]{KOMAarg}{font}{% \setkomafont{notecolumn.\slnc@name}{#1}% \FamilyKeyStateProcessed } -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@font} -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@font@default} \DefineFamilyKey[.definenotecolumn]{KOMAarg}{marginpar}[\relax]{% \FamilyKeyStateProcessed \scrlayer@testunexpectedarg{marginpar}{#1}% \edef\reserved@a{\noexpand\slnc@defpos{\slnc@name}}\reserved@a \@namedef{slnc@\slnc@name @width}{\marginparwidth}% } -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@marginpar} -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@marginpar@default} -\scrlayerAddToInterface\slnc@defpos{% - \newcommand*\slnc@defpos[1]{% - \@namedef{slnc@#1@pos}{% - \ifodd\value{page} +\newcommand*\slnc@defpos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \if@reversemargin + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \fi + \else + \if@twoside + \if@reversemargin + \dimexpr \evensidemargin+1in + +\textwidth+\marginparsep\relax + \else + \dimexpr \evensidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \fi + \else \if@reversemargin \dimexpr \oddsidemargin+1in -\marginparsep-\csname slnc@#1@width\endcsname\relax @@ -472,26 +438,8 @@ \dimexpr \oddsidemargin+1in +\textwidth+\marginparsep\relax \fi - \else - \if@twoside - \if@reversemargin - \dimexpr \evensidemargin+1in - +\textwidth+\marginparsep\relax - \else - \dimexpr \evensidemargin+1in - -\marginparsep-\csname slnc@#1@width\endcsname\relax - \fi - \else - \if@reversemargin - \dimexpr \oddsidemargin+1in - -\marginparsep-\csname slnc@#1@width\endcsname\relax - \else - \dimexpr \oddsidemargin+1in - +\textwidth+\marginparsep\relax - \fi - \fi \fi - }% + \fi }% }% \DefineFamilyKey[.definenotecolumn]{KOMAarg}{normalmarginpar}[\relax]{% @@ -500,24 +448,20 @@ \edef\reserved@a{\noexpand\slnc@defnormalpos{\slnc@name}}\reserved@a \@namedef{slnc@\slnc@name @width}{\marginparwidth}% } -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@normalmarginpar} -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@normalmarginpar@default} -\scrlayerAddToInterface\slnc@defnormalpos{% - \newcommand*\slnc@defnormalpos[1]{% - \@namedef{slnc@#1@pos}{% - \ifodd\value{page} +\newcommand*\slnc@defnormalpos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \dimexpr \oddsidemargin+1in + +\textwidth+\marginparsep\relax + \else + \if@twoside + \dimexpr \evensidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else \dimexpr \oddsidemargin+1in +\textwidth+\marginparsep\relax - \else - \if@twoside - \dimexpr \evensidemargin+1in - -\marginparsep-\csname slnc@#1@width\endcsname\relax - \else - \dimexpr \oddsidemargin+1in - +\textwidth+\marginparsep\relax - \fi \fi - }% + \fi }% }% \DefineFamilyKey[.definenotecolumn]{KOMAarg}{reversemarginpar}[\relax]{% @@ -526,88 +470,74 @@ \edef\reserved@a{\noexpand\slnc@defreversepos{\slnc@name}}\reserved@a \@namedef{slnc@\slnc@name @width}{\marginparwidth}% } -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@reversemarginpar} -\scrlayer@AddCsToInterface{KV@KOMAarg.definenotecolumn@reversemarginpar@default} -\scrlayerAddToInterface\slnc@defreversepos{% - \newcommand*\slnc@defreversepos[1]{% - \@namedef{slnc@#1@pos}{% - \ifodd\value{page} +\newcommand*\slnc@defreversepos[1]{% + \@namedef{slnc@#1@pos}{% + \ifodd\value{page} + \dimexpr \oddsidemargin+1in + -\marginparsep-\csname slnc@#1@width\endcsname\relax + \else + \if@twoside + \dimexpr \evensidemargin+1in + +\textwidth+\marginparsep\relax + \else \dimexpr \oddsidemargin+1in -\marginparsep-\csname slnc@#1@width\endcsname\relax - \else - \if@twoside - \dimexpr \evensidemargin+1in - +\textwidth+\marginparsep\relax - \else - \dimexpr \oddsidemargin+1in - -\marginparsep-\csname slnc@#1@width\endcsname\relax - \fi \fi - }% + \fi }% }% -\scrlayerAddToInterface\DeclareNewNoteColumn{% - \newcommand*{\DeclareNewNoteColumn}[2][]{% - \scr@ifundefinedorrelax{slnc@#2@box}{}{% - \PackageError{scrlayer-notecolumn}{note column `#2' already defined}{% - You may declare only note columns, that haven't been declared - previously using\MessageBreak - \string\DeclareNewNoteColumn. See also the alternatives - \string\RedeclareNoteColumn,\MessageBreak - \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak - Nevertheless, if you'll continue, declaration will be done.% - }% - }% - \DeclareNoteColumn[{#1}]{#2}% - }% -} -\scrlayerAddToInterface\ProvideNoteColumn{% - \newcommand*{\ProvideNoteColumn}[2][]{% - \scr@ifundefinedorrelax{slnc@#2@box}{}{% - \PackageInfo{scrlayer-notecolumn}{\string\ProvideNoteColumn{#2} - ignored,\MessageBreak - because of already defined\MessageBreak - not column}% - }{% - \DeclareNoteColumn[{#1}]{#2}% +\newcommand*{\DeclareNewNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{}{% + \PackageError{scrlayer-notecolumn}{note column `#2' already defined}{% + You may declare only note columns, that haven't been declared + previously using\MessageBreak + \string\DeclareNewNoteColumn. See also the alternatives + \string\RedeclareNoteColumn,\MessageBreak + \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.% }% }% -} -\scrlayerAddToInterface\RedeclareNoteColumn{% - \newcommand*{\RedeclareNoteColumn}[2][]{% - \scr@ifundefinedorrelax{slnc@#2@box}{% - \PackageError{scrlayer-notecolumn}{note column `#2' undefined}{% - You may declare only note columns, that have been declared - previously using\MessageBreak - \string\RedeclareNoteColumn. See also the alternatives - \string\DeclareNewNoteColumn,\MessageBreak - \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak - Nevertheless, if you'll continue, declaration will be done.% - }% - }{}% + \DeclareNoteColumn[{#1}]{#2}% +}% +\newcommand*{\ProvideNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{}{% + \PackageInfo{scrlayer-notecolumn}{\string\ProvideNoteColumn{#2} + ignored,\MessageBreak + because of already defined\MessageBreak + not column}% + }{% \DeclareNoteColumn[{#1}]{#2}% }% -} -\scrlayerAddToInterface\tf@slnc{% - \newwrite\tf@slnc - \AtBeginDocument{% - \if@filesw - \immediate\write\@auxout{% - \noexpand\csname slnc@initwrite\noexpand\endcsname - }% - \fi - }% - \AtEndDocument{\let\slnc@initwrite\slnc@openwrite}% -} -\scrlayerAddToInterface\slnc@initwrite{}% -\scrlayerAddToInterface\slnc@openwrite{% - \newcommand*{\slnc@openwrite}{% - \immediate\closein\slnc@file - \PackageInfo{scrlayer-notecolumn}{% - Opening `\jobname.slnc'\MessageBreak - for writing}% - \immediate\openout\tf@slnc\jobname.slnc - }% +}% +\newcommand*{\RedeclareNoteColumn}[2][]{% + \scr@ifundefinedorrelax{slnc@#2@box}{% + \PackageError{scrlayer-notecolumn}{note column `#2' undefined}{% + You may declare only note columns, that have been declared + previously using\MessageBreak + \string\RedeclareNoteColumn. See also the alternatives + \string\DeclareNewNoteColumn,\MessageBreak + \string\ProvideNoteColumn, and \string\DeclareNoteColumn.\MessageBreak + Nevertheless, if you'll continue, declaration will be done.% + }% + }{}% + \DeclareNoteColumn[{#1}]{#2}% +}% +\newwrite\tf@slnc +\AtBeginDocument{% + \if@filesw + \immediate\write\@auxout{% + \noexpand\csname slnc@initwrite\noexpand\endcsname + }% + \fi +}% +\AtEndDocument{\let\slnc@initwrite\slnc@openwrite}% +\newcommand*{\slnc@initwrite}{}% +\newcommand*{\slnc@openwrite}{% + \immediate\closein\slnc@file + \PackageInfo{scrlayer-notecolumn}{% + Opening `\jobname.slnc'\MessageBreak + for writing}% + \immediate\openout\tf@slnc\jobname.slnc } \AfterReadingMainAux{% \immediate\closeout\tf@slnc @@ -653,258 +583,243 @@ \fi \endgroup } -\scrlayerAddToInterface\slnc@unexpanded{% - \let\slnc@unexpanded\detokenize -} -\scrlayerAddToInterface\makenote{% - \newcommand*{\makenote}{% - \kernel@ifstar{\let\slnc@unexpanded\detokenize\slnc@makenote}% - {\let\slnc@unexpanded\@firstofone\slnc@makenote}% - }% -} -\scrlayerAddToInterface\slnc@makenote{% - \newcommand{\slnc@makenote}[2][marginpar]{% - \@bsphack - \scr@savepos - \addtocontents{slnc}{% - \string\slnc@note{#1}% - {\noexpand\number\value{slncpage}}% - {\noexpand\number\scr@lastypos}% - {\slnc@unexpanded{#2}}% - }% - \@esphack +\newcommand*{\slnc@unexpanded}{} +\let\slnc@unexpanded\detokenize +\newcommand*{\makenote}{% + \kernel@ifstar{\let\slnc@unexpanded\detokenize\slnc@makenote}% + {\let\slnc@unexpanded\@firstofone\slnc@makenote}% +}% +\newcommand{\slnc@makenote}[2][marginpar]{% + \@bsphack + \scr@savepos + \addtocontents{slnc}{% + \string\slnc@note{#1}% + {\noexpand\number\value{slncpage}}% + {\noexpand\number\scr@lastypos}% + {\slnc@unexpanded{#2}}% }% -} + \@esphack +}% \@ifundefined{c@slncpage}{% \newcounter{slncpage}% \AddToLayerPageStyleOptions{@everystyle@}{% onbackground=\stepcounter{slncpage}% }% }{} -\scrlayerAddToInterface\slnc@processnotes{% - \newcommand*{\slnc@processnotes}[1]{% - \begingroup - \slnc@readnotes{\value{slncpage}}% - \expandafter\let\expandafter\reserved@a - \csname slnc@#1@unprocessed\endcsname - \expandafter\global - \expandafter\let\csname slnc@#1@unprocessed\endcsname\@empty - \def\slnc@notesyncfonttest##1{% - \ifhmode - \PackageError{scrlayer-notecolumn}{% - illegal font setting for `notecolumn.##1'% - }{% - Current setting of font for `notecolumn.##1' switches - from\MessageBreak - vertical mode to horizontal mode. This is - illegal!\MessageBreak - You have to change the font setting to fix - this.\MessageBreak - If you'll continue vertical alignment of notes may fail% - }% - \par\vskip-\dimexpr \baselineskip+\parskip\relax - \fi - }% - \long\def\slnc@note##1##2##3##4{% +\newcommand*{\slnc@processnotes}[1]{% + \begingroup + \slnc@readnotes{\value{slncpage}}% + \expandafter\let\expandafter\reserved@a + \csname slnc@#1@unprocessed\endcsname + \expandafter\global + \expandafter\let\csname slnc@#1@unprocessed\endcsname\@empty + \def\slnc@notesyncfonttest##1{% + \ifhmode + \PackageError{scrlayer-notecolumn}{% + illegal font setting for `notecolumn.##1'% + }{% + Current setting of font for `notecolumn.##1' switches + from\MessageBreak + vertical mode to horizontal mode. This is + illegal!\MessageBreak + You have to change the font setting to fix + this.\MessageBreak + If you'll continue vertical alignment of notes may fail% + }% + \par\vskip-\dimexpr \baselineskip+\parskip\relax + \fi + }% + \long\def\slnc@note##1##2##3##4{% \typeout{TRACE (slnc): ##2<=\theslncpage?}% - \ifnum ##2>\value{slncpage}\relax + \ifnum ##2>\value{slncpage}\relax \typeout{TRACE (slnc): no: unprocess note}% - \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% - \slnc@note{##1}{##2}{##3}{##4}% - }% - \else - \ifnum ##2<\value{slncpage}\relax - \PackageWarning{scrlayer-notecolumn}{note of type `#1' delayed}% - \fi - \boxmaxdepth\maxdepth - \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% - \expandafter\hsize\csname slnc@#1@width\endcsname - \normalfont\normalsize - \slnc@switchcolorstack{#1}% - {% - \usekomafont{notecolumn.#1}{% - \slnc@notesyncfonttest{#1}% - \expandafter\ifvoid\csname slnc@#1@box\endcsname - \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% - \kern\dimexpr\topskip-\baselineskip\relax - }% - \fi - \scr@ifundefinedorrelax{pdfpageheight}{% - \scr@ifundefinedorrelax{pageheight}{% - \@tempdima=\paperheight - }{% - \@tempdima=\pageheight - }% + \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% + \slnc@note{##1}{##2}{##3}{##4}% + }% + \else + \ifnum ##2<\value{slncpage}\relax + \PackageWarning{scrlayer-notecolumn}{note of type `#1' delayed}% + \fi + \boxmaxdepth\maxdepth + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\hsize\csname slnc@#1@width\endcsname + \normalfont\normalsize + \slnc@switchcolorstack{#1}% + {% + \usekomafont{notecolumn.#1}{% + \slnc@notesyncfonttest{#1}% + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \kern\dimexpr\topskip-\baselineskip\relax + }% + \fi + \scr@ifundefinedorrelax{pdfpageheight}{% + \scr@ifundefinedorrelax{pageheight}{% + \@tempdima=\paperheight }{% - \@tempdima=\pdfpageheight + \@tempdima=\pageheight }% - \@tempdima=\dimexpr \@tempdima-##3sp - -1in-\topmargin - -\headheight-\headsep - -\baselineskip - \relax - \@tempdimb=\dimexpr \expandafter\ht\csname slnc@#1@box\endcsname - +\expandafter\dp\csname slnc@#1@box\endcsname - \relax - \typeout{Soll: \the\@tempdima^^JIst: \space\the\@tempdimb}% - \ifdim\@tempdima<\@tempdimb + }{% + \@tempdima=\pdfpageheight + }% + \@tempdima=\dimexpr \@tempdima-##3sp + -1in-\topmargin + -\headheight-\headsep + -\baselineskip + \relax + \@tempdimb=\dimexpr \expandafter\ht\csname slnc@#1@box\endcsname + +\expandafter\dp\csname slnc@#1@box\endcsname + \relax + \typeout{Soll: \the\@tempdima^^JIst: \space\the\@tempdimb}% + \ifdim\@tempdima<\@tempdimb + \PackageInfo{scrlayer-notecolumn}{% + Note moved down from\MessageBreak + \the\@tempdima\space to \the\@tempdimb\MessageBreak + at note box `#1' + }% + \else + \ifdim\@tempdima>\@tempdimb \PackageInfo{scrlayer-notecolumn}{% - Note moved down from\MessageBreak - \the\@tempdima\space to \the\@tempdimb\MessageBreak - at note box `#1' + Adding vertical white space from\MessageBreak + \the\@tempdimb\space to \the\@tempdima\MessageBreak + into note box `#1' + }% + \expandafter\setbox\csname slnc@#1@box\endcsname + \vbox {% + \expandafter\unvbox\csname slnc@#1@box\endcsname + \kern\dimexpr\@tempdima-\@tempdimb\relax }% - \else - \ifdim\@tempdima>\@tempdimb - \PackageInfo{scrlayer-notecolumn}{% - Adding vertical white space from\MessageBreak - \the\@tempdimb\space to \the\@tempdima\MessageBreak - into note box `#1' - }% - \expandafter\setbox\csname slnc@#1@box\endcsname - \vbox {% - \expandafter\unvbox\csname slnc@#1@box\endcsname - \kern\dimexpr\@tempdima-\@tempdimb\relax - }% - \fi - \fi - \expandafter\ifvoid\expandafter\csname slnc@#1@box\endcsname - \else - \@tempdima\dimexpr - \dp\strutbox - -\dp\csname slnc@#1@box\endcsname - \relax - \expandafter\unvbox\csname slnc@#1@box\endcsname - \ifdim\@tempdima>\z@ \kern\@tempdima\fi \fi - \slnc@restoreinnote - \strut\ignorespaces ##4\par - }% + \fi + \expandafter\ifvoid\expandafter\csname slnc@#1@box\endcsname + \else + \@tempdima\dimexpr + \dp\strutbox + -\dp\csname slnc@#1@box\endcsname + \relax + \expandafter\unvbox\csname slnc@#1@box\endcsname + \ifdim\@tempdima>\z@ \kern\@tempdima\fi + \fi + \slnc@restoreinnote + \strut\ignorespaces ##4\par }% }% - \fi - }% - \def\slnc@sync##1##2##3##4{% - \ifnum ##2>\value{slncpage}\relax - \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% - \slnc@sync{##1}{##2}{##3}{}% - }% - \else - \if@filesw - \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% - \expandafter\unvbox\csname slnc@#1@box\endcsname - \scr@savepos - \protected@write\@auxout{}{% - \string\newlabel{notecolumn.##1.##3.syncnote.label}{% - {% - \noexpand\number\scr@lastypos - }{\thepage}% - }% + }% + \fi + }% + \def\slnc@sync##1##2##3##4{% + \ifnum ##2>\value{slncpage}\relax + \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% + \slnc@sync{##1}{##2}{##3}{}% + }% + \else + \if@filesw + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% + \expandafter\unvbox\csname slnc@#1@box\endcsname + \scr@savepos + \protected@write\@auxout{}{% + \string\newlabel{notecolumn.##1.##3.syncnote.label}{% + {% + \noexpand\number\scr@lastypos + }{\thepage}% }% }% - \fi - \fi - }% - \reserved@a - \expandafter\ifvoid\csname slnc@#1@box\endcsname - \PackageInfo{scrlayer-notecolumn}{Note box `#1' empty}% - \else - \ifdim \dimexpr \expandafter\ht\csname slnc@#1@box\endcsname - +\expandafter\dp\csname slnc@#1@box\endcsname - \relax >\textheight\relax - \PackageInfo{scrlayer-notecolumn}{Split note box `#1'}% - \splittopskip\topskip - \splitmaxdepth\baselineskip - \usekomafont{notecolumn.#1}{% - \expandafter\vsplit\csname slnc@#1@box\endcsname to - \textheight\relax }% - \expandafter\ifvoid\csname slnc@#1@box\endcsname - \else - \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% - \slnc@switchcolorstack{#1}% - \expandafter\unvbox\csname slnc@#1@box\endcsname - }% - \fi + \fi + \fi + }% + \reserved@a + \expandafter\ifvoid\csname slnc@#1@box\endcsname + \PackageInfo{scrlayer-notecolumn}{Note box `#1' empty}% + \else + \ifdim \dimexpr \expandafter\ht\csname slnc@#1@box\endcsname + +\expandafter\dp\csname slnc@#1@box\endcsname + \relax >\textheight\relax + \PackageInfo{scrlayer-notecolumn}{Split note box `#1'}% + \splittopskip\topskip + \splitmaxdepth\baselineskip + \usekomafont{notecolumn.#1}{% + \expandafter\vsplit\csname slnc@#1@box\endcsname to + \textheight\relax + }% + \expandafter\ifvoid\csname slnc@#1@box\endcsname \else - \PackageInfo{scrlayer-notecolumn}{Flush note box `#1'}% - \usekomafont{notecolumn.#1}{% + \expandafter\setbox\csname slnc@#1@box\endcsname\vbox{% \slnc@switchcolorstack{#1}% - \expandafter\box\csname slnc@#1@box\endcsname% + \expandafter\unvbox\csname slnc@#1@box\endcsname }% \fi + \else + \PackageInfo{scrlayer-notecolumn}{Flush note box `#1'}% + \usekomafont{notecolumn.#1}{% + \slnc@switchcolorstack{#1}% + \expandafter\box\csname slnc@#1@box\endcsname% + }% \fi - \expandafter\global - \expandafter\setbox\csname slnc@#1@box\expandafter\endcsname - \expandafter\box\csname slnc@#1@box\endcsname - \endgroup - } + \fi + \expandafter\global + \expandafter\setbox\csname slnc@#1@box\expandafter\endcsname + \expandafter\box\csname slnc@#1@box\endcsname + \endgroup } -\scrlayerAddToInterface{\slnc@switchcolorstack}{% - \newcommand*{\slnc@switchcolorstack}[1]{% - \scr@ifundefinedorrelax{slnc@#1@colorstack}{% - \def\set@color{% - \PackageWarningNoLine{scrlayer-notecolumn}{% - unsupported change of colour!\MessageBreak - It seems you are using a TeX engine,\MessageBreak - that does not support switching the\MessageBreak - colour stack like pdfTeX or luaTeX do.\MessageBreak - Because of this, usage of \string\color,\MessageBreak - \string\textcolor\space etc. inside a note - column\MessageBreak - is not supported% - }% +\newcommand*{\slnc@switchcolorstack}[1]{% + \scr@ifundefinedorrelax{slnc@#1@colorstack}{% + \def\set@color{% + \PackageWarningNoLine{scrlayer-notecolumn}{% + unsupported change of colour!\MessageBreak + It seems you are using a TeX engine,\MessageBreak + that does not support switching the\MessageBreak + colour stack like pdfTeX or luaTeX do.\MessageBreak + Because of this, usage of \string\color,\MessageBreak + \string\textcolor\space etc. inside a note + column\MessageBreak + is not supported% }% + }% + }{% + \scr@ifundefinedorrelax{@pdfcolorstack}{% }{% - \scr@ifundefinedorrelax{@pdfcolorstack}{% - }{% - \expandafter\let\expandafter\@pdfcolorstack - \csname slnc@#1@colorstack\endcsname - }% - \scr@ifundefinedorrelax{pdfcolorstack}{% - \scr@ifundefinedorrelax{pdfextension}{% - \PackageError{scrlayer-notecolumm}{% - colour stack defined but not usable% - }{% - \expandafter\string - \csname slnc@#1@colorstack\endcsname\space defined - \MessageBreak - but neither \string\pdfcolorstack\space nor - \string\pdfextension.\MessageBreak - This should never happen!% - }% + \expandafter\let\expandafter\@pdfcolorstack + \csname slnc@#1@colorstack\endcsname + }% + \scr@ifundefinedorrelax{pdfcolorstack}{% + \scr@ifundefinedorrelax{pdfextension}{% + \PackageError{scrlayer-notecolumm}{% + colour stack defined but not usable% }{% - \pdfextension colorstack - \csname slnc@#1@colorstack\endcsname current\relax + \expandafter\string + \csname slnc@#1@colorstack\endcsname\space defined + \MessageBreak + but neither \string\pdfcolorstack\space nor + \string\pdfextension.\MessageBreak + This should never happen!% }% }{% - \pdfcolorstack + \pdfextension colorstack \csname slnc@#1@colorstack\endcsname current\relax }% + }{% + \pdfcolorstack + \csname slnc@#1@colorstack\endcsname current\relax }% }% -} -\scrlayerAddToInterface\slnc@restoreinnote{% - \let\slnc@restoreinnote\@empty -} -\scrlayerAddToInterface\restoreinnote{% - \newcommand*\restoreinnote[1]{% - \AtBeginDocument{% - \expandafter\scrlayerAddCsToInterface[scrlayer-notecolumn.sty]{slnc\string#1}{% - \expandafter\let\csname slnc\string#1\endcsname#1% - \g@addto@macro\slnc@restoreinnote{% - \expandafter\let\expandafter#1\csname slnc\string#1\endcsname - }% - }% +}% +\newcommand*{\slnc@restoreinnote}{} +\let\slnc@restoreinnote\@empty +\newcommand*\restoreinnote[1]{% + \AtBeginDocument{% + \expandafter\newcommand\expandafter*\csname slnc\string#1\endcsname{}% + \expandafter\let\csname slnc\string#1\endcsname#1% + \g@addto@macro\slnc@restoreinnote{% + \expandafter\let\expandafter#1\csname slnc\string#1\endcsname }% }% - \@onlypreamble\restoreinnote - \restoreinnote\label - \restoreinnote\index - \restoreinnote\glossary -} -\scrlayerAddToInterface\slnc@catcodes{% - \newcommand*{\slnc@catcodes}{}% } +\@onlypreamble\restoreinnote +\restoreinnote\label +\restoreinnote\index +\restoreinnote\glossary +\newcommand*{\slnc@catcodes}{}% \AtBeginDocument{% \begingroup \def\do#1{% @@ -917,170 +832,183 @@ \xdef\slnc@catcodes{\slnc@catcodes\catcode`\protect\@=11\relax}% \endgroup } -\scrlayerAddToInterface\slnc@readnotes{% - \newcommand*\slnc@readnotes[1]{% - \ifeof\slnc@file\else - \ifnum \number #1<\slnc@unprocessed\relax - \@tempswafalse - \else - \@tempswatrue - \fi - \@whilesw\if@tempswa\fi{% - \begingroup - \slnc@catcodes - \endlinechar\m@ne - \read\slnc@file to\reserved@a - \edef\reserved@a{% - \endgroup - \noexpand\def\noexpand\reserved@a{% - \unexpanded\expandafter{\reserved@a}% - }% +\newcommand*\slnc@readnotes[1]{% + \ifeof\slnc@file\else + \ifnum \number #1<\slnc@unprocessed\relax + \@tempswafalse + \else + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \begingroup + \slnc@catcodes + \endlinechar\m@ne + \read\slnc@file to\reserved@a + \edef\reserved@a{% + \endgroup + \noexpand\def\noexpand\reserved@a{% + \unexpanded\expandafter{\reserved@a}% }% - \reserved@a - \expandafter\slnc@iofv\expandafter\reserved@b\reserved@a - \@empty\@empty\@empty\@empty\@empty - \@tempswafalse - \@for\reserved@c :={\slnc@note },{\slnc@sync }\do{% - \ifx\reserved@b\reserved@c \@tempswatrue\fi }% - \if@tempswa - \@tempswafalse - \expandafter\slnc@iiiofv\expandafter\reserved@b\reserved@a + \reserved@a + \expandafter\slnc@iofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \@tempswafalse + \@for\reserved@c :={\slnc@note },{\slnc@sync }\do{% + \ifx\reserved@b\reserved@c \@tempswatrue\fi + }% + \if@tempswa + \@tempswafalse + \expandafter\slnc@iiiofv\expandafter\reserved@b\reserved@a + \@empty\@empty\@empty\@empty\@empty + \ifx\reserved@b\@empty + \PackageError{scrlayer-notecolumn}{internal syntax error}{% + Unexpected syntax of file `\jobname.slnc'.\MessageBreak + Second argument should be a number.\MessageBreak + I don't know what to do with\MessageBreak + \expandafter\detokenize\expandafter{\reserved@a}% + }% + \@tempswatrue + \else + \global\let\slnc@unprocessed\reserved@b + \expandafter\slnc@iiofv\expandafter\reserved@b\reserved@a \@empty\@empty\@empty\@empty\@empty - \ifx\reserved@b\@empty - \PackageError{scrlayer-notecolumn}{internal syntax error}{% - Unexpected syntax of file `\jobname.slnc'.\MessageBreak - Second argument should be a number.\MessageBreak - I don't know what to do with\MessageBreak - \expandafter\detokenize\expandafter{\reserved@a}% + \@ifundefined{slnc@\reserved@b @unprocessed}{% + \PackageWarning{scrlayer-notecolumn}{% + column `\reserved@b' undefined.\MessageBreak + You should declare the column before the usage.\MessageBreak + Notes will be lost% }% - \@tempswatrue - \else - \global\let\slnc@unprocessed\reserved@b - \expandafter\slnc@iiofv\expandafter\reserved@b\reserved@a - \@empty\@empty\@empty\@empty\@empty - \@ifundefined{slnc@\reserved@b @unprocessed}{% - \PackageWarning{scrlayer-notecolumn}{% - column `\reserved@b' undefined.\MessageBreak - You should declare the column before the usage.\MessageBreak - Notes will be lost% - }% - }{% - \expandafter\g@addto@macro - \csname slnc@\reserved@b @unprocessed\expandafter\endcsname - \expandafter{% - \reserved@a - }% + }{% + \expandafter\g@addto@macro + \csname slnc@\reserved@b @unprocessed\expandafter\endcsname + \expandafter{% + \reserved@a }% - \ifnum \number #1<\slnc@unprocessed\relax - \@tempswafalse - \else - \@tempswatrue - \fi + }% + \ifnum \number #1<\slnc@unprocessed\relax + \@tempswafalse + \else + \@tempswatrue \fi - \else - \PackageInfo{scrlayer-notecolumn}{% - Ignoring `\expandafter\detokenize\expandafter{\reserved@a}'}% - \@tempswatrue \fi - \ifeof\slnc@file\@tempswafalse\fi - }% - \fi - }% -} -\scrlayerAddToInterface\slnc@iofv{% - \newcommand\slnc@iofv[6]{\def#1{#2}}% -} -\scrlayerAddToInterface\slnc@iiofiv{% - \newcommand\slnc@iiofv[6]{\def#1{#3}}% -} -\scrlayerAddToInterface\slnc@iiiofiv{% - \newcommand\slnc@iiiofv[6]{\def#1{#4}}% -} -\scrlayerAddToInterface\slnc@unprocessed{% - \newcommand*{\slnc@unprocessed}{0}% -} -\scrlayerAddToInterface\slnc@mdfivesum{% - \let\slnc@mdfivesum\@empty -} -\scrlayerAddToInterface\slnc@file{% - \scr@ifundefinedorrelax{pdfmdfivesum}{% - \scr@ifundefinedorrelax{mdfivesum}{% - \ifdefined\directlua - \directlua{% - function slncmdfivesum(filename) - local fh = io.open(filename,"rb") - if fh then - local sum=md5.sumhexa(fh:read("*a")) - tex.sprint(sum) - fh:close() - end - end - }% - \xdef\slnc@mdfivesum{\directlua{slncmdfivesum("\jobname.slnc")}}% + \else + \PackageInfo{scrlayer-notecolumn}{% + Ignoring `\expandafter\detokenize\expandafter{\reserved@a}'}% + \@tempswatrue \fi - }{% - \xdef\slnc@mdfivesum{\mdfivesum file {\jobname.slnc}}% + \ifeof\slnc@file\@tempswafalse\fi }% + \fi +}% +\newcommand\slnc@iofv[6]{\def#1{#2}}% +\newcommand\slnc@iiofv[6]{\def#1{#3}}% +\newcommand\slnc@iiiofv[6]{\def#1{#4}}% +\newcommand*{\slnc@unprocessed}{0}% +\newcommand*{\slnc@mdfivesum}{} +\let\slnc@mdfivesum\@empty +\scr@ifundefinedorrelax{pdfmdfivesum}{% + \scr@ifundefinedorrelax{mdfivesum}{% + \ifdefined\directlua + \directlua{% + function slncmdfivesum(filename) + local fh = io.open(filename,"rb") + if fh then + local sum=md5.sumhexa(fh:read("*a")) + tex.sprint(sum) + fh:close() + end + end + }% + \xdef\slnc@mdfivesum{\directlua{slncmdfivesum("\jobname.slnc")}}% + \fi }{% - \xdef\slnc@mdfivesum{\pdfmdfivesum file {\jobname.slnc}}% - }% - \scr@ifundefinedorrelax{slnc@mdfivesum}{}{% - \PackageInfo{scrlayer-notecolumn}{% - MD5 of last `\jobname.slnc':\MessageBreak - \slnc@mdfivesum}% + \xdef\slnc@mdfivesum{\mdfivesum file {\jobname.slnc}}% }% - \newread\slnc@file - \immediate\openin\slnc@file \jobname.slnc - \scrlayerOnAutoRemoveInterface{\immediate\closein\slnc@file}% -} -\scrlayerAddToInterface\c@slnc@clearnote@label{% - \newcounter{slnc@clearnote@label}% -} -\scrlayerAddToInterface\clearnotecolumn{% - \newcommand*\clearnotecolumn[1][marginpar]{% - \begingroup - \slnc@autoclearnotecolumnsfalse - \stepcounter{slnc@clearnote@label}% - \if@filesw - \protected@write\@auxout{% - \let\theslncpage\relax - \let\slnc@voidtest\relax - }{% - \string\newlabel{notecolumn.\theslnc@clearnote@label}% - {{\theslncpage}{\slnc@voidtest{#1}}}% - }% - \fi - \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% - \PackageInfo{scrlayer-notecolumn}{% - Using estimated to low value for clearing\MessageBreak - note colum `#1'% - } - \edef\slnc@cmp@value{\the\value{slncpage}}% - \let\reserved@a\z@ +}{% + \xdef\slnc@mdfivesum{\pdfmdfivesum file {\jobname.slnc}}% +}% +\scr@ifundefinedorrelax{slnc@mdfivesum}{}{% + \PackageInfo{scrlayer-notecolumn}{% + MD5 of last `\jobname.slnc':\MessageBreak + \slnc@mdfivesum}% +}% +\newread\slnc@file +\immediate\openin\slnc@file \jobname.slnc +\newcounter{slnc@clearnote@label}% +\newcommand*\clearnotecolumn[1][marginpar]{% + \begingroup + \slnc@autoclearnotecolumnsfalse + \stepcounter{slnc@clearnote@label}% + \if@filesw + \protected@write\@auxout{% + \let\theslncpage\relax + \let\slnc@voidtest\relax }{% - \edef\reserved@a{% - \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty - }% - \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% - \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + \string\newlabel{notecolumn.\theslnc@clearnote@label}% + {{\theslncpage}{\slnc@voidtest{#1}}}% }% - \typeout{TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, - abspage=\the\value{slncpage}, until page=\slnc@cmp@value, - process=\reserved@a, pagetotal=\the\pagetotal, topskip=\the\topskip}% - \ifvmode\ifdim \pagetotal<\topskip - \edef\slnc@cmp@value{\the\numexpr\slnc@cmp@value-1}% + \fi + \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% + \PackageInfo{scrlayer-notecolumn}{% + Using estimated to low value for clearing\MessageBreak + note colum `#1'% + } + \edef\slnc@cmp@value{\the\value{slncpage}}% + \let\reserved@a\z@ + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty + }% + \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + }% + \typeout{TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, + abspage=\the\value{slncpage}, until page=\slnc@cmp@value, + process=\reserved@a, pagetotal=\the\pagetotal, topskip=\the\topskip}% + \ifvmode\ifdim \pagetotal<\topskip + \edef\slnc@cmp@value{\the\numexpr\slnc@cmp@value-1}% \typeout{TRACE (slnc): until page=\slnc@cmp@value}% - \fi\fi - \ifnum \reserved@a=\z@ - \ifvmode - \ifdim \pagetotal<\topskip - \else - \slnc@readnotes{\slnc@cmp@value}% - \fi + \fi\fi + \ifnum \reserved@a=\z@ + \ifvmode + \ifdim \pagetotal<\topskip \else \slnc@readnotes{\slnc@cmp@value}% \fi + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \csname slnc@#1@unprocessed\endcsname + \endgroup + \else + \PackageInfo{scrlayer-notecolumn}{% + box of note column `#1'\MessageBreak + not empty after page of \string\clearnotecolumn}% + \@tempswatrue + \fi + \if@tempswa + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + \string\clearnotecolumn\space while active non-layer page + style.\MessageBreak + Activate empty page style until note column\MessageBreak + has been cleared% + }% + \pagestyle{empty}% + }% + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \typeout{TRACE (slnc): add \string\clearpage}% + \clearpage + \expandafter\ifcase \slnc@voidtest{#1}% \begingroup \aftergroup\@tempswafalse \long\def\slnc@note##1##2##3##4{% @@ -1090,119 +1018,115 @@ \csname slnc@#1@unprocessed\endcsname \endgroup \else - \PackageInfo{scrlayer-notecolumn}{% - box of note column `#1'\MessageBreak - not empty after page of \string\clearnotecolumn}% \@tempswatrue \fi \if@tempswa - \IfLayerPageStyleExists{\currentpagestyle}{}{% - \PackageWarning{scrlayer-notecolumn}{% - \string\clearnotecolumn\space while active non-layer page - style.\MessageBreak - Activate empty page style until note column\MessageBreak - has been cleared% - }% - \pagestyle{empty}% - }% - \@tempswatrue + \null \fi - \@whilesw\if@tempswa\fi{% - \typeout{TRACE (slnc): add \string\clearpage}% - \clearpage - \expandafter\ifcase \slnc@voidtest{#1}% - \begingroup - \aftergroup\@tempswafalse - \long\def\slnc@note##1##2##3##4{% - \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi - }% - \let\slnc@sync\slnc@note - \csname slnc@#1@unprocessed\endcsname - \endgroup - \else - \@tempswatrue - \fi - \if@tempswa - \null - \fi - }% - \endgroup - }% -} -\scrlayerAddToInterface{\slnc@firstof}{% - \def\slnc@firstof#1#2\@nil{#1}% -} -\scrlayerAddToInterface{slnc@secondof}{% - \def\slnc@secondof#1#2#3\@nil{#2}% + }% + \endgroup } -\scrlayerAddToInterface\slnc@voidtest{% - \newcommand*{\slnc@voidtest}[1]{% - \expandafter\ifvoid \csname slnc@#1@box\endcsname \z@\else \@ne\fi - }% +\newcommand*{\slnc@firstof}{} +\def\slnc@firstof#1#2\@nil{#1}% +\newcommand*{\slnc@secondof}{} +\def\slnc@secondof#1#2#3\@nil{#2}% +\newcommand*{\slnc@voidtest}[1]{% + \expandafter\ifvoid \csname slnc@#1@box\endcsname \z@\else \@ne\fi } -\scrlayerAddToInterface\clearnotecolumns{% - \newcommand*\clearnotecolumns[1][\relax]{% - \begingroup - \slnc@autoclearnotecolumnsfalse - \ifx\relax#1\relax\else - \let\slnc@processnotecolumns\@empty - \edef\reserved@a{#1}% - \@for\reserved@a:=\reserved@a\do {% - \scr@trim@spaces\reserved@a - \ifx\reserved@a\@empty\else - \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns - \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% - \fi +\newcommand*\clearnotecolumns[1][\relax]{% + \begingroup + \slnc@autoclearnotecolumnsfalse + \ifx\relax#1\relax\else + \let\slnc@processnotecolumns\@empty + \edef\reserved@a{#1}% + \@for\reserved@a:=\reserved@a\do {% + \scr@trim@spaces\reserved@a + \ifx\reserved@a\@empty\else + \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns + \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% + \fi + }% + \fi + \stepcounter{slnc@clearnote@label}% + \if@filesw + \begingroup + \def\@elt##1{+\slnc@voidtest{##1}}% + \protected@write\@auxout{% + \let\theslncpage\relax + \let\slnc@voidtest\relax + }{% + \string\newlabel{notecolumn.\theslnc@clearnote@label}% + {{\theslncpage}{\numexpr \slnc@processnotecolumns\relax}}% }% - \fi - \stepcounter{slnc@clearnote@label}% - \if@filesw - \begingroup - \def\@elt##1{+\slnc@voidtest{##1}}% - \protected@write\@auxout{% - \let\theslncpage\relax - \let\slnc@voidtest\relax - }{% - \string\newlabel{notecolumn.\theslnc@clearnote@label}% - {{\theslncpage}{\numexpr \slnc@processnotecolumns\relax}}% - }% - \endgroup - \fi - \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% - \begingroup - \def\@elt##1{, `##1'}% - \PackageInfo{scrlayer-notecolumn}{% - Using estimated to low value for\MessageBreak - clearing note colums\MessageBreak - \expandafter\@gobble\slnc@processnotecolumns - }% - \endgroup - \edef\slnc@cmp@value{\the\value{slncpage}}% - \let\reserved@a\z@ - }{% - \edef\reserved@a{% - \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty + \endgroup + \fi + \scr@ifundefinedorrelax{r@notecolumn.\theslnc@clearnote@label}{% + \begingroup + \def\@elt##1{, `##1'}% + \PackageInfo{scrlayer-notecolumn}{% + Using estimated to low value for\MessageBreak + clearing note colums\MessageBreak + \expandafter\@gobble\slnc@processnotecolumns }% - \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% - \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + \endgroup + \edef\slnc@cmp@value{\the\value{slncpage}}% + \let\reserved@a\z@ + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@clearnote@label}\@empty\@empty }% - \typeout{TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, - abspage=\theslncpage, until page=\slnc@cmp@value, - process=\reserved@a, pagetotal=\the\pagetotal, topskip=\the\topskip}% - \ifvmode\ifdim \pagetotal<\topskip - \edef\slnc@cmp@value{\the\numexpr\slnc@cmp@value-1}% + \edef\slnc@cmp@value{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% + }% + \typeout{TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, + abspage=\theslncpage, until page=\slnc@cmp@value, + process=\reserved@a, pagetotal=\the\pagetotal, topskip=\the\topskip}% + \ifvmode\ifdim \pagetotal<\topskip + \edef\slnc@cmp@value{\the\numexpr\slnc@cmp@value-1}% \typeout{TRACE (slnc): until page=\slnc@cmp@value}% - \fi\fi - \ifnum \reserved@a=\z@ - \ifvmode - \ifdim \pagetotal<\topskip - \else - \slnc@readnotes{\slnc@cmp@value}% - \fi + \fi\fi + \ifnum \reserved@a=\z@ + \ifvmode + \ifdim \pagetotal<\topskip \else \slnc@readnotes{\slnc@cmp@value}% \fi - \begingroup + \else + \slnc@readnotes{\slnc@cmp@value}% + \fi + \begingroup + \aftergroup\@tempswafalse + \long\def\slnc@note##1##2##3##4{% + \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi + }% + \let\slnc@sync\slnc@note + \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% + \slnc@processnotecolumns + \endgroup + \else + \PackageInfo{scrlayer-notecolumn}{% + box of at least one note column\MessageBreak + not empty after page of \string\clearnotecolumns}% + \@tempswatrue + \fi + \if@tempswa + \IfLayerPageStyleExists{\currentpagestyle}{}{% + \PackageWarning{scrlayer-notecolumn}{% + \string\clearnotecolumns\space while active non-layer page + style.\MessageBreak + Activate empty page style until note column\MessageBreak + has been cleared% + }% + \pagestyle{empty}% + }% + \@tempswatrue + \fi + \@whilesw\if@tempswa\fi{% + \typeout{TRACE (slnc): add \string\clearpage}% + \clearpage + \begingroup + \def\@elt##1{+\slnc@voidtest{##1}}% + \ifcase \numexpr \slnc@processnotecolumns\relax \aftergroup\@tempswafalse \long\def\slnc@note##1##2##3##4{% \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi @@ -1210,210 +1134,169 @@ \let\slnc@sync\slnc@note \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% \slnc@processnotecolumns - \endgroup - \else - \PackageInfo{scrlayer-notecolumn}{% - box of at least one note column\MessageBreak - not empty after page of \string\clearnotecolumns}% - \@tempswatrue - \fi + \else + \aftergroup\@tempswatrue + \fi + \endgroup \if@tempswa - \IfLayerPageStyleExists{\currentpagestyle}{}{% - \PackageWarning{scrlayer-notecolumn}{% - \string\clearnotecolumns\space while active non-layer page - style.\MessageBreak - Activate empty page style until note column\MessageBreak - has been cleared% - }% - \pagestyle{empty}% - }% - \@tempswatrue + \null \fi - \@whilesw\if@tempswa\fi{% - \typeout{TRACE (slnc): add \string\clearpage}% - \clearpage - \begingroup - \def\@elt##1{+\slnc@voidtest{##1}}% - \ifcase \numexpr \slnc@processnotecolumns\relax - \aftergroup\@tempswafalse - \long\def\slnc@note##1##2##3##4{% - \ifnum ##2>\slnc@cmp@value\relax \else \aftergroup\@tempswatrue\fi - }% - \let\slnc@sync\slnc@note - \def\@elt##1{\csname slnc@##1@unprocessed\endcsname}% - \slnc@processnotecolumns - \else - \aftergroup\@tempswatrue - \fi - \endgroup - \if@tempswa - \null - \fi - }% - \endgroup - }% -} -\scrlayerAddToInterface{\c@slnc@syncpoint}{% - \newcounter{slnc@syncpoint}% + }% + \endgroup } -\scrlayerAddToInterface{\syncwithnotecolumn}{% - \newcommand*{\syncwithnotecolumn}[1][marginpar]{% - \begingroup - \edef\reserved@a{\endgroup\noexpand\syncwithnotecolumns[{#1}]}% - \reserved@a - }% +\newcounter{slnc@syncpoint}% +\newcommand*{\syncwithnotecolumn}[1][marginpar]{% + \begingroup + \edef\reserved@a{\endgroup\noexpand\syncwithnotecolumns[{#1}]}% + \reserved@a } -\scrlayerAddToInterface{\syncwithnotecolumns}{% - \newcommand*{\syncwithnotecolumns}[1][\relax]{% - \begingroup - \ifx\relax#1\relax\else - \let\slnc@processnotecolumns\@empty - \edef\reserved@a{#1}% - \@for\reserved@a:=\reserved@a\do {% - \scr@trim@spaces\reserved@a - \ifx\reserved@a\@empty\else - \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns - \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% - \fi - }% - \fi - \stepcounter{slnc@syncpoint}% - \def\@elt##1{% - \addtocontents{slnc}{% - \string\slnc@sync{##1}% - {\noexpand\number\value{slncpage}}% - {\theslnc@syncpoint}% - {}% - }% +\newcommand*{\syncwithnotecolumns}[1][\relax]{% + \begingroup + \ifx\relax#1\relax\else + \let\slnc@processnotecolumns\@empty + \edef\reserved@a{#1}% + \@for\reserved@a:=\reserved@a\do {% + \scr@trim@spaces\reserved@a + \ifx\reserved@a\@empty\else + \expandafter\l@addto@macro\expandafter\slnc@processnotecolumns + \expandafter{\expandafter\@elt\expandafter{\reserved@a}}% + \fi }% - \slnc@processnotecolumns - \ifvmode - \let\slnc@voffset\@empty% - \expandafter\@firstofone - \else - \PackageWarning{scrlayer-notecolumn}{% - \string\syncwithnotecolumn\space in hmode.\MessageBreak - Using \string\syncwithnotecolumn\space in horizontal\MessageBreak - mode may result in unwanted vertical\MessageBreak - space inside paragraphs and may lost\MessageBreak - colours of text of notes. \space So perhaps you\MessageBreak - should move \string\syncwithnotecolumn\space before\MessageBreak - or after the paragraph% + \fi + \stepcounter{slnc@syncpoint}% + \def\@elt##1{% + \addtocontents{slnc}{% + \string\slnc@sync{##1}% + {\noexpand\number\value{slncpage}}% + {\theslnc@syncpoint}% + {}% + }% + }% + \slnc@processnotecolumns + \ifvmode + \let\slnc@voffset\@empty% + \expandafter\@firstofone + \else + \PackageWarning{scrlayer-notecolumn}{% + \string\syncwithnotecolumn\space in hmode.\MessageBreak + Using \string\syncwithnotecolumn\space in horizontal\MessageBreak + mode may result in unwanted vertical\MessageBreak + space inside paragraphs and may lost\MessageBreak + colours of text of notes. \space So perhaps you\MessageBreak + should move \string\syncwithnotecolumn\space before\MessageBreak + or after the paragraph% + }% + \let\slnc@voffset\@empty%\def\slnc@voffset{-\number\baselineskip}% + \expandafter\slnc@vadjust + \fi + {% + \if@filesw + \scr@savepos + \protected@write\@auxout{}{% + \string\newlabel{notecolumn.\theslnc@syncpoint.synctext.label}{% + {% + \noexpand\number + \numexpr \scr@lastypos\slnc@voffset\relax + }{\thepage}% + }% }% - \let\slnc@voffset\@empty%\def\slnc@voffset{-\number\baselineskip}% - \expandafter\slnc@vadjust \fi - {% - \if@filesw - \scr@savepos - \protected@write\@auxout{}{% - \string\newlabel{notecolumn.\theslnc@syncpoint.synctext.label}{% - {% - \noexpand\number - \numexpr \scr@lastypos\slnc@voffset\relax - }{\thepage}% + \@ifundefined{r@notecolumn.\theslnc@syncpoint.synctext.label}{% + \PackageInfo{scrlayer-notecolumn}{% + No text label for \string\syncwithnotecolumn.\MessageBreak + Need rerun to sync position}% + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.\theslnc@syncpoint.synctext.label}% + \@empty\@empty + }% + \edef\slnc@textpos{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\slnc@textpage{\expandafter\slnc@secondof\reserved@a\@nil}% + \let\slnc@notepos\slnc@textpos + \let\slnc@notepage\slnc@textpage + \def\@elt##1{% + \@ifundefined{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}{% + \PackageInfo{scrlayer-notecolumn}{% + No note label for sync with note column\MessageBreak + `##1'.\MessageBreak + Need rerun to sync position}% + \G@refundefinedtrue + }{% + \edef\reserved@a{% + \@nameuse{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}% + \@empty\@empty }% + \edef\reserved@b{\expandafter\slnc@firstof\reserved@a\@nil}% + \edef\reserved@c{\expandafter\slnc@secondof\reserved@a\@nil}% + \ifnum \slnc@notepage<\reserved@c\relax + \let\slnc@notepos=\reserved@b + \let\slnc@notepage=\reserved@c + \else + \ifnum \slnc@notepage=\reserved@c\relax + \ifnum \slnc@notepos>\reserved@b + \let\slnc@notepos=\reserved@b + \let\slnc@notepage=\reserved@c + \fi + \fi + \fi }% - \fi - \@ifundefined{r@notecolumn.\theslnc@syncpoint.synctext.label}{% + }% + \slnc@processnotecolumns + \ifnum\slnc@textpage>\slnc@notepage\relax \PackageInfo{scrlayer-notecolumn}{% - No text label for \string\syncwithnotecolumn.\MessageBreak + Last note page before last text page.\MessageBreak Need rerun to sync position}% - }{% - \edef\reserved@a{% - \@nameuse{r@notecolumn.\theslnc@syncpoint.synctext.label}% - \@empty\@empty - }% - \edef\slnc@textpos{\expandafter\slnc@firstof\reserved@a\@nil}% - \edef\slnc@textpage{\expandafter\slnc@secondof\reserved@a\@nil}% - \let\slnc@notepos\slnc@textpos - \let\slnc@notepage\slnc@textpage - \def\@elt##1{% - \@ifundefined{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}{% - \PackageInfo{scrlayer-notecolumn}{% - No note label for sync with note column\MessageBreak - `##1'.\MessageBreak - Need rerun to sync position}% - \G@refundefinedtrue - }{% - \edef\reserved@a{% - \@nameuse{r@notecolumn.##1.\theslnc@syncpoint.syncnote.label}% - \@empty\@empty + \else + \ifnum\slnc@textpage<\slnc@notepage\relax + \@whilenum \slnc@textpage<\slnc@notepage\do {% + \newpage\null\vskip-\dimexpr \baselineskip+\parskip\relax + \edef\slnc@textpage{\the\numexpr\slnc@textpage+1\relax}% + }% + \scr@ifundefinedorrelax{pdfpageheight}{% + \scr@ifundefinedorrelax{pageheight}{% + \@tempdima=\paperheight + }{% + \@tempdima=\pageheight }% - \edef\reserved@b{\expandafter\slnc@firstof\reserved@a\@nil}% - \edef\reserved@c{\expandafter\slnc@secondof\reserved@a\@nil}% - \ifnum \slnc@notepage<\reserved@c\relax - \let\slnc@notepos=\reserved@b - \let\slnc@notepage=\reserved@c - \else - \ifnum \slnc@notepage=\reserved@c\relax - \ifnum \slnc@notepos>\reserved@b - \let\slnc@notepos=\reserved@b - \let\slnc@notepage=\reserved@c - \fi - \fi - \fi + }{% + \@tempdima=\pdfpageheight }% - }% - \slnc@processnotecolumns - \ifnum\slnc@textpage>\slnc@notepage\relax + \@tempdima=\dimexpr \@tempdima + -\topmargin-1in + -\headheight-\headsep + -\topskip+\baselineskip + \relax + \edef\slnc@textpos{\number\@tempdima}% \PackageInfo{scrlayer-notecolumn}{% - Last note page before last text page.\MessageBreak - Need rerun to sync position}% + Top position is \slnc@textpos% + }% + \fi + \ifnum\slnc@notepos>\slnc@textpos\relax + \PackageInfo{scrlayer-notecolumn}{% + Last note position before last text\MessageBreak + position.\MessageBreak + Need rerun to sync position% + }% \else - \ifnum\slnc@textpage<\slnc@notepage\relax - \@whilenum \slnc@textpage<\slnc@notepage\do {% - \newpage\null\vskip-\dimexpr \baselineskip+\parskip\relax - \edef\slnc@textpage{\the\numexpr\slnc@textpage+1\relax}% - }% - \scr@ifundefinedorrelax{pdfpageheight}{% - \scr@ifundefinedorrelax{pageheight}{% - \@tempdima=\paperheight - }{% - \@tempdima=\pageheight - }% - }{% - \@tempdima=\pdfpageheight - }% - \@tempdima=\dimexpr \@tempdima - -\topmargin-1in - -\headheight-\headsep - -\topskip+\baselineskip - \relax - \edef\slnc@textpos{\number\@tempdima}% + \ifnum\slnc@notepos<\slnc@textpos\relax + \@tempdima=\numexpr \slnc@textpos-\slnc@notepos\relax sp \PackageInfo{scrlayer-notecolumn}{% - Top position is \slnc@textpos% + skipping \the\@tempdima\space to sync% }% - \fi - \ifnum\slnc@notepos>\slnc@textpos\relax - \PackageInfo{scrlayer-notecolumn}{% - Last note position before last text\MessageBreak - position.\MessageBreak - Need rerun to sync position% - }% - \else - \ifnum\slnc@notepos<\slnc@textpos\relax - \@tempdima=\numexpr \slnc@textpos-\slnc@notepos\relax sp - \PackageInfo{scrlayer-notecolumn}{% - skipping \the\@tempdima\space to sync% - }% - \vskip\@tempdima - \fi + \vskip\@tempdima \fi \fi - }% + \fi }% - \endgroup - }% + }% + \endgroup } -\scrlayerAddToInterface\slnc@vadjust{% - \newcommand{\slnc@vadjust}[1]{% - \@bsphack - \vadjust{#1}% - \@esphack - }% +\newcommand{\slnc@vadjust}[1]{% + \@bsphack + \vadjust{#1}% + \@esphack } -%%% From File: $Id: scrlayer-notecolumn.dtx 3426 2019-12-02 09:15:20Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $ %%% (run: final) \DeclareNoteColumn{marginpar} \let\reserved@a\clearpage @@ -1421,7 +1304,7 @@ \ifslnc@autoclearnotecolumns\clearnotecolumns\relax\fi }% \expandafter\g@addto@macro\expandafter\clearpage\expandafter{\reserved@a} -%%% From File: $Id: scrlogo.dtx 2640 2017-05-08 09:36:55Z kohm $ +%%% From File: $Id: scrlogo.dtx 3527 2020-09-11 09:44:32Z kohm $ \@ifundefined{KOMAScript}{% \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% M\kern.05em A\kern.1em-\kern.1em Script}}}{} |