diff options
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/properties/readme.de | 24 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/properties/testprop.tex | 61 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/properties/properties.sty | 68 |
3 files changed, 153 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/properties/readme.de b/Master/texmf-dist/doc/latex/properties/readme.de new file mode 100644 index 00000000000..2747bc55396 --- /dev/null +++ b/Master/texmf-dist/doc/latex/properties/readme.de @@ -0,0 +1,24 @@ +% $Id: readme.de 7 2009-06-30 11:07:26Z michael $ +% +% 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 diff --git a/Master/texmf-dist/doc/latex/properties/testprop.tex b/Master/texmf-dist/doc/latex/properties/testprop.tex new file mode 100644 index 00000000000..14a3bb35b4f --- /dev/null +++ b/Master/texmf-dist/doc/latex/properties/testprop.tex @@ -0,0 +1,61 @@ +% UTF8 +% +% $Id: testprop.tex 7 2009-06-30 11:07:26Z michael $ +% +\listfiles +\documentclass[ngerman,a4paper]{scrartcl} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} + +\usepackage{babel,libertine,sverb,ifthen} + +\usepackage{properties} + +\begin{verbwrite}{testprop.properties} +cropmark=true +autor=Michael Niedermair +test=Dies ist ein Test! +\end{verbwrite} +\begin{verbwrite}{testprop.local.properties} +cropmark=newlocal +\end{verbwrite} +\begin{verbwrite}{xxx.properties} +name=Michael Niedermair +\end{verbwrite} +\setlength{\parindent}{0pt} + +\begin{document} + +\section{Paket properties.sty} + +\minisec{Properties \jobname.properties} + +\loadDefaultProperties + + +crop\quad=\quad\getDefaultProperty{cropmark} + +nodef\quad=\quad\getDefaultProperty{notdef} + +autor\quad=\quad\getDefaultProperty{autor} + +test\quad=\quad\getDefaultProperty{test} + +Test auf crop = newlocal: \quad\ifthenelse{\equal{\getDefaultProperty{cropmark}}{newlocal}}{JA}{NEIN}\\ +Test auf crop = local: \quad\ifthenelse{\equal{\getDefaultProperty{cropmark}}{local}}{JA}{NEIN} + +\minisec{Properties xxx.properties} + +\loadOtherProperties{xxx} + +name\quad=\quad\getOtherProperty{xxx}{name} + +\setOtherProperty{xxx}{name}{Michael G. Niedermair} + +Wert setzen: + +new: name\quad=\quad\getOtherProperty{xxx}{name} + +\end{document} + 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 |