summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-variables.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-variables.dtx413
1 files changed, 179 insertions, 234 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx b/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx
index f93ffa9eff..15e2be40e7 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{273}
% \iffalse meta-comment
% ======================================================================
% scrkernel-variables.dtx
-% Copyright (c) Markus Kohm, 2008-2019
+% Copyright (c) Markus Kohm, 2006-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,54 +17,17 @@
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrkernel-variables.dtx
-% Copyright (c) Markus Kohm, 2008-2019
-%
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c, verteilt und/oder veraendert werden.
-% Die neuste Version dieser Lizenz ist
-% http://www.latex-project.org/lppl.txt
-% und Version 1.3c ist Teil aller Verteilungen von LaTeX
-% Version 2005/12/01 oder spaeter und dieses Werks.
-%
-% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
-% (allein durch den Autor verwaltet).
-%
-% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
-%
-% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
-% \fi
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \iffalse
-%%% From File: $Id: scrkernel-variables.dtx 3393 2019-11-19 10:33:44Z kohm $
+%%% From File: $Id: scrkernel-variables.dtx 3707 2022-02-15 10:40:57Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
-% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-19 11:33:44 +0100 (Tue, 19 Nov 2019) $
+ \filedate$Date: 2022-02-15 11:40:57 +0100 (Di, 15. Feb 2022) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
- \filerevision$Revision: 1638 $
+ \filerevision$Revision: 3707 $
\xdef\fileinfo{\filedate\space\filerevision\space}
\edef\reserved@a{%
\noexpand\endgroup
@@ -74,80 +36,81 @@
KOMA-Script source(koma variables)]
}%
\reserved@a
-% \iffalse
-\documentclass{scrdoc}
-\usepackage[english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-variables.dtx}
-\title{\KOMAScript{} \partname\ \texttt{\filename}%
- \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
-\date{\filedate}
-\author{Markus Kohm}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\setcounter{StandardModuleDepth}{2}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-variables.dtx}
\end{document}
%</dtx>
% \fi
%
-% \selectlanguage{ngerman}
-%
-% \changes{v2.95}{2006/03/20}{%
-% erste Version aus der Aufteilung von \textsf{scrclass.dtx}}
-%
-% \section{\KOMAScript{}-Variablen}
+% \changes{v2.95}{2006/03/20}{new by splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/15}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/15}{whole implementation documentation in English}
+%
+% \GetFileInfo{scrkernel-variables.dtx}
+% \title{Using Variables in
+% \href{https://komascript.de}{\KOMAScript} Letter Classes and Package}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% Letters have several variables like the name and address of the sender and
+% the addressee, for fields like customer ids phone numbers, email addresses
+% etc. Depending on the purpose of a letter or a corporate identity much
+% more field and so variables are possible. For all of them
+% \file{scrkernel-variables.dtx} provides a general mechanism and user
+% interface.
+% \end{abstract}
+% \tableofcontents
+%
+% \section{User Manual}
+%
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
+%
+% \MaybeStop{\PrintIndex}
%
-% Bei Briefen gibt es eine ganze Reihe von speziellen Variablen. An dieser
-% Stelle sei als Beispiel nur das Feld "`Ihr Zeichen"' genannt. Es ist nahezu
-% unmöglich alle diese Felder vorherzusehen. Daher wurde in der neuen
-% Briefklasse ein neuer Mechanismus zur Definition solcher Felder geschaffen.
+% \section{Implementation of Variables}
%
-% \iffalse
+% \begin{macrocode}
%<*letter>
-% \fi
-%
-% \StopEventually{\PrintIndex\PrintChanges}
-%
-% \iffalse
-%<*option>
-% \fi
+% \end{macrocode}
%
-% \subsection{Option}
-% Der Mechanismus ist unabhängig von Optionen.
+% \subsection{Options}
+% The mechanism does not depend on options.
%
%
-% \iffalse
-%</option>
-%<*body>
-% \fi
+% \subsection{Commands and macros for variables}
%
-% \subsection{Anweisungen zum Anlegen und Verwenden von Variablen}
-%
-% \begin{macro}{\newkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Es wird zwischen zwei Arten von Feldern unterschieden:
+% \begin{command}{\newkomavar*,\newkomavar}
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced \cs{kernel@ifstar} by}
+% We have two kinds of fields and so variables:
% \begin{itemize}
-% \item Felder für die Geschäftszeile
-% \item Felder für sonstige Verwendung
+% \item to be printed in the reference line,
+% \item for other purpose, but not printed in the reference line.
% \end{itemize}
-% Felder können aber auch nachträglich zur Geschäftszeile
-% hinzugefügt werden. Die Sternvariante von \cs{newkomavar} führt
-% dies jedoch automatisch durch.
+% But it is also possible to add variables later to (or
+% even remove them from the reference line. But the star variant
+% \cs{newkomavar*} automatically adds a variable to (the end of) the reference
+% line.
% \begin{macro}{\@newkomavar}
-% Da mit einer Sternvariante gearbeitet wird, wird ein Hilfsmakro
-% benötigt. Das Makro erhält ein optionales und
-% ein obligatorisches Argument. Das optionale Argument ist dabei die
-% Voreinstellung für den \emph{Ausgabenamen} des Feldes, der
-% ggf. ausgegeben werden soll. Das obligatorische Argument ist
-% \emph{Name} des Feldes, über den das Feld angesprochen wird.
-% Das Makro definiert zwei weitere Makros: \cs{\emph{scr@Name}@var} und
-% \cs{scr@\emph{Name}@name}.
+% Because of the star variant (and because we currently do not use
+% \pkg{xparse}), we need an internal command.
+% Both \cs{newkomavar} and \cs{newkomavar*} have one optional argument
+% (\texttt{\#1}), the \meta{output name}. It is intended to be printed. In
+% opposite to this the first mandatory argument (\texttt{\#2}) is the
+% \meta{name} of the variable. It is not indented to be printed but used for access
+% only. Only \emph{command sequence} characters are allowed here. It is
+% recommended to use only letters for the \meta{name}. Internally
+% macro \cs{scr@\meta{name}@name} and \cs{scr@\meta{name}@var} are
+% defined. The second one is initialized to be empty.
% \begin{macrocode}
+%<*body>
\newcommand*{\newkomavar}{%
\kernel@ifstar {\@tempswatrue\@newkomavar}{\@tempswafalse\@newkomavar}}
\newcommand*{\@newkomavar}[2][\relax]{%
@@ -184,35 +147,34 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\setkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v3.08}{2010/10/28}{\cs{scr@\emph{Name}@postsetname} und
-% \cs{scr@\emph{Name}@postsetvar}}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Natürlich wird auch ein Befehl benötigt, um die Feldvariable zu setzen und
-% ihnen ggf. einen neuen Namen für die Ausgabe zu geben. Der \emph{Name} der
-% Feldvariable wird als obligatorisches erstes Argument übergeben. Zusätzlich
-% zum Setzen von Ausgabename oder Wert werden ggf. auch die Hooks
-% \cs{scr@\emph{Name}@postsetname} bzw. \cs{scr@\emph{Name}@postsetvar}
-% ausgeführt.
+% \end{command}
+%
+% \begin{command}{\setkomavar*,\setkomavar}
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v3.08}{2010/10/28}{\cs{scr@\emph{Name}@postsetname} and
+% \cs{scr@\emph{Name}@postsetvar} added}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% After defining a new variable we also need a command to set the
+% \meta{value}. This is the second mandatory argument (\texttt{\#3}) of
+% \cs{setkomavar}. The first mandatory argument (\texttt{\#2}) once again is
+% the \meta{name}. The \meta{output name} can be set with the
+% optional first argument (\texttt{\#1}). But for the case only the
+% \meta{output name} should be changed but not the \meta{value} there is an
+% additional star variant \cs{setkomavar*}. This has only two mandatory argument:
+% \meta{name} (\texttt{\#1}) and \meta{output name} (\texttt{\#2}). Both also
+% executes two hooks \cs{scr@\meta{name}@postsetname} and
+% \cs{scr@\meta{name}@postsetvar} after setting the \meta{output name}
+% resp. the \meta{value}. So package authors can define additional actions for
+% the case a variable changes.
% \begin{macro}{\@setkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
-% \cs{kernel@ifnextchar}}%^^A
-% Da dann zwischen einer Sternvariante und einer normalen unterschieden werden
-% soll wird ein Hilfsmakro benötigt.
-% \begin{macro}{\@setkomaname}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% Die Sternvariante definiert nur den Ausgabename neu.
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}}
% \begin{macro}{\@@setkomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% Da in der normalen Variante nach dem Stern ein optionales Argument folgen
-% kann, wird mit einem weiteren Hilfsmakro gearbeitet. Der \emph{Ausgabename}
-% wird dabei als optionales, zweites Argument übergeben. Der \emph{Inhalt}
-% wird als obligatorisches, drittes Argument übergeben.
+% \changes{v2.8q}{2002/01/14}{added}
+% \begin{macro}{\@setkomaname}
+% \changes{v2.8q}{2002/01/14}{added}
+% Because of the star variant and the optional argument additional helper
+% macros are needed.
% \begin{macrocode}
\newcommand*{\setkomavar}{%
\kernel@ifstar {\@setkomaname}{\@setkomavar}}
@@ -243,15 +205,15 @@
}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}^^A \@setkomaname
+% \end{macro}^^A \@@setkomavar
+% \end{macro}^^A \@setkomavar
+% \end{command}^^A \setkomavar*,\setkomavar
%
% \begin{macro}{\@komavar@err}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% Dieses Makro wird intern in den Makros \cs{setkomavar} und
-% \cs{usekomavar} verwendet.
+% \changes{v2.8q}{2002/01/14}{added}
+% Error message for using or setting (\texttt{\#1}) unknown variables
+% (\texttt{\#2}), used by \cs{setkomavar} or \cs{usekomavar}.
% \begin{macrocode}
\newcommand*{\@komavar@err}[2]{%
%<class> \ClassError{scrlttr2%
@@ -269,27 +231,21 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\usekomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v2.9i}{2002/09/04}{robust}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Selbstverständlich wird auch ein Makro benötigt, um auf den
-% Inhalt oder den Ausgabename einer Variablen zugreifen zu
-% können. Mit der normalen Variante wird dabei der Inhalt, mit der
-% Sternvariante der Name ausgegeben.
-% \begin{macro}{\@usekomavar}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v2.9i}{2002/09/04}{optionales Argument}%^^A
-% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} als Defaultargument
-% eingefügt}
-% \begin{macro}{\@usekomaname}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v2.9i}{2002/09/04}{optionales Argument}%^^A
-% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} als Defaultargument
-% eingefügt}
-% Da mir einer Sternvariante gearbeitet wird, werden zwei Hilfsmakros
-% benötigt.
+% \begin{command}{\usekomavar*,\usekomavar}
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v2.9i}{2002/09/04}{robust}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% User command to get either the \meta{output name} (star variant) or the
+% \meta{value} (non-star variant) of a variable. Once again the first
+% mandatory argument (\texttt{\#2}) is the \meta{name} of the value. Both also
+% have an optional first argument (\texttt{\#1}) \meta{code}. The \meta{code}
+% is added before the \meta{output name} or \meta{value} in the output
+% stream and these are used as argument. You use it, e.g., to define a command
+% with the content of \meta{output name} or \meta{value} or change the formatting.
+% \begin{macro}{\@usekomavar,\@usekomaname}
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v2.9i}{2002/09/04}{optional argument}
+% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} as default for the optional argument}
% \begin{macrocode}
\DeclareRobustCommand*{\usekomavar}{%
\kernel@ifstar {\@usekomaname}{\@usekomavar}}
@@ -308,22 +264,18 @@
}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ifkomavar}
-% \changes{v3.03}{2009/03/04}{Neu}%^^A
-% \changes{v3.28}{2019/11/15}{umbenannt in \cs{Ifkomavar}}%^^A
-% \begin{macro}{\Ifkomavar}
-% \changes{v3.28}{2019/11/15}{Neu aus Umbenennung von \cs{ifkomavar}}%^^A
-% Feststellen, ob eine \KOMAScript-Variable überhaupt definiert ist. Weil
-% einige Mitglieder des \LaTeX3-Teams sich beschwert haben, dass trotz fehlens
-% einer eindeutigen Empfehlung, \KOMAScript{} \LaTeX-Verzweigungen mit
-% \cs{if\dots} definiert, statt dies \TeX-Verzweigungen vorzubehalten, habe
-% ich das hier nach mehr zehn Jahren geändert. Sollte es öffentliche
-% Beschwerden dazu geben und Ulrike diese sehen, will sie übrigens darauf
-% antworten.
+% \end{macro}^^A \@usekomavar,\@usekomaname
+% \end{command}
+%
+% \begin{command}{\ifkomavar,\Ifkomavar}
+% \changes{v3.03}{2009/03/04}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavar} renamed to {Ifkomavar}}
+% \cs{Ifkomavar} tests if the variable with the \meta{name} of \texttt{\#1} is
+% defined and execute the \meta{code} of \texttt{\#2} and otherwise the
+% \meta{code} of \texttt{\#3}. The old command \cs{ifkomavar} is deprecated
+% and should not be used any longer. This incompatible change has been done,
+% because of a new recommendation of The \LaTeX{} Team (who does break its own
+% recommendation, e.g., with \cs{ifToplevel}, \cs{ifthenelse} \dots).
% \begin{macrocode}
\newcommand*{\ifkomavar}{%
%<package> \PackageWarning{scrletter}{%
@@ -343,35 +295,31 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \Ifkomavar
-% \end{macro}%^^A \ifkomavar
-%
-% \begin{macro}{\ifkomavarempty}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v2.9i}{2002/09/04}{Leerzeichen rausgeworfen}%^^A
-% \changes{v2.9i}{2002/09/04}{robust}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% \changes{v3.28}{2019/11/15}{umbenannt in \cs{Ifkomavar}}%^^A
-% \begin{macro}{\Ifkomavarempty}
-% \changes{v3.28}{2019/11/15}{Neu aus Umbenennung von \cs{ifkomavarempty}}%^^A
-% Es gibt auch noch ein Makro, um zu testen, ob eine \KOMAScript{}
-% Variable oder deren Name leer ist. Die Sternvariante ist wieder für
-% den Namen zuständig. Weil einige Mitglieder des \LaTeX3-Teams sich beschwert
-% haben, dass trotz fehlens einer eindeutigen Empfehlung, \KOMAScript{}
-% \LaTeX-Verzweigungen mit \cs{if\dots} definiert, statt dies
-% \TeX-Verzweigungen vorzubehalten, habe ich das hier nach mehr 17 Jahren
-% geändert. Sollte es öffentliche Beschwerden dazu geben und Ulrike diese
-% sehen, will sie übrigens darauf antworten.
+% \end{command}
+%
+%
+% \begin{command}{\ifkomavarempty*,\ifkomavarempty,\Ifkomavarempty*,\Ifkomavarempty}
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v2.9i}{2002/09/04}{spurious spaced removed}
+% \changes{v2.9i}{2002/09/04}{robust}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} renamed to \cs{Ifkomavar}}
+% \cs{Ifkomavarempty} tests if the variable with the \meta{name} of
+% \texttt{\#1} is defined and the \meta{value} (non-star variant)
+% resp. \meta{output name} (star variant) is empty. If it is undefined or
+% empty the \meta{code} of \texttt{\#2} is executed. If is defined and not
+% empty the \meta{code} of \texttt{\#3} is executed.
+% The old command \cs{ifkomavarempty} resp. \cs{ifkomavarempty*} is deprecated
+% and should not be used any longer. This incompatible change has been done,
+% because of a new recommendation of The \LaTeX{} Team (who does break its own
+% recommendation, e.g., with \cs{ifToplevel}, \cs{ifthenelse} \dots).
% \begin{macro}{\if@komavarempty}
-% \changes{v2.8q}{2002/01/14}{Neu}%^^A
-% \changes{v3.03}{2009/03/04}{die neue Anweisung \cs{ifkomavar} wird
-% verwendet}
-% \changes{v3.03}{2009/03/04}{die Argumente werden nicht mehr direkt
-% gelesen}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavar} durch \cs{Ifkomavar} ersetzt}%^^A
-% Da mit einer Sternvariante gearbeitet wird, wird wieder ein
-% Hilfsmakro verwendet.
+% \changes{v2.8q}{2002/01/14}{added}
+% \changes{v3.03}{2009/03/04}{using \cs{ifkomavar}}
+% \changes{v3.03}{2009/03/04}{don't read the arguments but delegate them}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavar} replaced by \cs{Ifkomavar}}
+% Because of the star variant (and because we are currently not using
+% \pkg{xparse}) we need an internal helper macro.
% \begin{macrocode}
\newcommand*{\ifkomavarempty}{%
%<package> \PackageWarning{scrletter}{%
@@ -415,12 +363,11 @@
}
% \end{macrocode}
% \end{macro}%^^A \@ifkomavarempty
-% \end{macro}%^^A \Ifkomavarempty
-% \end{macro}%^^A \ifkomavarempty
+% \end{command}%^^A \ifkomavarempty* … \Ifkomavarempty
+%
%
-% \selectlanguage{english}
-% \begin{macro}{\foreachkomavar}
-% \changes{v3.27}{2019/03/13}{new}%^^A
+% \begin{command}{\foreachkomavar}
+% \changes{v3.27}{2019/03/13}{added}
% Executes \texttt{\#2} for each variable in the comma separated list
% \texttt{\#1}. An argument is appended to \texttt{\#2} which is the current
% variable to be processed. This command is short. So if you want so execute
@@ -436,12 +383,12 @@
}%
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
+%
%
-% \begin{macro}{\foreachkomavarifempty}
-% \changes{v3.27}{2019/03/13}{new}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
+% \begin{command}{\foreachkomavarifempty}
+% \changes{v3.27}{2019/03/13}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}}
% Same like \cs{foreachkomavar} but \texttt{\#2} is called only for empty
% variables and \texttt{\#3} is called for non empty.
% \begin{macrocode}
@@ -458,12 +405,11 @@
}%
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\foreachemptykomavar}
-% \changes{v3.27}{2019/03/13}{new}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
+% \begin{command}{\foreachemptykomavar}
+% \changes{v3.27}{2019/03/13}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}}
% Similar to \cs{foreachemptykomavar} with \texttt{\#3}=\cs{@gobble}.
% \begin{macrocode}
\newcommand*{\foreachemptykomavar}[2]{%
@@ -477,12 +423,11 @@
}%
}
% \end{macrocode}
-% \end{macro}
+% \end{command}
%
-% \begin{macro}{\foreachnonemptykomavar}
-% \changes{v3.27}{2019/03/13}{new}%^^A
-% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty}
-% ersetzt}%^^A
+% \begin{command}{\foreachnonemptykomavar}
+% \changes{v3.27}{2019/03/13}{added}
+% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}}
% Similar to \cs{foreachemptykomavar} with \texttt{\#2}=\cs{@gobble}.
% \begin{macrocode}
\newcommand*{\foreachnonemptykomavar}[2]{%
@@ -495,24 +440,24 @@
\fi
}%
}
+%</body>
% \end{macrocode}
-% \end{macro}
-% \selectlanguage{ngerman}
+% \end{command}
%
-% \iffalse
-%</body>
-% \fi
%
-% \iffalse
+% \begin{macrocode}
%</letter>
-% \fi
-%
+% \end{macrocode}
+%
% \Finale
-%
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-variables.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: