diff options
author | Norbert Preining <norbert@preining.info> | 2024-01-31 03:01:01 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-01-31 03:01:01 +0000 |
commit | 79e1bbc1ad6b308aa2074540b2afd43b6a72ce03 (patch) | |
tree | 32074e03eec88cf72e5973ddff176a0534c77dff /macros/lollipop/doc/manual/address.tex | |
parent | 084f5d8435744b7ea7ef487ec111a7bfd100ed62 (diff) |
CTAN sync 202401310301
Diffstat (limited to 'macros/lollipop/doc/manual/address.tex')
-rw-r--r-- | macros/lollipop/doc/manual/address.tex | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/macros/lollipop/doc/manual/address.tex b/macros/lollipop/doc/manual/address.tex deleted file mode 100644 index 3627c90d55..0000000000 --- a/macros/lollipop/doc/manual/address.tex +++ /dev/null @@ -1,186 +0,0 @@ -% address book macros -% copyright 1993 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% -% This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, 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. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program. If not, see <http://www.gnu.org/licenses/>. -% -% -% These macros are based on the Lollipop macro package, -% copyright 1992/3 Victor Eijkhout -% copyright 2014--2016 Vafa Khalighi -% -% Format this file twice to get external files right. -% - -% Some general options. -% Please use another typeface if you have it! -% -\Distance:whitebefore=0pt \Distance:whiteafter=0pt -\AlwaysIndent:no \FlushRight:no -\TypeFace:ComputerSans \PointSize:8 \Style:roman -\def\\{,\Spaces:1 } - -% The page is four columns, no footers etc -% -\DefinePageGrid:ThePage width:page=6.5in height:page=5in - textband:start text white:10pt text white:10pt - text white:10pt text textband:stop Stop - -% The main macro is the text block \Entity, representing one item -% in the address book. -% -\DefineTextBlock:Entity HasTitle:short - whitebefore:{6pt plus 6pt minus 3pt} whiteafter:whitebefore - line:start rule:v={height 7pt width7pt depth0pt} Spaces:2 - Style:italic title line:stop Stop - -% Data in an entity is formatted as a number of headings. -% We declare all headings to be embedded, ie, they form a paragraph. -% The 'nomarks' option is to prevent memory overflow. -% -\OptionsMacro:embed=embedded:yes nomarks - whitebefore:0pt whiteafter:0pt Stop -\DefineHeading:phone HasTitle:short macro:embed - literal:phone : Spaces:1.5 title , Spaces:2 Stop -\DefineHeading:fax HasTitle:short macro:embed - literal:fax : Spaces:1.5 title , Spaces:2 Stop -\DefineHeading:Address HasTitle:short macro:embed - title , Spaces:2 Stop -\DefineHeading:Note HasTitle:short macro:embed - ( title ) Spaces:2 Stop - -% Here's an example of non-standard handling of the title: -% email addresses are set in \tt, and can be broken differently -% -\def\breakemail{\hyphenchar\font=`. } -\DefineHeading:email HasTitle:short macro:embed - begingroup tt breakemail title endgroup , Spaces:2 Stop - -% This is invisible information; maybe later we'll do something -% with it. -\DefineHeading:Route HasTitle:short Stop - -% Here is the first really cute application. -% If a person is declared to be \At a certain company, then -% that fact is written out to an external file, which can be loaded -% later. -% -\DefineExternalFile:companies=ats -\def\WorksAt{Works at: } -\DefineHeading:At macro:embed - HasTitle:short WorksAt title Spaces:2 - external:companies title unhskip title:Entity unhskip external:stop Stop -% When the 'companies' file gets loaded the title only gets -% parsed by the macro \CompNam, and nothing else happens. -% The title is split into company and person; #1 becomes the name -% of a list to which #2 is added. -% -\def\CompNam#1\unhskip#2\unhskip{ - \if\UndefinedCS{#1}\NewList:{#1} \fi - \AppendToList:#1={#2\unhskip, } } -\DefineExternalItem:At file:companies - expandafter CompNam title Stop -% The company lists are later simply loaded; see below. - -% Even more complicated: birthdays. -% All birthdays are written to an external file. -% -\DefineExternalFile:births=brt -\DefineHeading:birthday HasTitle:short macro:embed - literal:Born : title Spaces:2 - external:births title unhskip title:Entity unhskip external:stop Stop -% Later every month becomes something like an entity; -% here is how we generate a token list for each month. -% -\def\month#1{\ifcase#1\or jan\or feb\or mar\or apr\or may\or jun\or - jul\or aug\or sep\or oct\or nov\or dec\fi} -\tempcounta=1 \loop\ifnum\tempcounta<13 - \xp\NewList\xp:\xp{\month\tempcounta} - \advance\tempcounta1 \repeat -% Formatting the caboodle means: -% -- loading the 'births' file -% -- formatting each month separately by \OneMonth -% which is essentially a call to the text block \Month -% -\def\AllBirths{\LoadExternalFile:births - \tempcounta=1 \loop\ifnum\tempcounta<13 - \OneMonth \advance\tempcounta1 \repeat} -\def\OneMonth{\xp\Month\month\tempcounta\par - \TheList:{\month\tempcounta} \>} -% Month is much like \Entity, just a bit different visually. -% -\DefineTextBlock:Month - whitebefore:{6pt plus 6pt minus 3pt} whiteafter:whitebefore - line:start rule:v={height 7pt width7pt depth0pt} Spaces:2 - Style:italic title Spaces:2 - fillup rule:v={height 7pt width7pt depth0pt} line:stop - Stop -% When the external file is loaded, every birthday is processed -% by \BirNam which splits it into #1 year #2 month #3 day and -% #4 person's name. This is then written to the list for the -% appropriate month. -% -\def\BirNam#1 #2 #3\unhskip #4\unhskip - {\tempcounta#2\relax - \AppendToList:{\month\tempcounta}={\JollyFellow #3 #4 (#1)\par} - } -\DefineExternalItem:birthday file:births - expandafter BirNam title Stop -\DefineHeading:JollyFellow title nomarks Stop - -% Phooeew! Now we can get down to business! - -\WriteExtern:yes -\Start -\LoadExternalFile:companies - -\Entity Adam Aardvark -\Address Page~1, English Language Dictionary -\> - -\Entity Barbara Beeton -\At Tugbt -\Note Editor in chief -\> - -\Entity Jane Doe -\email doe@re.mi.sol -\> - -\Entity John Doe -\phone +1 212 555 4141 -\> - -\Entity Victor Eijkhout -\Address Department of Computer Science, University of Tennessee -\phone +1 615 974 8298 -\At Tugbt -\Note merely associate editor -\email eijkhout@cs.utk.edu -\birthday 1959 11 29 -\> - -\Entity Elvis Presley -\birthday 1938(?) 01 08 -\> - -\Entity Tugboat -\TheList:Tugbt -\> - -\AllBirths - -\Stop - |