<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% UTF8
%
% Paket fuer Properties
%
% Properties-Datei laden:
% \loadDefaultProperties    lﾃ､dt Datei \jobname.properties und
%                           falls vorhanden \jobname.local.properties
%                           dabei werden die vorher definierten Werte ﾃｼberschrieben.
% \loadOtherProperties{xxx} lﾃ､dt Datei xxx.properties und
%                           falls vorhanden xxx.local.properties
%                           dabei werden die vorher definierten Werte ﾃｼberschrieben.
%
% Werte ermitteln:
% \getDefaultProperty{key}       ermittelt den Wert fﾃｼr key.
% \getOtherProperty{xxx}{key}    ermittelt den Wert fﾃｼr key und verwendet
%                                dabei xxx.properties.
%
% Werte setzen:
% \setDefaultProperty{key}{value}     setzt fﾃｼr key den Wert value.
% \setOtherProperty{xxx}{key}{value}  setzt fﾃｼr key den Wert value und verwendet
%                                     dabei xxx.properties.
%
% (c) Michael Niedermair (m.g.n@gmx.de)
%
% Lizenz: LaTeX Project Public License
%
% $Id: properties.sty 7 2009-06-30 11:07:26Z michael $
%
% -------------------------------------
\ProvidesPackage{properties}[%
   2009/06/30 v0.2 Properties (Nm)]
%
\RequirePackage{datatool}
%
\newcommand*\PROP@jobname{\jobname}
\newcommand*\PROP@extension{properties}
\newcommand*\PROP@local{local}
%
% #1 name
% #2 filename
\newcommand*\PROP@loadProperties[2]{%
  \IfFileExists{#2.\PROP@extension}{%
    \PackageInfo{properties}{Loading #2.\PROP@extension}%
    \DTLsetseparator{=}%
    \DTLloaddb[noheader,keys={key,value}]{#2}{#2.\PROP@extension}%
    \DTLforeach{#2}{\PROP@key=key,\PROP@value=value}{%
      \edef\@tempa{\noexpand\@namedef{#1@\PROP@key}{\PROP@value}}%
      \@tempa%
    }%
  }{%
    \PackageInfo{properties}{#2.\PROP@extension\space not found}%
  }%
}%
%
\newcommand*\loadDefaultProperties{%
  \loadOtherProperties{\PROP@jobname}%
}
\newcommand*\loadOtherProperties[1]{%
  \PROP@loadProperties{#1}{#1}%
  \PROP@loadProperties{#1}{#1.\PROP@local}%
}
%
\newcommand*\getDefaultProperty[1]{\getOtherProperty{\PROP@jobname}{#1}}
\newcommand*\setDefaultProperty[2]{\setOtherProperty{\PROP@jobname}{#1}{#2}}
\newcommand*\getOtherProperty[2]{\@nameuse{#1@#2}}
\newcommand*\setOtherProperty[3]{\@namedef{#1@#2}{#3}}
%
\endinput
</pre></body></html>