summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-07-19 18:20:09 +0000
committerKarl Berry <karl@freefriends.org>2009-07-19 18:20:09 +0000
commit658051cf9e3a9f7e1a47c3346c3c00997885ae98 (patch)
tree244ecae995fb7636ecad26011ba9a9734bbd7327 /Master/texmf-dist/tex/latex
parent97ea53ff09cc961846648bbba9f2acc716cf8015 (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.sty68
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