From 3ba97cfb6b13172c9087ba57a49fe8266002cbfb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 26 Sep 2009 23:27:35 +0000 Subject: new latex package mailmerge v1 (25sep09) git-svn-id: svn://tug.org/texlive/trunk@15475 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/mailmerge/mailmerge.sty | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/mailmerge/mailmerge.sty (limited to 'Master/texmf-dist/tex/latex/mailmerge') diff --git a/Master/texmf-dist/tex/latex/mailmerge/mailmerge.sty b/Master/texmf-dist/tex/latex/mailmerge/mailmerge.sty new file mode 100644 index 00000000000..17b49d75ac3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mailmerge/mailmerge.sty @@ -0,0 +1,89 @@ +%% +%% This is file `mailmerge.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mailmerge.dtx +%% +%% Copyright (C) 2009 Miguel V. S. Frasson (mvsfrasson@gmail.com) +%% +%% This file is part of the `mailmerge' package. +%% +%% This package may be distributed under the terms of the LaTeX +%% Project Public License, as described in lppl.txt in the base +%% LaTeX distribution, either version 1.2 or (at your option) +%% any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% \CheckSum{108} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mailmerge}[2009/09/23 v1.0 repeat amount of text merging fields] +\RequirePackage{ifthen} +\def\MAILMcurrtag{} +\newtoks\MAILMtok +\newcounter{MAILMcount}% aux counter +\newcounter{MAILMentry}% +\newcommand{\mailnewdata}{% + \setcounter{MAILMentry}{0}% + \xdef\MAILMcurrtag{a\MAILMcurrtag}} +\mailnewdata +\newcommand{\mailrepeat}[1]{\gdef\MAILMrepetition{#1}} +\newcommand{\MAILMsetnumfields}[2] + {\expandafter\xdef\csname MAILMnumberoffields#1\endcsname{#2}} +\newcommand{\MAILMsetnumentries}[2] + {\expandafter\xdef\csname MAILMnumberofentries#1\endcsname{#2}} +\newcommand{\numberoffields} + {\csname MAILMnumberoffields\MAILMcurrtag\endcsname} +\newcommand{\numberofentries} + {\csname MAILMnumberofentries\MAILMcurrtag\endcsname} +\newcommand{\mailfields}[1]{% + \setcounter{MAILMcount}{0}% + \@for\MAILMaux:=#1\do{% + \edef\MAILMaux{\expandafter\@firstofone\MAILMaux\@empty}% + \stepcounter{MAILMcount}% + \expandafter\edef\csname MAILMfield\Roman{MAILMcount}\endcsname + {\MAILMaux}% + \edef\numberoffields{\arabic{MAILMcount}}% + }% + \immediate\write\@mainaux{\string\MAILMsetnumfields + {\MAILMcurrtag}{\theMAILMcount}}% +} +\newcommand{\field}[1]{\csname MAILMthefield#1\endcsname} +\newcommand{\mailentry}[1]{% + \stepcounter{MAILMentry}% + \edef\entrynumber{\theMAILMentry}% + \immediate\write\@mainaux{\string\MAILMsetnumentries + {\MAILMcurrtag}{\theMAILMentry}}% + \setcounter{MAILMcount}{0}% + \@for\MAILMentryfield:=#1\do{% + \MAILMtok=\expandafter{\MAILMentryfield}% + \stepcounter{MAILMcount}% + \expandafter\long\expandafter\edef + \csname MAILMthefield% + \csname MAILMfield\Roman{MAILMcount}\endcsname + \endcsname {\the\MAILMtok}% + }% + \MAILMrepetition +} +%% \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 \~} +\endinput +%% +%% End of file `mailmerge.sty'. -- cgit v1.2.3