diff options
author | Karl Berry <karl@freefriends.org> | 2009-07-19 18:20:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-07-19 18:20:09 +0000 |
commit | 658051cf9e3a9f7e1a47c3346c3c00997885ae98 (patch) | |
tree | 244ecae995fb7636ecad26011ba9a9734bbd7327 /Master/texmf-dist/tex/latex | |
parent | 97ea53ff09cc961846648bbba9f2acc716cf8015 (diff) |
new latex package properties (12jul09)
git-svn-id: svn://tug.org/texlive/trunk@14321 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/properties/properties.sty | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/properties/properties.sty b/Master/texmf-dist/tex/latex/properties/properties.sty new file mode 100644 index 00000000000..458b707fc59 --- /dev/null +++ b/Master/texmf-dist/tex/latex/properties/properties.sty @@ -0,0 +1,68 @@ +% 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 |