summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/Entries15
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/README42
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/Repository1
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/Root1
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/doc/letter.tex21
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/inst3
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/isodoc.pdfbin922748 -> 880544 bytes
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/isontg.sty10
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/isowybo.sty10
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/language_template.tex45
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/letter.tex65
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/logoletter.tex10
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/logostyle.sty28
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/ltxdoc.cfg9
-rw-r--r--Master/texmf-dist/doc/latex/isodoc/mystyle.sty6
-rw-r--r--Master/texmf-dist/source/latex/isodoc/isodoc.dtx837
-rw-r--r--Master/texmf-dist/source/latex/isodoc/isodoc_letterpaper.dtx2147
-rw-r--r--Master/texmf-dist/tex/latex/isodoc/isodoc.cls689
18 files changed, 3278 insertions, 661 deletions
diff --git a/Master/texmf-dist/doc/latex/isodoc/Entries b/Master/texmf-dist/doc/latex/isodoc/Entries
new file mode 100644
index 00000000000..a0a20bd69e3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/isodoc/Entries
@@ -0,0 +1,15 @@
+/accept.tex/1.7/Fri Jan 1 21:46:57 2010//
+/binaries.m64/1.5/Fri Jan 1 21:51:26 2010//
+/invoice.tex/1.2/Sun Nov 5 15:38:52 2006//
+/listkeys/1.4/Fri Jan 1 21:59:42 2010//
+/ltxdoc.cfg/1.1/Mon Jan 11 20:50:43 2010//
+/ntgletter.tex/1.2/Sun Nov 5 15:39:16 2006//
+/typo/1.3/Sat Jan 2 16:50:16 2010//
+/inst/1.17/Sat Aug 21 15:26:13 2010//
+/isontg.sty/1.10/Tue Aug 24 19:20:55 2010//
+/isowybo.sty/1.8/Tue Aug 24 19:20:55 2010//
+/mystyle.sty/1.6/Tue Aug 24 19:20:55 2010//
+/logostyle.sty/1.6/Tue Aug 24 19:23:57 2010//
+/logoletter.tex/1.5/Tue Aug 24 19:24:45 2010//
+/letter.tex/1.4/Tue Aug 24 19:26:39 2010//
+D
diff --git a/Master/texmf-dist/doc/latex/isodoc/README b/Master/texmf-dist/doc/latex/isodoc/README
index 2e1e74246fa..0d5c85cebf3 100644
--- a/Master/texmf-dist/doc/latex/isodoc/README
+++ b/Master/texmf-dist/doc/latex/isodoc/README
@@ -1,4 +1,4 @@
-This is version 0.7 of the isodoc class
+This is version 0.8 of the isodoc class
License: LPPL
The isodoc class can be used for the preparation of letters,
@@ -8,18 +8,30 @@ wishes and extensible for other document types.
Victor Eijkhout’s NTG brief class, which implements the NEN1026
standard, was the starting point.
-major changesof v0.7 relative to v0.6:
-- using eurosym package instead of marvosym;
-- using frenchb package instead of french;
-- added addresswidth option, default stays 2 cols;
-- changes suggested by Fabrice Niessen (thanks!):
-- added header/noheader options;
-- added bodyshift option;
-- date format can be yyyy-mm-dd or a literal `today';
-- added forcedate option to enter anything for date;
-- added foldleft and foldright options, default stays right;
-- headingcolor, if defined, colors fancy headings;
-- headcolor, if defined, colors headings in header and footer;
-- foldmarkcolor, if defined, colors foldmark
+major changes of v0.8 relative to v0.7:
+- now compatible with XeLaTeX
+- made independent of babel/polyglossia packages: user must \Require those, if needed
+- handling of font and encoding now left to the user
+- language names same as in babel (norwegian -> norsk)
+- option language added
+- option english is synonym for language=UKenglish
+- option american is synonym for language=USenglish
+- language options /only/ change keyword translations
+- new translations added: italian, spanish, catalan, serbian
+- option fontpackage removed
+- option cityzip moves zip behind city
+- now compatible with XeLaTeX
+- made independent of babel/polyglossia packages: user must \Require those, if needed
+- handling of font and encoding now left to the user
+- language names same as in babel (norwegian -> norsk)
+- option language added
+- option english is synonym for language=UKenglish
+- option american is synonym for language=USenglish
+- language options /only/ change keyword translations
+- new translations added: italian, spanish, catalan, serbian
+- option fontpackage removed
+- option cityzip moves zip behind city
+- positioning of headings, subject, opening, body text fixed
+- repaired several minor bugs
-$Id: README,v 1.5 2010-01-02 17:04:01 wybo Exp $
+$Id: README,v 1.6 2010-08-24 19:56:44 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/Repository b/Master/texmf-dist/doc/latex/isodoc/Repository
new file mode 100644
index 00000000000..ef401f13adb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/isodoc/Repository
@@ -0,0 +1 @@
+isodoc/doc
diff --git a/Master/texmf-dist/doc/latex/isodoc/Root b/Master/texmf-dist/doc/latex/isodoc/Root
new file mode 100644
index 00000000000..646e7b03ec4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/isodoc/Root
@@ -0,0 +1 @@
+/home/wybo/CVS
diff --git a/Master/texmf-dist/doc/latex/isodoc/doc/letter.tex b/Master/texmf-dist/doc/latex/isodoc/doc/letter.tex
new file mode 100644
index 00000000000..3a7518da2b0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/isodoc/doc/letter.tex
@@ -0,0 +1,21 @@
+\documentclass[11pt]{isodoc}
+\usepackage{mystyle}
+\definecolor{headcolor}{gray}{.5}
+\setupdocument{
+ to = {TeX Users Group\\
+ 1466 NW Naito Parkway, Suite 3141\\
+ Portland, OR 97208-2311\\
+ U.S.A
+ },
+ ourref = 1029,
+ enclosures = isodoc documentation\\LPPL documentation,
+ subject = An example letter using the isodoc class,
+ autograph = 2,
+}
+
+\begin{document}
+\letter[language=italian]{This letter was composed using the \LaTeX{} isodoc class.
+ \par\input{thuan} % for some body
+}
+\end{document}
+$Id: letter.tex,v 1.4 2010-08-24 19:26:39 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/inst b/Master/texmf-dist/doc/latex/isodoc/inst
index 9f8ffff2b3e..74e7566223f 100644
--- a/Master/texmf-dist/doc/latex/isodoc/inst
+++ b/Master/texmf-dist/doc/latex/isodoc/inst
@@ -80,6 +80,7 @@ zip)
echo y |tex $NAME.ins >/dev/null
for i in *.tex; do
+ echo ___________ $i ___________
mk --noview --noprint $i
done
vpp --noview --batch='1 ologo1' logoletter.pdf
@@ -103,4 +104,4 @@ zip)
exit 1
;;
esac
-# $Id: inst,v 1.16 2010-01-02 16:52:07 wybo Exp $
+# $Id: inst,v 1.17 2010-08-21 15:26:13 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/isodoc.pdf b/Master/texmf-dist/doc/latex/isodoc/isodoc.pdf
index 9ea6842f098..003a54706fc 100644
--- a/Master/texmf-dist/doc/latex/isodoc/isodoc.pdf
+++ b/Master/texmf-dist/doc/latex/isodoc/isodoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/isodoc/isontg.sty b/Master/texmf-dist/doc/latex/isodoc/isontg.sty
index 95a4a7355fd..3930410caca 100644
--- a/Master/texmf-dist/doc/latex/isodoc/isontg.sty
+++ b/Master/texmf-dist/doc/latex/isodoc/isontg.sty
@@ -1,3 +1,10 @@
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{isontg}
+ [2010/08/21 v1.1 NTG style file for isodoc]
+\RequirePackage[english,dutch]{babel}
+\RequirePackage{ucs}\RequirePackage[utf8x]{inputenc}
+\RequirePackage{pxfonts}
+
\setupdocument{%
accountname = NTG,
accountno = 1306238,
@@ -13,7 +20,6 @@ dutch,
email = wybo@servalys.nl,
fax = 842--23\,43\,93,
fold3,
-fontpackage = pxfonts,
footer,
iban = nl05pstb0001306238,
opening = L.S.,
@@ -50,4 +56,4 @@ cityzip
\end{textblock}
}
\endinput
-$Id: isontg.sty,v 1.9 2010-01-01 21:50:59 wybo Exp $
+$Id: isontg.sty,v 1.10 2010-08-24 19:20:55 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/isowybo.sty b/Master/texmf-dist/doc/latex/isodoc/isowybo.sty
index e5f1585d927..c57778ab4d6 100644
--- a/Master/texmf-dist/doc/latex/isodoc/isowybo.sty
+++ b/Master/texmf-dist/doc/latex/isodoc/isowybo.sty
@@ -1,3 +1,10 @@
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{isowybo}
+ [2010/08/21 v1.1 example style for isodoc]
+\RequirePackage[english,dutch]{babel}
+\RequirePackage{ucs}\RequirePackage[utf8x]{inputenc}
+\RequirePackage{pxfonts}
+
\setupdocument{%
accountname = W.H.\ Dekker,
accountno = 304046221,
@@ -14,7 +21,6 @@ dutch,
email = wybo@servalys.nl,
fax = 842--234393,
fold3,
-fontpackage = pxfonts,
footer,
iban = nl94rabo0304046221,
opening = L.S.,
@@ -31,4 +37,4 @@ zip = 4158 CH,
\autograph{2}{.15}{82bp}{15bp}{290bp}{370bp}{signw.png}
\autograph{3}{.20}{65bp}{61bp}{263bp}{260bp}{signws.png}
\endinput
-$Id: isowybo.sty,v 1.7 2010-01-01 21:52:46 wybo Exp $
+$Id: isowybo.sty,v 1.8 2010-08-24 19:20:55 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/language_template.tex b/Master/texmf-dist/doc/latex/isodoc/language_template.tex
new file mode 100644
index 00000000000..fed8b5ac7b7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/isodoc/language_template.tex
@@ -0,0 +1,45 @@
+\def\japanesedoc{%
+ \set@lang{japanese}
+ \gdef\Totaltext {...}{ % Total
+ \gdef\Vattext {...}{ % Vat
+ \gdef\accountdatatext {...}{ % Banking data
+ \gdef\accountnametext {...}{ % in the name of
+ \gdef\accountnotext {...}{ % Account no.
+ \gdef\amounttext {...}{ % Amount
+ \gdef\ccname {...}{ % cc
+ \gdef\cellphonetext {...}{ % cellphone
+ \gdef\chambertext {...}{ % ch.comm.
+ \gdef\datetext {...}{ % Date
+ \gdef\daystext {...}{ % days
+ \gdef\descriptiontext {...}{ % Description
+ \gdef\emailtext {...}{ % email
+ \gdef\enclosurestext {...}{ % Enclosures:
+ \gdef\enclosuretext {...}{ % Enclosure:
+ \gdef\faxtext {...}{ % telefax
+ \gdef\invoicetext {...}{ % \textbf{\textsc{\Large invoice}}
+ \gdef\oftext {...}{ % of
+ \gdef\ourreftext {...}{ % Our reference
+ \gdef\pagetext {...}{ % Page
+ \gdef\phonetext {...}{ % telephone
+ \gdef\referencetext {...}{ % Reference
+ \gdef\routenotext {...}{ % Routing no
+ \gdef\subjecttext {...}{ % Subject:
+ \gdef\termtext {...}{ % term of payment
+ \gdef\totext {...}{ % To
+ \gdef\vatnotext {...}{ % vat no.
+ \gdef\websitetext {...}{ % website
+ \gdef\yourlettertext {...}{ % Your letter of
+ \gdef\yourreftext {...}{ % Your reference
+ \gdef\date{\ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
+ 11th\or 12th\or 13th\or 14th\or 15th\or
+ 16th\or 17th\or 18th\or 19th\or 20th\or
+ 21st\or 22nd\or 23rd\or 24th\or 25th\or
+ 26th\or 27th\or 28th\or 29th\or 30th\or
+ 31st\fi\space\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space \number\year}
+}
+% $Id: language_template.tex,v 1.1 2010-08-20 14:46:23 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/letter.tex b/Master/texmf-dist/doc/latex/isodoc/letter.tex
index e495991e532..1a06daa2fbc 100644
--- a/Master/texmf-dist/doc/latex/isodoc/letter.tex
+++ b/Master/texmf-dist/doc/latex/isodoc/letter.tex
@@ -1,21 +1,56 @@
-\documentclass[11pt]{isodoc}
-\usepackage{mystyle}
-\definecolor{headcolor}{gray}{.5}
+\documentclass[10pt]{isodoc}
+\usepackage[english,dutch]{babel}
\setupdocument{
- to = {TeX Users Group\\
- 1466 NW Naito Parkway, Suite 3141\\
- Portland, OR 97208-2311\\
- U.S.A
- },
- ourref = 1029,
+ yourletter = 1 Marzo 2010,
+ yourref = 4532,
+ ourref = 1029,
+ date = 20100325,
+ opening = Egregi signori,
+ closing = Cordiali saluti,
enclosures = isodoc documentation\\LPPL documentation,
- subject = An example letter using the isodoc class,
- autograph = 2,
+ subject = Esempio di lettera che utilizza isodoc.cls,
+%noheader,
+ autograph = 1,
+ language = italian,
+ company = Wybo Dekker,
+ street = Deilsedijk 60,
+ zip = 4158 CH,
+ city = Deil,
+ country= The Netherlands,
+ who = {},
+ email = wybo@servalys.nl,
+%bodyshift = 10,
+ footer
}
\begin{document}
-\letter{This letter was composed using the \LaTeX{} isodoc class.
- \par\input{thuan} % for some body
-}
+\letter[
+ signature = Wybo,
+ to = {TeX Users Group\\
+ 1466 NW Naito Parkway, Suite 3141\\
+ Portland, OR 97208-2311\\
+ U.S.A
+ },
+]{ \par\input{thuan} }
+
+\selectlanguage{english}
+\letter[english,
+ signature = Wybo,
+ to = {TeX Users Group\\
+ 1466 NW Naito Parkway, Suite 3141\\
+ Portland, OR 97208-2311\\
+ U.S.A
+ },
+]{ \par\input{thuan} }
+
+\selectlanguage{dutch}
+\letter[dutch,
+ signature = Wybo,
+ to = {TeX Users Group\\
+ 1466 NW Naito Parkway, Suite 3141\\
+ Portland, OR 97208-2311\\
+ U.S.A
+ },
+]{ \par\input{sample-dutch} }
\end{document}
-$Id: letter.tex,v 1.3 2010-01-01 21:53:28 wybo Exp $
+$Id: letter.tex,v 1.2 2006-11-05 15:49:44 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/logoletter.tex b/Master/texmf-dist/doc/latex/isodoc/logoletter.tex
index 4907d96c378..9d8bdb2deea 100644
--- a/Master/texmf-dist/doc/latex/isodoc/logoletter.tex
+++ b/Master/texmf-dist/doc/latex/isodoc/logoletter.tex
@@ -1,3 +1,4 @@
+%!xelatex
\documentclass[11pt,twoside]{isodoc}
\usepackage{logostyle}
\setupdocument{
@@ -13,13 +14,18 @@ enclosures = Isodoc documentatie,
}
\newcommand{\letterbody}{%
This is an example of a letter made with the isodoc class.
+ It has been compiled with XeLaTeX.
Note that the date was set to `today', so the date above the
letter depends upon the day of compilation.
The picture in the logo was designed by Pieter Weltevrede.
+ The text in the logo is Chopin Script, the body text is MinionPro Regular.
The text\footnote{gathered from the \TeX-distribution} has no meaning,
its only goal is to get a long letter.
- \par\input{typo}
+ % It's in dutch, so we select that language:
+ \begin{dutch}
+ \par\input{typo}
+ \end{dutch}
}
\begin{document}
@@ -34,4 +40,4 @@ enclosures = Isodoc documentatie,
opening = Beste Taco
]{\letterbody}
\end{document}
-$Id: logoletter.tex,v 1.4 2010-01-01 22:00:26 wybo Exp $
+$Id: logoletter.tex,v 1.5 2010-08-24 19:24:45 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/logostyle.sty b/Master/texmf-dist/doc/latex/isodoc/logostyle.sty
index e683478bb6f..ebe00df5e05 100644
--- a/Master/texmf-dist/doc/latex/isodoc/logostyle.sty
+++ b/Master/texmf-dist/doc/latex/isodoc/logostyle.sty
@@ -1,7 +1,9 @@
-\RequirePackage{ucs}
-\RequirePackage[utf8x]{inputenc}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{logostyle}
+ [2010/08/21 v1.1 Shiva Shakti style file for isodoc]
+\usepackage{fontspec,polyglossia}
\setupdocument{
- nofooter,fold2,autograph=1,dutch,
+ nofooter,fold2,autograph=1,
company = The Shiva Shakti Foundation,
who = Wybo Dekker,
street = Deilsedijk 60,
@@ -26,28 +28,26 @@
\definecolor{headcolor}{rgb}{0.42, 0.57, 0.14} % goldenrod2
\definecolor{shivablue}{rgb}{.14,.33,.43}
\definecolor{shivaback}{rgb}{.78,.89,.68}
-\pdfmapfile{=chopinsc.map}
-\newcommand{\chopinscript}{\fontfamily{chopinscript}\selectfont}
-\DeclareFontFamily{T1}{chopinscript}{}
-\DeclareFontShape{T1}{chopinscript}{m}{n}{ <-> chopinsc}{}
\graphicspath{{./graphics/}}
\renewcommand{\logo}{
\pagecolor{shivaback}
+ \begin{textblock}{2}(10,13)
+ \includegraphics[scale=.3]{shiva_shakti.jpg}
+ \end{textblock}
\begin{textblock}{105}(88,15)
\begin{center}
- \chopinscript{%
- \Huge\noindent\textcolor{shivablue}{The Shiva Shakti Foundation}
- }\\[2ex]
+ \fontspec{ChopinScript}
+ {\Huge\noindent\textcolor{shivablue}{The Shiva Shakti Foundation}}\\[2ex]
Main Building\quad
567\textsuperscript{th} floor\quad
Room 123\quad
Bangkok
\end{center}
\end{textblock}
- \begin{textblock}{2}(10,13)
- \includegraphics[scale=.3]{shiva_shakti.jpg}
- \end{textblock}
}
+\setmainfont[Mapping=tex-text]{MinionPro-Regular}
+\setdefaultlanguage{english}
+\setotherlanguage{dutch}
\endinput
-$Id: logostyle.sty,v 1.5 2010-01-01 22:02:21 wybo Exp $
+$Id: logostyle.sty,v 1.6 2010-08-24 19:23:57 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/ltxdoc.cfg b/Master/texmf-dist/doc/latex/isodoc/ltxdoc.cfg
new file mode 100644
index 00000000000..d8f9d74d71b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/isodoc/ltxdoc.cfg
@@ -0,0 +1,9 @@
+\PassOptionsToClass{a4paper}{article}
+\AtBeginDocument{\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry}
+ \usepackage{txfonts}\pdfprotrudechars=1}
+%\AtBeginDocument{\OnlyDescription}
+\AtBeginDocument{\RecordChanges}
+\AtBeginDocument{\CodelineIndex\EnableCrossrefs}
+\AtEndDocument{\PrintChanges}
+\AtEndDocument{\PrintIndex}
+%$Id: ltxdoc.cfg,v 1.1 2010-01-11 20:50:43 wybo Exp $
diff --git a/Master/texmf-dist/doc/latex/isodoc/mystyle.sty b/Master/texmf-dist/doc/latex/isodoc/mystyle.sty
index a2e2fe517ba..4eb97d6d06f 100644
--- a/Master/texmf-dist/doc/latex/isodoc/mystyle.sty
+++ b/Master/texmf-dist/doc/latex/isodoc/mystyle.sty
@@ -1,9 +1,9 @@
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{mystyle}
- [2006/04/04 v1.0 Letter Company style file for isodoc]
+ [2010/08/21 v1.1 Letter Company style file for isodoc]
+\RequirePackage{pxfonts}
\setupdocument{return,footer,fold3,
- fontpackage = pxfonts,
autograph = 0,
company = The Letter Company,
returnaddress = Letter Cy\\Deilsedijk 60\\Deil,
@@ -31,4 +31,4 @@
\graphicspath{{./graphics/}}
\autograph{2}{.30}{75bp}{87bp}{216bp}{261bp}{signw_marked}
\endinput
-$Id: mystyle.sty,v 1.5 2007-09-02 09:35:59 wybo Exp $
+$Id: mystyle.sty,v 1.6 2010-08-24 19:20:55 wybo Exp $
diff --git a/Master/texmf-dist/source/latex/isodoc/isodoc.dtx b/Master/texmf-dist/source/latex/isodoc/isodoc.dtx
index 0f725ef2ec9..f59c2396af1 100644
--- a/Master/texmf-dist/source/latex/isodoc/isodoc.dtx
+++ b/Master/texmf-dist/source/latex/isodoc/isodoc.dtx
@@ -22,18 +22,16 @@
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{isodoc}%
%<*class>
- [2009/11/16 v0.7 isodoc class for letters and invoices]
+ [2010/08/25 v0.8 isodoc class for letters and invoices]
%</class>
-%<class>\ifnum\pdfoutput=1\else\ClassError{isodoc}{Compile me with pdflatex!}{}
-%<class>\fi
+%<class>\ifx\pdfoutput\undefined\else%
+%<class>\ifnum\pdfoutput=1\else\ClassError{isodoc}{Compile me with pdflatex or xelatex!}{}
+%<class>\fi\fi
%<*driver>
\documentclass{ltxdoc}
-\usepackage[a4paper,margin=25mm,left=50mm,nohead]{geometry}
-\usepackage{txfonts}\pdfprotrudechars=1
\usepackage[l2tabu,orthodox]{nag}
\usepackage{ctable,pdfpages,paralist,eurosym,sverb,ltablex}
\parindent0pt\parskip1ex
-\EnableCrossrefs
\PageIndex
\IndexPrologue{\section*{Index}}
\newcommand{\FIG}[3]{ % pdfname label caption
@@ -54,12 +52,11 @@
\def\CMP#1{\C{#1}\marginpar{\C{#1}}}
\begin{document}
\DocInput{isodoc.dtx}
- \PrintIndex
\end{document}
%</driver>
% \fi
%
-% \CheckSum{1941}
+% \CheckSum{2301}
%
% \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
@@ -139,7 +136,7 @@
% \lastpage@putlabel, \let, \long, \multicolumn, \newcommand, \newcount,
% \newdimen, \newenvironment, \newif, \newlabel, \noindent, \number, \o, \or,
% \pageref, \pagestyle, \paperheight, \paperwidth, \par, \parindent, \parskip,
-% \pdfinfo, \pdfprotrudechars, \qquad, \quad, \raggedright, \raisebox, \relax,
+% \pdfinfo, \qquad, \quad, \raggedright, \raisebox, \relax,
% \rightskip, \rule, \scriptsize, \scshape, \selectlanguage, \setbox,
% \setcounter, \setkeys, \sffamily, \space, \string, \tbfigures, \textbf,
% \textbullet, \thepage, \thispagestyle, \undefined, \unskip, \usepackage,
@@ -238,25 +235,27 @@
% source, although several will normally only be used in style files (such as
% |company|) and some only in the document source (such as |to| or |opening|).
%
-% \OPTS{Language}{Currently only a few languages are defined. As I am not particularly
+% \OPTS{Language}{The options described here relate to the language used
+% for the isodoc interface (headings, footings, date, banking data and so
+% on.) This language is independent of the language you set with the |babel|
+% or |polyglossia| packages. So, for example, you can write your document in english and
+% use dutch for the interface. Also, use of |babel| or |polyglossia| is not required.
+%
+% Currently only a few interface languages are defined. As I am not particularly
% strong in the translation of administrative terminology, please feel free to
% send me corrections. And if you don't find your own language here, please send
-% me your translations and your language will be added. The keywords below set
-% the language, English is used by default.}{
-% \T{dutch} & Set language to Dutch, \NN
-% \T{english} & English,\NN
-% \T{german} & German,\NN
-% \T{american} & American,\NN
-% \T{norwegian} & Norwegian,\NN
-% \T{french} & or French.\NN
-% \T{foreign} & Use this key if you send your letter to a foreign
-% country. With it, your country will be added to
-% return and logo addresses, your zip code will be
-% prefixed with your country code, telephone numbers will
-% be prefixed with +31-- (or whatever your \T{areacode}
-% option has been set to) instead of just a 0. In
-% the \C{accountdata} command, it causes \textsc{iban} en
-% \textsc{bic} code to be included.\NN
+% me your translations and your language will be added.
+%
+% The options below set the language, UKenglish is used by default. Preferably, the |language|
+% option should be used; the other options are there for compatibility with earlier versions.}{
+% \T{language = ...} & sets the interface language to any language defined by the class.
+% Currently these are: UKenglish, USenglish, french, german, dutch,
+% italian, spanish, catalan, norsk, serbian\NN
+% \T{dutch} & a synonym for |language = dutch|, \NN
+% \T{english} & a synonym for |language = UKenglish|,\NN
+% \T{german} & a synonym for |language = german|,\NN
+% \T{american} & a synonym for |language = USenglish|,\NN
+% \T{french} & a synonym for |language = french|.\NN
% }
%
% \OPTS{Logo}{Information about the sender is defined here. The logo, by
@@ -284,6 +283,15 @@
% key was used.\NN
% \T{countrycode = ...}& Sender's country code. For The Netherlands: NL\NN
% \T{areacode = ...} & Sender's area code. For The Netherlands: 31\NN
+% \T{foreign} & Use this key if you send your letter to a foreign
+% country. With it, your country will be added to
+% return and logo addresses, your zip code will be
+% prefixed with your country code, telephone numbers will
+% be prefixed with +31-- (or whatever your \T{areacode}
+% option has been set to) instead of just a 0. In
+% the \C{accountdata} command, it causes \textsc{iban} en
+% \textsc{bic} code to be included, unless the |localbank|
+% option is used.\NN
% }
%
% \OPTS{Address window}{The addressee's address is printed in a window. The
@@ -324,6 +332,7 @@
% bullets.\NN
% }
%
+% \pagebreak
% \OPTS{Header fields}{Under the address window, a header is printed. The
% page is vertically divided in six columns, one each for the left and right
% margins, and four which, in the header,
@@ -360,7 +369,6 @@
% third fields.\NN
% }
%
-% \pagebreak %%%
% \OPTS{Opening and Closing}{A letter is started with an opening -- something
% like `Dear John', and ended with a closing -- something like
% `Regards,\T{<newline>}Betty', perhaps with an autograph (or white space) in between.}{
@@ -399,8 +407,8 @@
% \T{[no]footer} & enables or disables printing a page footer; there is room
% for upto four fields, if you set five fields, the last
% one will appear in the right margin.\NN
-% \T{phoneprefix} & prefix for phone numbers. The default is `0'; will be changed
-% into `+$<$areacode$>$-' if the \T{foreign} option is used.\NN
+% \T{phoneprefix} & prefix for phone numbers. The default is `0'; will be changed
+% into `+$<$areacode$>$-' if the \T{foreign} option is used.\NN
% \T{phone = ...} & if not empty, prints `phone' in the first field of the
% page footer, with the contents under it, prefixed with a~0 or,
% if the \T{foreign} option was used, the areacode (set with the
@@ -464,9 +472,6 @@
% \T{[no]fill} & Use the \T{fill} keyword to justify text both left and
% right; the default is \T{nofill}: left justification
% only.\NN
-% \T{fontpackage = ...} & The default font is Latin Modern (\T{fontpackage = lmodern}),
-% but with the \T{fontpackage} keyword you can select another
-% package, like \T{txfonts} or \T{osf-txfonts}.\NN
% \T{shift = ...} & The many textpositions in isodoc are defined in millimeters,
% but sometimes printers show an aberration in their horizontal
% or vertical printing position. You can correct for this with the
@@ -502,7 +507,7 @@
% acceptaccount &areacode &email &phone &who \NN
% acceptaddress &autograph &enclosures &phoneprefix &yourletter \NN
% acceptcents &bic &fax &returnaddress &yourref \NN
-% acceptdesc &cellphone &fontpackage &rightaddress &zip \NN
+% acceptdesc &cellphone &rightaddress &zip \NN
% acceptdescription &chamber &forcedate &routingno & \NN
% accepteuros &city &iban &signature & \NN
% acceptreference &closing &leftaddress &street & \NN
@@ -744,22 +749,19 @@
% spacing in tables and more. |ctable| also brings us |array|, |tabularx|,
% |color|, and |xkeyval|. |eurosym| is used for the euro symbol.
% \begin{macrocode}
-\RequirePackage{ctable,eurosym,graphicx,stringstrings}
-\RequirePackage[dutch,norsk,german,frenchb,american,english]{babel}
+\RequirePackage{ctable,eurosym,graphicx,stringstrings,calc}
% \end{macrocode}
%
% Since the name of the package contains 'iso', make the page A4.
% For textpos, divide the page in 210 columns of 1mm each
% and 297 rows, 1mm each. The page is vertically divided in 6 columns of
% 35mm each: a left margin, 4 fields, and a right margin.
-% If the class option |landscape| is used, the paper still stays divided in
-% 1mm x 1mm cells. This may be useful if you use the isodoc class for other
-% purposes.
%
% \begin{macrocode}
-\RequirePackage[a4paper,margin=35mm,nofoot,head=\baselineskip]{geometry}
+\RequirePackage[nofoot,head=\baselineskip]{geometry}
\RequirePackage[absolute,overlay]{textpos}
-\ifdim\paperwidth>\paperheight\TPGrid{297}{210}\else\TPGrid{210}{297}\fi
+\geometry{papersize={210mm,297mm},margin=35mm}
+\TPGrid{210}{297}
% \end{macrocode}
% Several colors can be changed, by using the |\definecolor| command;
% the defaults (all black) are set here:\\
@@ -781,18 +783,7 @@
% \begin{macrocode}
\RequirePackage{fancyhdr}
\pagestyle{fancy}
-\fancyhf{}
-\if@twoside
- \fancyhead[LE,RO]{\color{headingcolor}%
- \pagetext\ \thepage\ \oftext{} \pageref{LastPageOf\thelettercount}}
- \fancyhead[RE,LO]{\color{headingcolor}%
- \totext: \toname\ (\date)}
-\else
- \fancyhead[L]{\color{headingcolor}%
- \totext: \toname\ (\date)}
- \fancyhead[R]{\color{headingcolor}%
- \pagetext\ \thepage\ \oftext{} \pageref{LastPageOf\thelettercount}}
-\fi
+\AtBeginDocument{\addtolength{\headheight}{\baselineskip}}
% \end{macrocode}
% The |\xxxdoc| commands (like |\dutchdoc|) set the default language via
% |\AtBeginDocument|, but other language changes should be done without that.
@@ -816,13 +807,6 @@
% \end{macrocode}
% \subsection{The options and their defaults}
% \subsubsection{General options}
-% The default font is latin modern (using the |lmodern| package).
-% \DescribeMacro{fontpackage}
-% The |fontpackage| option can be used to select another font.
-% \begin{macrocode}
-\define@key{isodoc}{fontpackage}{\def\fontpackage{#1}}
- \def\fontpackage{lmodern}
-% \end{macrocode}
% The default shift is 0mm,0mm.
% \DescribeMacro{shift}
% The |shift| option moves the output to the right and down:
@@ -837,10 +821,20 @@
% be sent abroad; this is set with the |foreign| option, false by default:
% \DescribeMacro{foreign}
% \begin{macrocode}
-\define@key{isodoc}{cityzip}[\cityziptrue]{\cityziptrue}
- \newif\ifcityzip\cityzipfalse
\define@key{isodoc}{foreign}[\foreigntrue]{\foreigntrue}
\newif\ifforeign\foreignfalse
+% \end{macrocode}
+% \DescribeMacro{cityzip}
+% By default, the zip code is typeset before the city.
+% The |cityzip| option reverses this:
+% \begin{macrocode}
+\define@key{isodoc}{cityzip}[\cityziptrue]{\cityziptrue}
+ \newif\ifcityzip\cityzipfalse
+% \end{macrocode}
+% \DescribeMacro{localbank}
+% When the |foreign| option is used, \textsc{iban} and \textsc{bic} codes are
+% reported, but this can be suppressed with the |localbank| option:
+% \begin{macrocode}
\define@key{isodoc}{localbank}[\localbanktrue]{\localbanktrue}
\newif\iflocalbank\localbankfalse
% \end{macrocode}
@@ -849,17 +843,16 @@
% \DescribeMacro{german}
% \DescribeMacro{american}
% \DescribeMacro{french}
-% \DescribeMacro{norwegian}
+% \DescribeMacro{language}
% The following keys set the language; English, set at the |\EndOfClass| is the
% default.
% \begin{macrocode}
-\define@key{isodoc}{dutch} []{\dutchdoc}
-\define@key{isodoc}{english} []{\englishdoc}
- \AtEndOfClass{\englishdoc}
-\define@key{isodoc}{german} []{\germandoc}
-\define@key{isodoc}{american}[]{\americandoc}
-\define@key{isodoc}{french} []{\frenchdoc}
-\define@key{isodoc}{norwegian} []{\norwegiandoc}
+\define@key{isodoc}{dutch} []{\isodoc@dutch}
+\define@key{isodoc}{english} []{\isodoc@UKenglish}
+\define@key{isodoc}{german} []{\isodoc@german}
+\define@key{isodoc}{american}[]{\isodoc@USenglish}
+\define@key{isodoc}{french} []{\isodoc@french}
+\define@key{isodoc}{language}{\csname isodoc@#1\endcsname}
% \end{macrocode}
% \DescribeMacro{fill}
% \DescribeMacro{nofill}
@@ -972,9 +965,12 @@
% at 98mm from the top of the paper, but it can be shifted with
% the |bodyshift| option.
% \begin{macrocode}
-\define@key{isodoc}{bodyshift} {\advance\headerpos#1\advance\bodyskip#1mm}
- \newdimen\bodyskip\bodyskip=0mm
+\define@key{isodoc}{bodyshift} {\advance\headerpos#1}
\newcount\headerpos\headerpos=98
+\newcount\footerpos\footerpos=275
+\newcount\subjectpos
+\newcount\openingpos
+\newcount\textskip
% \end{macrocode}
%
% \subsubsection{Footer}
@@ -1100,7 +1096,6 @@
% |openingcomma| has been used to set it to a different character, like a
% semicolon or an exclamation mark.
% \begin{macrocode}
-\newcount\openingpos
\define@key{isodoc}{opening} {\def\opening{#1}}
\def\openingcomma{,}
\define@key{isodoc}{openingcomma}{\def\openingcomma{#1}}
@@ -1166,7 +1161,7 @@
\define@key{isodoc}{chamber} {\def\chamber{#1}}
\def\chamber{Undefined{chamber}}
\define@key{isodoc}{currency} {\def\currency{#1}}
- \def\currency{\EUR}
+ \def\currency{\EUR}
% \end{macrocode}
% \DescribeMacro{accept}
% \DescribeMacro{acceptaccount}
@@ -1317,8 +1312,6 @@
\newcommand{\setupdocument}[1]{
\setkeys{isodoc}{#1}
\iffooter\else\geometry{bottom=25mm}\fi
- \RequirePackage[T1]{fontenc}
- \RequirePackage{\fontpackage}\pdfprotrudechars=1
}
% \end{macrocode}
% \DescribeMacro{\@isomakedate}
@@ -1367,7 +1360,7 @@
% \begin{macrocode}
\def\footfield#1#2#3{%
\ifx#3\empty\else
- \Tbox{\footcount}{275}{35}{\noindent
+ \Tbox{\footcount}{\footerpos}{35}{\noindent
{\@hft#1}\\
#2#3
}
@@ -1378,7 +1371,8 @@
% \DescribeMacro{\accountdata}
% Print a table with banking information. Show account number, account
% name + city, and a reference. If the |foreign| key was used,
-% \textsc{iban} and \textsc{bic} codes are also reported.
+% \textsc{iban} and \textsc{bic} codes are also reported, but can be suppressed
+% with the |localbank| option.
% \begin{macrocode}
\def\accountdata{
\textbf{\accountdatatext:}\\
@@ -1440,7 +1434,6 @@
email & \email\NN
enclosures & \enclosures\NN
fax & \fax\NN
- fontpackage & \fontpackage\NN
forcedate & \forcedate\NN
iban & \iban\NN
leftaddress & \leftaddress\NN
@@ -1471,7 +1464,7 @@
}
\AtEndDocument{%
\hypersetup{pdfauthor={\who},
- pdfproducer={isodoc v\fileversion},
+ pdfproducer={isodoc v\fileversion}
}
}
% \DescribeMacro{\itable}
@@ -1494,20 +1487,15 @@
% |\itotal| inserts an invoice total in the |\itable|.\\
% It inserts |\cmidrule[.05em]{2-2}Total & arg1\NN|:
% \begin{macrocode}
-\def\itotal#1{\cmidrule[.05em]{2-2}\Totaltext&\textbf{#1}\NN}
+\def\itotal#1{\cmidrule[.05em]{2-2}\totaltext&\textbf{#1}\NN}
% \end{macrocode}
% The counter |\lettercount| is used to construct a label on the last
% page of each letter/invoice of this document; it wil be set to
% \texttt{LastPageOf\textsl{n}}, where \textsl{n} is the letter
% number: 1, 2, 3, ... This allows for page headings saying ``Page n
-% of m.'' Whether we are on the last page of a letter is only known
-% either at |\end{document}| or when a new letter is started. This is
-% why a label is set at the start of a |\letter| call, thus labeling
-% the last page of the previous letter and using |\AtEndDocument| for
-% the last letter, which would otherwise stay unlabeled.
+% of m.'' This label is automatically added at the end of each letter.
% \begin{macrocode}
\newcounter{lettercount}\setcounter{lettercount}{0}
-\AtEndDocument{\label{LastPageOf\thelettercount}}
% \end{macrocode}
% \DescribeMacro{\invoice}
% |\invoice| prints an invoice. The first argument is optional, and may
@@ -1526,23 +1514,46 @@
\newcommand{\invoice}[2][]{%
\closingfalse
\def\barsep{\raisebox{-1.5ex}[0pt][0pt]{\rule{.05em}{4ex}}}%
- \letter[#1,opening=\invoicetext,openingcomma={},closing={},signature={}]{%
- \Tbox{35}{127}{140}{#2}
- }
+ \letter[#1,
+ opening={\bfseries\scshape\Large\invoicetext},
+ openingcomma={},
+ closing={},
+ signature={}]{\Tbox{35}{127}{140}{#2}}
}
% \end{macrocode}
% \DescribeMacro{\letter}
% |\letter| prints a letter...
+% The code is enclosed in an extra pair of braces, in order to keep option changes local
% \begin{macrocode}
-\newcommand{\letter}[2][]{{ % extra brace keeps option changes local
- \setkeys{isodoc}{#1}
- \hypersetup{pdftitle={letter to \toname\ dated \today},
- pdfsubject={\subject}}
- \label{LastPageOf\thelettercount}
+\newcommand{\letter}[2][]{{%
\newpage
+ \setkeys{isodoc}{#1}
+% \end{macrocode}
+% By now, a language should have been chosen; if not, issue a warning
+% and set the language to the default: UKenglish
+% \begin{macrocode}
+ \ifx\yourlettertext\undefined\ClassWarning{isodoc}{
+ You did not use the language option; using the default: UKenglish
+ }\isodoc@UKenglish\fi
+ \ifnum\value{lettercount}=0%
+ \hypersetup{pdftitle={letter to \toname\ dated \today},
+ pdfsubject={\subject}}
+ \fi
\addtocounter{lettercount}{1}
\setcounter{page}{1}
\setcounter{footnote}{0}
+ \fancyhf{}
+ \if@twoside
+ \fancyhead[LE,RO]{\color{headingcolor}%
+ \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}}
+ \fancyhead[RE,LO]{\color{headingcolor}%
+ \totext: \toname\ (\date)}
+ \else
+ \fancyhead[L]{\color{headingcolor}%
+ \totext: \toname\ (\date)}
+ \fancyhead[R]{\color{headingcolor}%
+ \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}}
+ \fi
\logo
% \end{macrocode}
% addresscenter is the center, vertically, of the to-address block:
@@ -1559,10 +1570,12 @@
\toname\\\toaddress
\end{textblock}
}
- \openingpos=\headerpos
+ \subjectpos=\headerpos
+ \textskip=\headerpos\advance\textskip-12
+ \ifx\subject\empty\advance\textskip-10\else\advance\subjectpos10\fi
+ \openingpos=\subjectpos
\ifheader
- \advance\openingpos12
- \advance\bodyskip12mm
+ \openingpos=\subjectpos\advance\openingpos12
\Tbox{35}{\headerpos}{35}{\noindent
{\@hft\yourlettertext}\\
\yourletter
@@ -1582,14 +1595,14 @@
\else\forcedate\fi
}
\ifx\subject\empty\else%
- \advance\openingpos10
- \advance\bodyskip10mm
- \Tbox{35}{108}{105}{\noindent
+ \Tbox{35}{\subjectpos}{105}{\noindent
\begin{tabularx}{\hsize}{@{}l>{\raggedright}X@{}}
\@hft\subjecttext&\subject
\end{tabularx}
}
\fi
+ \else
+ \advance\textskip-12
\fi
\footcount=35
\iffooter
@@ -1605,10 +1618,8 @@
\end{textblock*}
}
\ifx\undefined\accepttype\else\accept\fi
- \ifx\subject\empty\vspace*{80mm}\else\vspace*{90mm}\fi
- \noindent\Tbox{35}{\ifx\subject\empty110\else120\fi}{140}{\opening\openingcomma}
- \thispagestyle{empty}
-
+ \noindent\Tbox{35}{\openingpos}{140}{\opening\openingcomma}
+ \vspace{\textskip mm}
\thispagestyle{empty}
\noindent
#2
@@ -1636,6 +1647,7 @@
\\\enclosures
\fi
}
+ \label{LastPageOf\thelettercount}
}}
% \end{macrocode}
% \subsection{Internal Macros}
@@ -1714,255 +1726,410 @@
{\ocrb\acceptcents}
}
% \end{macrocode}
-% Definitions of field names in various languages; corrections
-% and suggestions are very welcome:
-% \DescribeMacro{\dutchdoc}
-% \begin{macrocode}
-\def\set@lang#1{%
- \ifpreamble\AtBeginDocument{\selectlanguage{#1}}%
- \else\selectlanguage{#1}\fi}
-\def\dutchdoc{%
- \set@lang{dutch}
- \def\yourlettertext{Uw brief van}
- \def\yourreftext{Uw kenmerk}
- \def\ourreftext{Ons kenmerk}
- \def\datetext{Datum}
- \def\totext{Aan}
- \def\pagetext{Bladnummer}
- \def\oftext{van}
- \def\date{\number\day~\ifcase\month\or
+% \DescribeMacro{\isodoc@catalan}
+% contributed by Cristian Peraferrer:
+% \begin{macrocode}
+\def\isodoc@catalan{%
+ \gdef\accountdatatext {Dades banc\`aries}
+ \gdef\accountnametext {a nom de}
+ \gdef\accountnotext {N\'um. de compte}
+ \gdef\amounttext {Quantitat}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {M\`obil}
+ \gdef\chambertext {Cambra de comer\c{c}}
+ \gdef\datetext {Data}
+ \gdef\daystext {dies}
+ \gdef\descriptiontext {Descripci\'o}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Annexos:}
+ \gdef\enclosuretext {Annex:}
+ \gdef\faxtext {Fax}
+ \gdef\invoicetext {factura}
+ \gdef\oftext {de}
+ \gdef\ourreftext {La nostra refer\`encia}
+ \gdef\pagetext {P\`agina}
+ \gdef\phonetext {Tel\`efon}
+ \gdef\referencetext {Refer\`encia}
+ \gdef\routingnotext {Nombre de ruta}
+ \gdef\subjecttext {Assumpte}
+ \gdef\termtext {Termini del pagament}
+ \gdef\totaltext {Total}
+ \gdef\totext {A}
+ \gdef\vatnotext {N\'um. IVA}
+ \gdef\vattext {IVA}
+ \gdef\websitetext {Web}
+ \gdef\yourlettertext {La seva carta del}
+ \gdef\yourreftext {La seva refer\`encia}
+ \gdef\date {\number\day\space\ifcase\month\or
+ gener\or febrer\or mar\c{c}\or abril\or maig\or juny\or
+ juliol\or agost\or setembre\or octubre\or novembre\or desembre\fi
+ \space \number\year
+ }
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@dutch}
+% \begin{macrocode}
+\def\isodoc@dutch{%
+ \gdef\accountdatatext {Betalingsgegevens}
+ \gdef\accountnametext {ten name van}
+ \gdef\accountnotext {rekening nr}
+ \gdef\amounttext {Bedrag}
+ \gdef\ccname {Cc:}
+ \gdef\cellphonetext {mobiel}
+ \gdef\chambertext {kvk}
+ \gdef\datetext {Datum}
+ \gdef\daystext {dagen}
+ \gdef\descriptiontext {Omschrijving}
+ \gdef\emailtext {e-mail}
+ \gdef\enclosurestext {Bijlagen:}
+ \gdef\enclosuretext {Bijlage:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {rekening}
+ \gdef\oftext {van}
+ \gdef\ourreftext {Ons kenmerk}
+ \gdef\pagetext {Bladnummer}
+ \gdef\phonetext {telefoon}
+ \gdef\referencetext {kenmerk}
+ \gdef\routingnotext {banknummer}
+ \gdef\subjecttext {Onderwerp:}
+ \gdef\termtext {betalingstermijn}
+ \gdef\totaltext {Totaal}
+ \gdef\totext {Aan}
+ \gdef\vatnotext {btw nr}
+ \gdef\vattext {Btw}
+ \gdef\websitetext {webstek}
+ \gdef\yourlettertext {Uw brief van}
+ \gdef\yourreftext {Uw kenmerk}
+ \gdef\date {\number\day\space\ifcase\month\or
januari\or februari\or maart\or april\or mei\or juni\or juli\or
augustus\or september\or oktober\or november\or december\fi
\space \number\year}
- \def\subjecttext{Onderwerp:}
- \def\ccname{Cc:}
- \def\enclosuretext{Bijlage:}
- \def\enclosurestext{Bijlagen:}
- \def\faxtext{telefax}
- \def\websitetext{webstek}
- \def\emailtext{email}
- \def\phonetext{telefoon}
- \def\cellphonetext{mobiel}
- \def\chambertext{kvk}
- \def\invoicetext{{\bfseries\Large\scshape rekening}}
- \def\descriptiontext{Omschrijving}
- \def\amounttext{Bedrag}
- \def\accountdatatext{Betalingsgegevens}
- \def\termtext{betalingstermijn}
- \def\daystext{dagen}
- \def\accountnotext{rekening nr}
- \def\accountnametext{ten name van}
- \def\referencetext{kenmerk}
- \def\chambertext{kvk}
- \def\vatnotext{btw nr}
- \def\Vattext{Btw}
- \def\Totaltext{Totaal}
}
% \end{macrocode}
-% \DescribeMacro{\englishdoc}
-% \begin{macrocode}
-\def\englishdoc{%
- \set@lang{english}
- \def\yourlettertext{Your letter of}
- \def\yourreftext{Your reference}
- \def\ourreftext{Our reference}
- \def\datetext{Date}
- \def\totext{To}
- \def\pagetext{Page}
- \def\oftext{of}
- \def\date{\ifcase\day\or
- 1st\or 2nd\or 3rd\or 4th\or 5th\or
- 6th\or 7th\or 8th\or 9th\or 10th\or
+% \DescribeMacro{\isodoc@french}
+% \begin{macrocode}
+\def\isodoc@french{%
+ \gdef\accountdatatext {Donn\'ees banquaires}
+ \gdef\accountnametext {au nom de}
+ \gdef\accountnotext {no. compte}
+ \gdef\amounttext {Montant}
+ \gdef\ccname {Copie \`a}
+ \gdef\cellphonetext {portable}
+ \gdef\chambertext {c.c.i.}
+ \gdef\datetext {Date:}
+ \gdef\daystext {jours}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Pi\`eces jointes:}
+ \gdef\enclosuretext {Pi\`ece jointe:}
+ \gdef\faxtext {t\'el\'efax}
+ \gdef\invoicetext {facture}
+ \gdef\oftext {de}
+ \gdef\ourreftext {Nos r\'ef\'erences:}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {t\'el\'ephone}
+ \gdef\referencetext {r\'ef\'erence}
+ \gdef\routingnotext {num\'ero d'acheminement}
+ \gdef\subjecttext {Objet:}
+ \gdef\termtext {terme}
+ \gdef\totaltext {Total}
+ \gdef\totext {\`A l'attention de}
+ \gdef\vatnotext {no. T.V.A.}
+ \gdef\vattext {T.V.A.}
+ \gdef\websitetext {site Web}
+ \gdef\yourlettertext {Votre lettre du}
+ \gdef\yourreftext {Vos r\'ef\'erences:}
+ \gdef\date {\number\day\ifnum\day=1$^{er}$\fi\space\ifcase\month\or
+ janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
+ juillet\or ao\^ut\or septembre\or octobre\or
+ novembre\or d\'ecembre\fi \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@german}
+% \begin{macrocode}
+\def\isodoc@german{%
+ \gdef\accountdatatext {Bezahlungsdaten}
+ \gdef\accountnametext {Name}
+ \gdef\accountnotext {Konto Nr}
+ \gdef\amounttext {Betrag}
+ \gdef\ccname {Kopien an}
+ \gdef\cellphonetext {Handy}
+ \gdef\chambertext {Register Nr}
+ \gdef\datetext {Datum}
+ \gdef\daystext {Tage}
+ \gdef\descriptiontext {Umschreibung}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Anlagen:}
+ \gdef\enclosuretext {Anlage:}
+ \gdef\faxtext {Telefax}
+ \gdef\invoicetext {rechnung}
+ \gdef\oftext {aus}
+ \gdef\ourreftext {Unser Zeichen}
+ \gdef\pagetext {Seite}
+ \gdef\phonetext {Telefon}
+ \gdef\referencetext {Beleg Nr}
+ \gdef\routingnotext {BLZ}
+ \gdef\subjecttext {Betrifft:}
+ \gdef\termtext {Zahlungstermin}
+ \gdef\totaltext {Insgesamt}
+ \gdef\totext {An}
+ \gdef\vatnotext {Ustid Nr}
+ \gdef\vattext {MwSt}
+ \gdef\websitetext {Webseite}
+ \gdef\yourlettertext {Ihr Brief vom}
+ \gdef\yourreftext {Ihr Zeichen}
+ \gdef\date {\number\day.\space\ifcase\month\or
+ Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
+ Juli\or August\or September\or Oktober\or November\or Dezember\fi
+ \space\number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@italian}
+% contributed by Walter Giocoso:
+% \begin{macrocode}
+\def\isodoc@italian{%
+ \gdef\accountdatatext {Coordinate bancarie}
+ \gdef\accountnametext {intestato a}
+ \gdef\accountnotext {n$^o$~del conto}
+ \gdef\amounttext {Prezzo}
+ \gdef\ccname {Per conoscenza a:}
+ \gdef\cellphonetext {cellulare:}
+ \gdef\chambertext {}
+ \gdef\datetext {Data:}
+ \gdef\daystext {giorni}
+ \gdef\descriptiontext {Descrizione}
+ \gdef\emailtext {e-mail:}
+ \gdef\enclosurestext {Allegati:}
+ \gdef\enclosuretext {Allegato:}
+ \gdef\faxtext {fax:}
+ \gdef\invoicetext {fattura}
+ \gdef\oftext {di}
+ \gdef\ourreftext {Nostro riferimento:}
+ \gdef\pagetext {Pagina}
+ \gdef\phonetext {telefono:}
+ \gdef\referencetext {riferimento}
+ \gdef\routingnotext {numero di routing}
+ \gdef\subjecttext {Oggetto:}
+ \gdef\termtext {scadenza}
+ \gdef\totaltext {Totale}
+ \gdef\totext {All'attenzione di:}
+ \gdef\vatnotext {Partita I.V.A.}
+ \gdef\vattext {I.V.A.}
+ \gdef\websitetext {sito Web:}
+ \gdef\yourlettertext {Vostra lettera del:}
+ \gdef\yourreftext {Vostro riferimento:}
+ \gdef\date {\number\day\ifnum\day=1\fi
+ ~\ifcase\month\or
+ Gennaio\or Febbraio\or Marzo\or Aprile\or Maggio\or Giugno\or
+ Luglio\or Agosto\or Settembre\or Ottobre\or Novembre\or Dicembre\fi
+ \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@norsk}
+% contributed by Sveinung Heggen:
+% \begin{macrocode}
+\def\isodoc@norsk {%
+ \gdef\accountdatatext {betales til}
+ \gdef\accountnametext {til}
+ \gdef\accountnotext {faktura nr}
+ \gdef\amounttext {Bel\o{}p}
+ \gdef\ccname {kopi til:}
+ \gdef\cellphonetext {mobil}
+ \gdef\chambertext {}
+ \gdef\datetext {Dato}
+ \gdef\daystext {dager}
+ \gdef\descriptiontext {Beskrivelse}
+ \gdef\emailtext {e-post}
+ \gdef\enclosurestext {Vedlegg:}
+ \gdef\enclosuretext {Vedlegg:}
+ \gdef\faxtext {telefaks}
+ \gdef\invoicetext {faktura}
+ \gdef\oftext {av}
+ \gdef\ourreftext {V\aa{}r ref:}
+ \gdef\pagetext {Side}
+ \gdef\phonetext {telefon}
+ \gdef\referencetext {referanse}
+ \gdef\routingnotext {routing-nummer}
+ \gdef\subjecttext {Vedr:}
+ \gdef\termtext {betalingsfrist}
+ \gdef\totaltext {Total}
+ \gdef\totext {Til}
+ \gdef\vatnotext {Org. nr.}
+ \gdef\vattext {Mva}
+ \gdef\websitetext {hjemmeside}
+ \gdef\yourlettertext {Deres brev av}
+ \gdef\yourreftext {Deres ref:}
+ \gdef\date {\number\day.\space\ifcase\month\or
+ januar\or februar\or mars\or april\or mai\or juni\or
+ juli\or august\or september\or oktober\or november\or desember\fi
+ \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@serbian}
+% contributed by Zoran T. Filipovic:
+% \begin{macrocode}
+\def\isodoc@serbian {%
+ \gdef\totaltext {Ukupno}
+ \gdef\vattext {PDV}
+ \gdef\accountdatatext {Podaci o bankarskom sektoru}
+ \gdef\accountnametext {na ime}
+ \gdef\accountnotext {Ra\v cun br.}
+ \gdef\amounttext {Iznos}
+ \gdef\ccname {Kopije}
+ \gdef\cellphonetext {Mobilni}
+ \gdef\chambertext {Spisak br.}
+ \gdef\datetext {Datum}
+ \gdef\daystext {dana}
+ \gdef\descriptiontext {Opis}
+ \gdef\emailtext {Email}
+ \gdef\enclosurestext {Prilozi:}
+ \gdef\enclosuretext {Prilog:}
+ \gdef\faxtext {Telefax}
+ \gdef\invoicetext {faktura}
+ \gdef\oftext {od}
+ \gdef\ourreftext {Na\v s broj}
+ \gdef\pagetext {Strana}
+ \gdef\phonetext {Telefon}
+ \gdef\referencetext {Dokumet br.}
+ \gdef\routingnotext {BLZ}
+ \gdef\subjecttext {Predmet:}
+ \gdef\termtext {rok pla\' canja}
+ \gdef\totext {U}
+ \gdef\vatnotext {porez br.}
+ \gdef\websitetext {Website}
+ \gdef\yourlettertext {Va\v se pismo od}
+ \gdef\yourreftext {Va\v s broj}
+ \gdef\date{\number\day.~\ifcase\month\or
+ Januar\or Februar\or Mart\or April\or Maj\or Jun\or
+ Jul\or Avgust\or Septembar\or Oktobar\or Novembar\or Decembar\fi
+ \space\number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@spanish}
+% contributed by Cristian Peraferrer:
+% \begin{macrocode}
+\def\isodoc@spanish{%
+ \gdef\accountdatatext {Datos bancarios}
+ \gdef\accountnametext {a nombre de}
+ \gdef\accountnotext {N\'um. de cuenta}
+ \gdef\amounttext {Cantidad}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {M\'ovil}
+ \gdef\chambertext {C\'amara de comercio}
+ \gdef\datetext {Fecha}
+ \gdef\daystext {d\'{\i}as}
+ \gdef\descriptiontext {Descripci\'on}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Anexos:}
+ \gdef\enclosuretext {Anexo:}
+ \gdef\faxtext {Fax}
+ \gdef\invoicetext {factura}
+ \gdef\oftext {de}
+ \gdef\ourreftext {Nuestra referencia}
+ \gdef\pagetext {P\'agina}
+ \gdef\phonetext {Tel\'efono}
+ \gdef\referencetext {Referencia}
+ \gdef\routingnotext {n\'umero de ruta}
+ \gdef\subjecttext {Asunto}
+ \gdef\termtext {Plazo de pago}
+ \gdef\totaltext {Total}
+ \gdef\totext {A}
+ \gdef\vatnotext {N\'um. IVA}
+ \gdef\vattext {IVA}
+ \gdef\websitetext {Web}
+ \gdef\yourlettertext {Su carta de}
+ \gdef\yourreftext {Su referencia}
+ \gdef\date {\number\day\space\ifcase\month\or
+ enero\or febrero\or marzo\or abril\or mayo\or junio\or
+ julio\or agosto\or septiembre\or octubre\or noviembre\or diciembre\fi
+ \space \number\year
+ }
+}
+% \DescribeMacro{\isodoc@UKenglish}
+% \begin{macrocode}
+\def\isodoc@UKenglish{%
+ \gdef\accountdatatext {Banking data}
+ \gdef\accountnametext {in the name of}
+ \gdef\accountnotext {Account no.}
+ \gdef\amounttext {Amount}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {cellphone}
+ \gdef\chambertext {ch.comm.}
+ \gdef\datetext {Date}
+ \gdef\daystext {days}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Enclosures:}
+ \gdef\enclosuretext {Enclosure:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {invoice}
+ \gdef\oftext {of}
+ \gdef\ourreftext {Our reference}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {telephone}
+ \gdef\referencetext {Reference}
+ \gdef\routingnotext {Routing no}
+ \gdef\subjecttext {Subject:}
+ \gdef\termtext {term of payment}
+ \gdef\totaltext {Total}
+ \gdef\totext {To}
+ \gdef\vatnotext {vat no.}
+ \gdef\vattext {Vat}
+ \gdef\websitetext {website}
+ \gdef\yourlettertext {Your letter of}
+ \gdef\yourreftext {Your reference}
+ \gdef\date{\ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
11th\or 12th\or 13th\or 14th\or 15th\or
16th\or 17th\or 18th\or 19th\or 20th\or
21st\or 22nd\or 23rd\or 24th\or 25th\or
26th\or 27th\or 28th\or 29th\or 30th\or
- 31st\fi~\ifcase\month\or
+ 31st\fi\space\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space \number\year}
- \def\subjecttext{Subject:}
- \def\ccname{cc}
- \def\enclosuretext{Enclosure:}
- \def\enclosurestext{Enclosures:}
- \def\faxtext{telefax}
- \def\websitetext{website}
- \def\emailtext{email}
- \def\phonetext{telephone}
- \def\cellphonetext{cellphone}
- \def\invoicetext{{\bfseries\Large\scshape invoice}}
- \def\descriptiontext{Description}
- \def\amounttext{Amount}
- \def\accountdatatext{Banking data}
- \def\termtext{term of payment}
- \def\daystext{days}
- \def\accountnotext{Account no.}
- \def\accountnametext{to the name of}
- \def\referencetext{Reference}
- \def\chambertext{ch.comm.}
- \def\vatnotext{vat no.}
- \def\Vattext{Vat}
- \def\Totaltext{Total}
}
% \end{macrocode}
-% \DescribeMacro{\americandoc}
-% \begin{macrocode}
-\def\americandoc{%
- \set@lang{american}
- \def\yourlettertext{Your letter of}
- \def\yourreftext{Your reference}
- \def\ourreftext{Our reference}
- \def\datetext{Date}
- \def\totext{To}
- \def\pagetext{Page}
- \def\oftext{of}
- \def\date{\ifcase\month\or
+% \DescribeMacro{\isodoc@USenglish}
+% \begin{macrocode}
+\def\isodoc@USenglish{%
+ \gdef\accountdatatext {Bank details}
+ \gdef\accountnametext {in the name of}
+ \gdef\accountnotext {Account no.}
+ \gdef\amounttext {Amount}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {cellphone}
+ \gdef\chambertext {ch.comm.}
+ \gdef\datetext {Date}
+ \gdef\daystext {days}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Enclosures:}
+ \gdef\enclosuretext {Enclosure:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {invoice}
+ \gdef\oftext {of}
+ \gdef\ourreftext {Our reference}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {telephone}
+ \gdef\referencetext {Reference}
+ \gdef\routingnotext {Routing no}
+ \gdef\subjecttext {Subject:}
+ \gdef\termtext {term of payment}
+ \gdef\totaltext {Total}
+ \gdef\totext {To}
+ \gdef\vatnotext {vat no.}
+ \gdef\vattext {Vat}
+ \gdef\websitetext {website}
+ \gdef\yourlettertext {Your letter of}
+ \gdef\yourreftext {Your reference}
+ \gdef\date {\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
- \def\subjecttext{Subject:}
- \def\ccname{cc}
- \def\enclosuretext{Enclosure:}
- \def\enclosurestext{Enclosures:}
- \def\faxtext{telefax}
- \def\websitetext{website}
- \def\emailtext{email}
- \def\phonetext{telephone}
- \def\cellphonetext{cellphone}
- \def\invoicetext{{\bfseries\Large\scshape invoice}}
- \def\descriptiontext{Description}
- \def\amounttext{Amount}
- \def\accountdatatext{Bank details}
- \def\termtext{term of payment}
- \def\daystext{days}
- \def\accountnotext{Account no.}
- \def\accountnametext{to the name of}
- \def\referencetext{Reference}
- \def\chambertext{ch.comm.}
- \def\vatnotext{vat no.}
- \def\Vattext{Vat}
- \def\Totaltext{Total}
-}
-% \end{macrocode}
-% \DescribeMacro{\germandoc}
-% \begin{macrocode}
-\def\germandoc{%
- \set@lang{german}
- \def\yourlettertext{Ihr Brief vom}
- \def\yourreftext{Ihr Zeichen}
- \def\ourreftext{Unser Zeichen}
- \def\datetext{Datum}
- \def\totext{An}
- \def\pagetext{Seite}
- \def\oftext{aus}
- \def\date{\number\day.~\ifcase\month\or
- Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
- Juli\or August\or September\or Oktober\or November\or Dezember\fi
- \space\number\year}
- \def\subjecttext{Betrifft:}
- \def\ccname{Kopien an}
- \def\enclosuretext{Anlage:}
- \def\enclosurestext{Anlagen:}
- \def\faxtext{Telefax}
- \def\websitetext{Webseite}
- \def\emailtext{Email}
- \def\phonetext{Telefon}
- \def\cellphonetext{Handy}
- \def\invoicetext{{\bfseries\Large\scshape rechnung}}
- \def\descriptiontext{Umschreibung}
- \def\amounttext{Betrag}
- \def\accountdatatext{Bezahlungsdaten}
- \def\termtext{Zahlungstermin}
- \def\daystext{Tage}
- \def\accountnotext{Konto Nr}
- \def\routingnotext{BLZ}
- \def\accountnametext{Name}
- \def\referencetext{Beleg Nr}
- \def\chambertext{Register Nr}
- \def\vatnotext{Ustid Nr}
- \def\Vattext{MwSt}
- \def\Totaltext{Insgesamt}
-}
-% \end{macrocode}
-% \DescribeMacro{\frenchdoc}
-% \begin{macrocode}
-\def\frenchdoc{%
- \set@lang{french}
- \def\yourlettertext{Votre lettre du}
- \def\yourreftext{Vos r\'ef\'erences:}
- \def\ourreftext{Nos r\'ef\'erences:}
- \def\datetext{Date:}
- \def\totext{\`A l'attention de}
- \def\pagetext{Page}
- \def\oftext{de}
- \def\date{\number\day\ifnum\day=1$^{er}$\fi
- ~\ifcase\month\or janvier\or
- f\'evrier\or mars\or avril\or mai\or juin\or
- juillet\or ao\^ut\or septembre\or octobre\or
- novembre\or d\'ecembre\fi \space \number\year}
- \def\subjecttext{Objet:}
- \def\ccname{Copie \`a}
- \def\enclosuretext{Pi\`ece jointe:}
- \def\enclosurestext{Pi\`eces jointes:}
- \def\faxtext{t\'el\'efax}
- \def\websitetext{site Web}
- \def\emailtext{email}
- \def\phonetext{t\'el\'ephone}
- \def\cellphonetext{portable}
- \def\invoicetext{{\bfseries\Large\scshape facture}}
- \def\descriptiontext{Description}
- \def\amounttext{Montant}
- \def\accountdatatext{Donn\'ees banquaires}
- \def\termtext{terme}
- \def\daystext{jours}
- \def\accountnotext{no. compte}
- \def\accountnametext{au nom de}
- \def\referencetext{r\'ef\'erence}
- \def\chambertext{c.c.i.}
- \def\vatnotext{no. T.V.A.}
- \def\Vattext{T.V.A.}
- \def\Totaltext{Total}
-}
-% \end{macrocode}
-% \DescribeMacro{\norwegiandoc}
-% \begin{macrocode}
-\def\norwegiandoc{%
- \set@lang{norsk}
- \def\yourlettertext{Deres brev av}
- \def\yourreftext{Deres ref:}
- \def\ourreftext{V\aa{}r ref:}
- \def\datetext{Dato}
- \def\totext{Til}
- \def\pagetext{Side}
- \def\oftext{av}
- \def\date{\number\day.~\ifcase\month\or
- januar\or februar\or mars\or april\or mai\or juni\or
- juli\or august\or september\or oktober\or november\or desember\fi
- \space \number\year}
- \def\subjecttext{Vedr:}
- \def\ccname{kopi til:}
- \def\enclosuretext{Vedlegg:}
- \def\enclosurestext{Vedlegg:}
- \def\faxtext{telefaks}
- \def\websitetext{hjemmeside}
- \def\emailtext{e-post}
- \def\phonetext{telefon}
- \def\cellphonetext{mobil}
- \def\invoicetext{{\bfseries\Large\scshape faktura}}
- \def\descriptiontext{Beskrivelse}
- \def\amounttext{Bel\o{}p}
- \def\accountdatatext{betales til}
- \def\termtext{betalingsfrist}
- \def\daystext{dager}
- \def\accountnotext{faktura nr}
- \def\accountnametext{til}
- \def\referencetext{referanse}
- \def\chambertext{}
- \def\vatnotext{Org. nr.}
- \def\Vattext{Mva}
- \def\Totaltext{Total}
}
% \end{macrocode}
% \Finale
\endinput
-$Id: isodoc.dtx,v 1.28 2010-01-02 16:54:02 wybo Exp $
+$Id: isodoc.dtx,v 1.31 2010-08-24 19:50:48 wybo Exp $
diff --git a/Master/texmf-dist/source/latex/isodoc/isodoc_letterpaper.dtx b/Master/texmf-dist/source/latex/isodoc/isodoc_letterpaper.dtx
new file mode 100644
index 00000000000..d298d48ab6e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/isodoc/isodoc_letterpaper.dtx
@@ -0,0 +1,2147 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2006 by Wybo Dekker <wybo@servalys.nl>
+% -------------------------------------------------------
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{isodoc.dtx}
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<class>\ProvidesClass{isodoc}%
+%<*class>
+ [2010/01/16 v0.8 isodoc class for letters and invoices]
+%</class>
+%<class>\ifx\pdfoutput\undefined\else%
+%<class>\ifnum\pdfoutput=1\else\ClassError{isodoc}{Compile me with pdflatex or xelatex!}{}
+%<class>\fi\fi
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[l2tabu,orthodox]{nag}
+\usepackage{ctable,pdfpages,paralist,eurosym,sverb,ltablex}
+\parindent0pt\parskip1ex
+\PageIndex
+\IndexPrologue{\section*{Index}}
+\newcommand{\FIG}[3]{ % pdfname label caption
+ \ctable[label={#2},caption={#3},figure,botcap,framerule=.5pt]{@{}c@{}}{}{%
+ \includegraphics[width=\textwidth]{#1}
+ }
+}
+\newcommand{\OPTS}[3]{
+ \smallskip\noindent
+ \begin{tabularx}{\hsize}{@{}lX@{}}
+ \multicolumn{2}{@{}l}{\bfseries #1}\NN
+ \multicolumn{2}{@{}p{\hsize}@{}}{#2}\NN\NN
+ #3
+ \end{tabularx}
+}
+\def\T#1{\texttt{#1}}
+\def\C#1{\texttt{$\mathtt{\backslash}$#1}}
+\def\CMP#1{\C{#1}\marginpar{\C{#1}}}
+\begin{document}
+ \DocInput{isodoc.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \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 \~}
+%
+% \changes{v0.1}{2006/03/18}{Initial version}
+% \changes{v0.2}{2007/04/05}{added options phoneprefix, routingno, logoaddress
+% accountname now optional
+% accountnumber $\Rightarrow$ accountno
+% german and french translations corrected
+% indents removed in header fields
+% expect printer to have more unprintable border
+% ascriptiontext $\Rightarrow$ accountnametext for dutch
+% Interdocument language changes now work;
+% Vatno, if defined, is reported with accountdata;
+% country in returnaddress now separated with dot;
+% option changes kept local to the letter/invoice;
+% English/American accountname text adapted
+% }
+% \changes{v0.3}{2007/08/21}{several errors in documentation corrected
+% }
+% \changes{v0.3b}{2007/08/21}{non-zero parskip generated whitespace in standard textblocks;
+% several accept positions fixed,
+% added option shift,
+% whitespace problems solved,
+% added option currency,
+% added option cityzip - without documentation
+% }
+% \changes{v0.4}{2008/05/01}{options shift, currency, cityzip added
+% norwegian translations added (thanks Sveinung Heggen)
+% }
+% \changes{v0.5}{2008/07/12}{text misplacement in subject-less letters
+% corrected
+% norwegian translations corrected
+% }
+% \changes{v0.6}{2008/07/12}{moved all documentation files in subdirectory doc,
+% because files appeared to be wrongly placed on the
+% TeX Collection DVD
+% Some minor corrections
+% }
+% \changes{v0.7}{2010/01/02}{using eurosym package instead of marvosym;
+% using frenchb package instead of french;
+% added addresswidth option, default stays 2 cols;
+% changes suggested by Fabrice Niessen (thanks!):
+% added header/noheader options;
+% added bodyshift option;
+% date format can be yyyy-mm-dd or a literal `today';
+% added forcedate option to enter anything for date;
+% added foldleft and foldright options, default stays right;
+% headingcolor, if defined, colors fancy headings;
+% headcolor, if defined, colors headings in header and footer;
+% foldmarkcolor, if defined, colors foldmark
+% }
+%
+% \DoNotIndex{%
+% \ , \", \', \@auxout, \AtBeginDocument, \AtEndDocument, \Cbox, \CurrentOption,
+% \DeclareOption, \DescribeMacro, \EUR, \LARGE, \Large, \LoadClass, \ML, \NN,
+% \PassOptionsToClass, \ProcessOptions, \RequirePackage, \TPGrid, \Tbox, \\, \^,
+% \`, \aa, \addtocounter, \advance, \barsep, \baselineskip, \begin, \bfseries,
+% \bgroup, \clearpage, \cmidrule, \colorbox, \csname, \def, \define@key,
+% \definecolor, \egroup, \else, \empty, \end, \endcsname, \enspace,
+% \expandafter, \fancyhead, \fancyhf, \fi, \filedat, \fileversion,
+% \footnotesize, \geometry, \hfill, \hsize, \hspace, \ht, \if@twoside,
+% \ifcase, \ifdim, \ifnum, \ifx, \ignorespaces, \immediate, \includegraphics,
+% \lastpage@putlabel, \let, \long, \multicolumn, \newcommand, \newcount,
+% \newdimen, \newenvironment, \newif, \newlabel, \noindent, \number, \o, \or,
+% \pageref, \pagestyle, \paperheight, \paperwidth, \par, \parindent, \parskip,
+% \pdfinfo, \qquad, \quad, \raggedright, \raisebox, \relax,
+% \rightskip, \rule, \scriptsize, \scshape, \selectlanguage, \setbox,
+% \setcounter, \setkeys, \sffamily, \space, \string, \tbfigures, \textbf,
+% \textbullet, \thepage, \thispagestyle, \undefined, \unskip, \usepackage,
+% \vbox, \vfill, \vspace, \write
+% }
+%
+% \GetFileInfo{isodoc.dtx}
+%
+% \title{The \textsf{isodoc} class\thanks{This document
+% corresponds to \textsf{isodoc}~\fileversion, dated \filedate.}\\for
+% letters, invoices, and more}
+% \author{Wybo Dekker \\ \texttt{wybo@servalys.nl}}
+%
+% \maketitle
+%
+% \begin{abstract}\noindent
+% The \texttt{isodoc} class can be used for the preparation of letters,
+% invoices, and, in the future, similar documents.
+% Documents are set up with options, thus making the class easily adaptable to
+% user's wishes and extensible for other document types.
+% \\[2ex]
+% \textbf{Keywords:} letter, invoice, key/value, \textsc{nen1026}
+%
+% \end{abstract}
+% \tableofcontents
+% \section{Introduction}
+%
+% This class is intended to be used for the preparation of letters and
+% invoices. Its starting point was Victor Eijkhout's NTG
+% {\texttt{brief}} class\footnote{CTAN: ntgclass/briefdoc.pdf}, which
+% implements the \textsc{nen 1026} standard. The \texttt{brief} class
+% does not provide facilities for invoices and it is not easily
+% extensible.
+%
+% The goal for the \texttt{isodoc} class is to be extensible and easy to
+% use by providing \textsl{key=value} configuration. Furthermore, texts
+% that need to be placed on prescribed positions on the page (there are
+% many such texts) are positioned by using the {\texttt{textpos}}
+% package.\footnote{CTAN: textpos/textpos.pdf} This provides a very
+% robust construction of the page.
+%
+% The class itself contains many general definitions, but variable data, such as
+% opening, closing,
+% address and many more, have to be defined using \textsl{key=value}
+% definitions, either in the document or
+% in a style file. The latter is indicated for definitions that don't vary on a
+% per document basis, such as your company name, address, email address and so
+% on. Thus if you run a company and also are the secretary of a club,
+% you would have style files for each of them, plus one for your private letters
+% or invoices.\footnote{If you archive your documents in their source form
+% only, it may be wise to work without a style file and set all options in the
+% document itself!}
+%
+% The general setup of a document producing one or more letters is (see
+% figures~\ref{letter1}--\ref{logo2}, page~\pageref{logo1}--\pageref{logo2},
+% for examples):
+% \begin{verbatim}
+% \documentclass{isodoc}
+% \usepackage{<somestyle>}
+% \setupdocument{<generaloptions>}
+% \begin{document}
+% \letter[<addressee_specific_options>]{<letter_content>}
+% ... more \letter calls ...
+% \end{document}
+% \end{verbatim}
+% Similarly, the general setup of a document producing one or more invoices is
+% (figure~\ref{invoice}, page~\pageref{invoice}):
+% \begin{verbatim}
+% \documentclass{isodoc}
+% \usepackage{<somestyle>}
+% \setupdocument{<generaloptions>}
+% \begin{document}
+% \invoice[<addressee_specific_options>]{<invoice_content>}
+% ... more \invoice calls ...
+% \end{document}
+% \end{verbatim}
+%
+% \section{Options}
+%
+% Options are given as key=value pairs, separated by comma's.
+% Extra comma's, including one behind the last pair, don't hurt.
+% An option argument should be enclosed in braces if it contains
+% comma's or equals signs.
+%
+% As shown in the two examples in the previous section, there are three commands
+% that can set options: |\setupdocument|, |\letter|, and |\invoice|.
+% These commands will be further explained in the \textsl{Commands} section.
+% |\setupdocument| is normally used to set options that are common to all
+% letters or invoices in the document, like your company data; the optional
+% arguments of |\letter| and |\invoice| set only those options
+% that are different for each letter or invoice, such as the |to|
+% and |opening| options.
+%
+% This section lists and explains all available options.
+% All options can be used in both the style files and in the document
+% source, although several will normally only be used in style files (such as
+% |company|) and some only in the document source (such as |to| or |opening|).
+%
+% \OPTS{Language}{The options described here relate to the language used
+% for the isodoc interface (headings, footings, date, banking data and so
+% on.) This language is independent of the language you set with the |babel|
+% or |polyglossia| packages. So, for example, you can write your document in english and
+% use dutch for the interface. Also, use of |babel| or |polyglossia| is not required.
+%
+% Currently only a few interface languages are defined. As I am not particularly
+% strong in the translation of administrative terminology, please feel free to
+% send me corrections. And if you don't find your own language here, please send
+% me your translations and your language will be added.
+%
+% The options below set the language, UKenglish is used by default. Preferably, the |language|
+% option should be used; the other options are there for compatibility with earlier versions.}{
+% \T{language = ...} & sets the interface language to any language defined by the class.
+% Currently these are: UKenglish, USenglish, french, german, dutch,
+% italian, spanish, catalan, norsk, serbian\NN
+% \T{dutch} & a synonym for |language = dutch|, \NN
+% \T{english} & a synonym for |language = UKenglish|,\NN
+% \T{german} & a synonym for |language = german|,\NN
+% \T{american} & a synonym for |language = USenglish|,\NN
+% \T{french} & a synonym for |language = french|.\NN
+% }
+%
+% \OPTS{Logo}{Information about the sender is defined here. The logo, by
+% default, consists of a large company name on top a rule with, hanging under the rule,
+% a contact person's data.
+% You can define the latter either explicitly with the \T{logoaddress} option,
+% or let it automatically be created from the contents of the options \T{who}, \T{street},
+% \T{prezip}, \T{zip}, \T{city}, \T{country}, and \T{foreign}, as far as you have defined those.
+% Definition in parts can be useful if you need
+% them elsewhere in your document.}{
+% \T{company = ...} & Your company name as it should appear in the logo (if
+% you use the default logo) and in the return address
+% (where it may get overridden by the \T{returnaddress}
+% keyword.) For private documents, use your name or
+% nickname here.\NN
+% \T{logoaddress = ...}& Contact person's data; use \C{}\C{} commands for line breaks.
+% If you don't define this option, the data will be constructed
+% from the following options.\NN
+% \T{who = ...} & Contact person's name; probably your own name.\NN
+% \T{street = ...} & Street in the sender's address.\NN
+% \T{city = ...} & City in the sender's address.\NN
+% \T{zip = ...} & Zip in the sender's address.\NN
+% \T{cityzip} & Place zip \textsl{after} city, instead of before it (the default).\NN
+% \T{country = ...} & Country in the sender's address. Only used if \T{foreign}
+% key was used.\NN
+% \T{countrycode = ...}& Sender's country code. For The Netherlands: NL\NN
+% \T{areacode = ...} & Sender's area code. For The Netherlands: 31\NN
+% \T{foreign} & Use this key if you send your letter to a foreign
+% country. With it, your country will be added to
+% return and logo addresses, your zip code will be
+% prefixed with your country code, telephone numbers will
+% be prefixed with +31-- (or whatever your \T{areacode}
+% option has been set to) instead of just a 0. In
+% the \C{accountdata} command, it causes \textsc{iban} en
+% \textsc{bic} code to be included, unless the |localbank|
+% option is used.\NN
+% }
+%
+% \OPTS{Address window}{The addressee's address is printed in a window. The
+% width of the window is two columns (70 mm), and its contents are vertically
+% centered in it. There are no limits to the vertical size of the
+% window, other than the physical size of the window in the envelopes you use.
+% The vertical position of the window's center is set with the \T{addresscenter}
+% keyword. Horizontally there are two options: left or right.}{
+% \T{leftaddress} & Places the window over columns 2 and 3; this is the
+% default.\NN
+% \T{rightaddress} & Places the window over columns 4 and 5.\NN
+% \T{addresscenter = ...} & Distance in mm of the center of the window from the top of the
+% paper; the default value is 63.5 mm, fitting for a DL
+% envelope for triple folded A4 (110x220mm) with a window
+% at 50 mm from the top, 30mm high.\footnote{The middle of
+% the window is at 50+30/2=65 mm from the top of the
+% envelope; the paper is folded (see the folding options
+% below) to give the folded paper a tolerance of 1.5mm on
+% both sides in the envelope, so the address should be
+% placed 1.5 mm higher at 65-1.5=63.5 mm.}\NN
+% \T{addresswidth = ...}& The address window's width. The default is 70 mm (2 columns).\NN
+% \T{to = ...} & The addressee's address. New lines can be introduced with the \C{}\C{}
+% command; lines longer than 70 mm will cause extra
+% newlines.\NN\relax
+% \T{[no]return} & Do or don't print a return address on top of the
+% addressee's address. This is useful if blank window envelopes
+% are used. The return address is composed from the
+% contents of the \T{company}, \T{street}, \T{zip}, \T{city}, and
+% \T{country} keywords; it is printed in a bold
+% script size sans serif font and is is separated from
+% the addressee's address with a rule. The country will
+% only be printed if the \T{foreign} keyword has been used.\NN
+% \T{returnaddress = ...}& The return address, if it is composed as just
+% described, may become too long to fit in the address
+% window. Or you may want to define a completely
+% different return address. With the \T{returnaddress} keyword you can
+% redefine the return address. Use \C{}\C{} to insert
+% bullets.\NN
+% }
+%
+% \pagebreak
+% \OPTS{Header fields}{Under the address window, a header is printed. The
+% page is vertically divided in six columns, one each for the left and right
+% margins, and four which, in the header,
+% say: \textsl{Your letter of}, \textsl{Your reference}, \textsl{Our reference},
+% and \textsl{Date}, each with their respective contents under them. If the
+% \T{subject} keyword is used, an extra line starting with \textsl{Subject:} will
+% appear, followed by the contents on the same line and over a width of 2.5
+% columns. If needed, extra lines will be used.}{
+% \T{bodyshift = ...} & The header starts 98mm from the top of the paper,
+% but it can be shifted with the |bodyshift| option.\NN
+% \T{[no]header} & The |noheader| option disables all header fields, the
+% |header| option re-enables them (|header| is the default.)\NN
+% \T{yourletter = ...} & first field in the header: the date of the letter
+% this document is reaction on; empty by default.\NN
+% \T{yourref = ...} & second field in the header: addressee's reference of the letter
+% this document is reaction on; empty by default.\NN
+% \T{ourref = ...} & third field in the header: your own reference for
+% this document.\NN
+% \T{date = ...} & fourth field of the header. The argument must
+% have the form \T{yyyymmdd} or \T{yyyy-mm-dd}; it will
+% be translated into a date like ``May 3, 2006'' if the
+% document language is English, or into its translation
+% in the actual language. The default value is
+% `Undefined date', i.e.\ the date of \C{today} is not
+% the default as this would make the date untraceable
+% from the document source only. However, you can force
+% the use of \C{today} by providing the string |today|
+% for the argument.\NN
+% \T{forcedate = ...} & The restrictions of the |date| option can be overridden by
+% using the |forcedate| option instead; you can thus enter
+% anything you like for the date.\NN
+% \T{subject = ...} & subject of this document; is placed under the other fields,
+% over the width of the first, second and half of the
+% third fields.\NN
+% }
+%
+% \OPTS{Opening and Closing}{A letter is started with an opening -- something
+% like `Dear John', and ended with a closing -- something like
+% `Regards,\T{<newline>}Betty', perhaps with an autograph (or white space) in between.}{
+% \T{opening = ...} & Dear John\NN
+% \T{closing = ...} & Regards\NN
+% \T{signature = ...} & Betty\NN
+% \T{autograph = ...} & \begin{minipage}[t]{\hsize}
+% This keyword can have one of the 10 values 0--9:\\[-\baselineskip]
+% \begin{compactitem}
+% \item [0:] no autograph; the \T{signature} appears right under
+% the \T{closing}. This is the default if the \T{autograph} option
+% is not used (using it without a value is equivalent to
+% \T{autograph=2}).
+% \item [1:] generates extra whitespace between
+% \T{signature} and \T{closing} for a hand-written
+% autograph. Change with the \T{closingskip} key.
+% \item [2--9:] inserts one of eight autograph images
+% which, with the \C{autograph} command,
+% may have been defined in the style file.\\\mbox{}
+% \end{compactitem}
+% \end{minipage}
+% \NN
+% \T{enclosures = ...} & This keyword can be used to add a note, at the end of
+% the document, which starts with \textbf{Enclosure:}
+% followed by the value of the keyword. Multiple
+% enclosures can be separated with \C{}\C{} commands. If
+% those are found, the starting text will be
+% \textbf{Enclosures:}.\NN
+% \T{closingskip = ...} & white space between signature and closing. The
+% default is \T{2}\C{baselineskip}.
+% }
+%
+% \OPTS{Footer fields}{Footer fields are shown in the order in which
+% they appear below; they are empty by default, and empty
+% fields are not displayed.}{
+% \T{[no]footer} & enables or disables printing a page footer; there is room
+% for upto four fields, if you set five fields, the last
+% one will appear in the right margin.\NN
+% \T{phoneprefix} & prefix for phone numbers. The default is `0'; will be changed
+% into `+$<$areacode$>$-' if the \T{foreign} option is used.\NN
+% \T{phone = ...} & if not empty, prints `phone' in the first field of the
+% page footer, with the contents under it, prefixed with a~0 or,
+% if the \T{foreign} option was used, the areacode (set with the
+% \T{areacode} option.) Telephone numbers should thus be entered
+% without a prefix.\NN
+% \T{cellphone = ...} & same for cellphone...\NN
+% \T{fax = ...} & fax...\NN
+% \T{email = ...} & email...\NN
+% \T{website = ...} & and website.\NN
+% }
+%
+% \OPTS{Folding marks}{Folding marks can be useful, particularly if your address
+% window is used to its limits. Correctly folding your letter then prevents
+% parts of the address to become invisible because of the letter loosely filling
+% the envelope.}{
+% \T{nofold} & Disable folding marks.\NN
+% \T{foldleft} & The folding mark is printed in the left margin.\NN
+% \T{foldright} & The folding mark is printed in the right margin. This is the default.\NN
+% \T{fold2} & Folding mark at about halfway, set for tight fitting
+% into a 220x162 mm envelope, with a tolerance of 2 mm
+% at both sides.\NN
+% \T{fold3} & Folding mark at about one third from the top, set for
+% tight fitting into a 220x110 mm envelope, with a
+% tolerance of 1.5 mm at both sides.\NN
+% \T{fold = ...} & For non-standard envelopes and paper formats the position
+% of the folding mark can be set at any position (in mm)
+% from the top of the paper.
+% }
+%
+% \OPTS{Payment data}{In invoices you probably want to make clear where you want
+% your debtor to transfer his money to. You can do so by calling
+% the \C{accountdata} command, which generates a little table containing these data.
+% The contents of this table can be defined with the following keywords:}{
+% \T{term = ...} & Payment term in days; default is 30.\NN
+% \T{currency = ...} & Currency; default is euro.\NN
+% \T{accountno = ...} & Your bank account number.\NN
+% \T{routingno = ...} & Your bank's routing number. Will not be cited if undefined.\NN
+% \T{accountname = ...} & Your bank account's ascription.
+% Will not be cited if undefined.\NN
+% \T{iban = ...} & Your account's \textsc{iban}...\NN
+% \T{bic = ...} & and \textsc{bic} code; \textsc{iban} and \textsc{bic}
+% are only reported in invoices to foreign
+% customers---see the \T{foreign} keyword.\NN
+% \T{vatno = ...} & Your \textsc{vat} reference number, not yet used.\NN
+% \T{chamber = ...} & Your Chamber of Commerce subscription number, not yet
+% used.\NN
+% }
+%
+% \OPTS{Accept data}{These keys pertain to data needed for accept forms:}{
+% \T{acceptaccount = ...} & Payer's bank account number\NN
+% \T{acceptaddress = ...} & Payer's address lines, separated with \C{}\C{}\NN
+% \T{accepteuros = ...} & Euro part of the amount to be paid\NN
+% \T{acceptcents = ...} & Cents part of the amount to be paid\NN
+% \T{acceptdescription = ...} & Description to be quoted on the accept form\NN
+% \T{acceptdesc = ...} & Short version of the description for the
+% detachable strip of the form to be kept by the payer\NN
+% \T{acceptreference = ...} & Reference\NN
+% }
+%
+% \OPTS{Miscellaneous}{}{
+% \T{[no]fill} & Use the \T{fill} keyword to justify text both left and
+% right; the default is \T{nofill}: left justification
+% only.\NN
+% \T{shift = ...} & The many textpositions in isodoc are defined in millimeters,
+% but sometimes printers show an aberration in their horizontal
+% or vertical printing position. You can correct for this with the
+% \T{shift = x,y} option, where x and y (both 0 by default) shift
+% the output to the right and down, respectively, in millimeters.\NN
+% }
+%
+% \section{Commands}
+% \DescribeMacro{\showkeys}
+% The \C{showkeys} command can be useful for debugging. It prints a table
+% showing the option keys described in the previous section, and their current values.
+%
+% \DescribeMacro{\setupdocument}
+% Most of the setup, both in the style files and in the documents
+% themselves, is done setting options in a call to the class-defined
+% |\setupdocument| command. The options can be either a key/value pair, or just
+% a key.
+% Options with values and those without may occur in any order, with
+% the exception of |addresscenter| (see there.)
+% Values need
+% their surrounding \{\}'s only if they contain any comma's.
+% The \textsl{Options} section explains the available options.
+%
+% Most of the options have a corresponding command with the same name.
+% Although not very often, it may sometimes be useful to have those
+% commands available. These are the options with a corresponding
+% command:\footnote{Note for developers: the table lines below can be
+% generated with a ruby script listkeys (included in the distribution):
+% |listkeys show|}
+%
+% \noindent\begin{tabular}{@{}lllll@{}}
+% accept &addresswidth &currency &ourref &website \NN
+% acceptaccount &areacode &email &phone &who \NN
+% acceptaddress &autograph &enclosures &phoneprefix &yourletter \NN
+% acceptcents &bic &fax &returnaddress &yourref \NN
+% acceptdesc &cellphone &rightaddress &zip \NN
+% acceptdescription &chamber &forcedate &routingno & \NN
+% accepteuros &city &iban &signature & \NN
+% acceptreference &closing &leftaddress &street & \NN
+% accountname &company &logoaddress &subject & \NN
+% accountno &country &opening &term & \NN
+% addresscenter &countrycode &openingcomma &vatno & \NN
+% \end{tabular}
+%
+% \noindent So you could write in your letter: ``please send me the money on my bank
+% account: |\accountno\| as soon as possible.''
+%
+% \DescribeMacro{\letter}
+% The |\letter| command produces one letter and can be called multiple times. It
+% has two arguments. The first argument is optional and must be a list of
+% \textsl{key=value} pairs. The options set here are usually those that vary among
+% different letters. The second argument contains the letter's content. This
+% content will, depending on the options set, automatically be surrounded by an
+% opening, a closing, an autograph, a signature and a remark about any
+% enclosures. The first page of each letter will be decorated with a logo,
+% the addressee's address, a return address,
+% various reference fields, a footer, a folding mark---all as defined by
+% \textsl{key=value} pairs in |\setupdocument| or in the |\letter| command itself.
+%
+% The second an following pages will have a heading, quoting the name of the
+% addressee and a page number. Examples of letters can be found in the
+% section \textsl{Usage: letters}.
+%
+% \DescribeMacro{\invoice}
+% The |\invoice| command is essentially the same as the |\letter| command, except
+% that the opening is always ``\textbf{\textsc{invoice}}'', and the content
+% (argument 2) is largely composed using the |\itable|, |\iitem|, |\itotal|, and
+% |\accountdata| commands described hereafter. Closing, autograph, and signature
+% are disabled.
+%
+% In the Netherlands, invoices can be provided with an accept form on the lower
+% third part of the page. If the |accept| option was used, this accept form
+% will be filled with the available data, in the |ocrb| font where needed.
+%
+% The following commands pertain to invoices:
+% \DescribeMacro{\itable}
+% The |\itable| command uses |tabularx| to create a two-column table. The
+% first column of the table will have the header `Description' (or its
+% equivalent in the language selected), the header of the second column says
+% `Amount (\EUR)'. The single argument of |\itable| should contain the
+% contents of the table and is of the form:
+% \begin{verbatim}
+% item 1 & amount 1\NN
+% item 2 & amount 2\NN
+% ...
+% item n & amount n \NN
+% \cmidrule[.05em]{2-2}
+% Total & amount \NN
+% \end{verbatim}
+% However, the next two commands may be used to enter these data more cleanly:
+%
+% \DescribeMacro{\iitem}
+% The |\iitem{item}{amount}| command (|iitem| stands for Invoice Item) is
+% equivalent to writing |item & amount\NN|.
+%
+% \DescribeMacro{\itotal}
+% The |\itotal{amount}| command (|itotal| stands for Invoice total) is
+% equivalent to writing:
+% |\cmidrule[.05em]{2-2} Total & amount \NN|, with the additional
+% advantage that the word `Total' will be replaced with its equivalent
+% in the current language. Thus, the argument to the |\itable|
+% command show above can also be written:
+% \begin{verbatim}
+% \iitem{item 1}{amount 1}
+% \iitem{item 2}{amount 2}
+% ...
+% \iitem{item n}{amount n}
+% \total{amount}
+% \end{verbatim}
+% \DescribeMacro{\accountdata}
+% The |\accountdata| command prints a little table with accounting information
+% needed by the creditor for paying the invoice. It is constructed using the
+% values of the options |accountno|, |accountname|, |routingno|, |iban|, and
+% |bic|. The latter two are only included if the |foreign| option was used.
+%
+% \DescribeMacro{\autograph}
+% The \C{autograph} command, which will normally appear in a style file,
+% serves to define up to eight autographs based
+% on \textsc{pdf}, \textsc{jpeg} or \textsc{png} images. One of these
+% autographs will be drawn between the closing (\textsl{Best regards})
+% and the signature (\textsl{Betty}) if you use the \T{autograph} option
+% with a value from 2 through 9. \C{autograph} has 7 arguments:
+%
+% \begin{tabularx}{\hsize}{@{}rX@{}}
+% arg 1:&2,3,...9: autograph number; will be translated internally to define
+% |\autographA|, |\autographB|... |\autographH|\NN
+% 2:&scaling factor for the image\NN
+% 3:&distance the autograph outdents in the margin\NN
+% 4:&vertical position of the baseline of the closing
+% (\textsl{Regards,}) from the top\NN
+% 5:&vertical position of the baseline of the signature (\textsl{John
+% Letterwriter}) from the top\NN
+% 6:&height of the image\NN
+% 7:&the image (jpg, png, pdf...)\NN
+% \end{tabularx}
+%
+% The arguments 3--6 must be dimensions, and for a given autograph image should
+% be inferred by inspecting the image with an image manipulation program
+% like, for example, the gimp. In the lower left corner of the gimp window,
+% select the units of length, move the pointer to the positions where you want
+% margin, closing, and signature and to the bottom of the image, read the x, y,
+% y and y positions respectively and use those for the argument 3, 4, 5, and 6.
+%
+% \FIG{letter}{letter1}{Minimal letter example}
+%
+% \DescribeMacro{\logo}
+% The |\logo| command is internally used to define the default logo; you can
+% redefine it with |\renewcommand{\logo}{...}|. An example of logo redefinition
+% can be found on page~\pageref{logoredef}.
+%
+% \section{Usage: letters}
+%
+% Usage of the class is best explained by example.
+% \subsection{A simple letter}
+% Here is the latex source for a small letter; its result appears in figure~\ref{letter1}:
+% \verbinput{letter.txt}
+% This source essentially shows three items:
+% \begin{compactenum}
+% \item the inclusion of a package |mystyle|; we'll come to that shortly.
+% \item the command |\setupdocument| called with many \textsl{key=value} arguments, each
+% defining one of the texts that go into the letter.
+% \item the command |\letter|, enclosing the body of the letter;
+% just to give the letter some real body, a small text has
+% been included using |\input|.
+% \end{compactenum}
+% Of course this is not all of the information needed to create a
+% letter. For example, there should be a logo, telling the addressee who I am
+% and there should be contact information such as my address, telephone number
+% and so on. This is where the included |mystyle| package plays its part. Here
+% is an example of such a style file:
+% \verbinput{mystyle.txt}
+% So in the style file, too, |\setupdocument| is used to register
+% information that will common to almost all of my letters. The
+% |\autograph| command sets up an autograph, based on an image file. Apart
+% from the code shown here, a style file can contain definitions for more
+% autographs, and a definition for a logo. Without the latter, a default logo is
+% produced. Note also that I have included defaults for |opening|, |closing|,
+% and |signature| in the style file, and that I did not override those in the
+% letter's source.
+%
+% \FIG{logo1}{logo1}{Long letter example with a non-standard logo, page 1}
+% \FIG{logo2}{logo2}{Long letter example with a non-standard logo, page 2}
+%
+% The letter source example shown above, in combination with this style example,
+% compiles to the letter shown in figure~\ref{letter1}.
+% This example illustrates some aspects of isodoc:
+% \begin{compactitem}
+% \item At the top, you see the default letterhead (logo). You can create your
+% own logo by redefining the |\logo| command.
+% \item Under it is the address. It has a return address in script sized sans
+% serif boldface over
+% it, because the |return| key has been used. A return address is useful if you
+% send your letters in a standard window envelope. The positioning of the
+% address is done in the style file, using the |addresscenter| and |leftaddress| or
+% |rightaddress| keywords.
+% \item The paper is vertically divided in six equally wide columns. The outer
+% two columns are the left and right margins, the second to fifth columns contain
+% header and footer fields.
+% \item The ``Your reference'' and ``Our reference'' fields have not been set
+% (with the |yourref| and |ourref| keys) and therefore stay empty by default,
+% the date field has also not been set, but it should be. Therefore, the default
+% value is ``Undefined date'', and a warning is issued by a pink background.
+% \item A folding mark has been printed in the extreme right margin, such that
+% on folding the paper along it, it will correctly fit in a 220 x 110 mm
+% envelope; this has been achieved by using the |fold3| key.
+% \item In between closing (\textsl{Best regards,}) and signature
+% (\textsl{W.H.~Dekker}) an autograph has been placed. This was done by setting
+% |autograph=2|. Alternative values are |0| (nothing between closing and
+% signature), |1| for white space where an autograph can be placed with a pen
+% after printing, or one of the values |2-9|, which may have been associated
+% with other autograph images. In this case, I have used an autograph image in
+% which I have drawn the boundary box and the \textsl{outdent},
+% \textsl{closing}, and \textsl{signature} positions defined in the
+% |\autograph| command (see the section \textsl{Commands}) with red lines.
+% \item The bottom of the letter has (up to) four fields with contact
+% information. This is useful if your logo does not show that information. If it
+% does, you can omit these fields by using the |nofooter| key, or by not
+% using the |footer| key, depending on the default set in the style file.
+% \end{compactitem}
+%
+% \subsection{Multiple letters, redefined logo}
+% Let's try another illustrative example, see figures~\ref{logo1}
+% and~\ref{logo2}: we use a modified style file, with a
+% redefined logo, so we don't need a page footer; we use preprinted right-windowed
+% envelopes, so a return address is not needed. Here is the style file
+% (|logostyle.sty|):
+% \verbinput{logostyle.txt}
+% \label{logoredef}
+% \FIG{invoice}{invoice}{Invoice example}
+% The letter source does not use the |autograph| key, so the default value of
+% |2| is used; we write it in Dutch and use
+% a larger text, just to see what happens if more than one page is generated:
+% \verbinput{logoletter.txt}
+% In this case, the same letter had to be sent to two different people,
+% with different openings and addresses of course. So the letter's body
+% is separately defined and the |\letter| command is called twice, with
+% the same body, but different |to| and |opening| keys.
+% Figures~\ref{logo1} and~\ref{logo2} show the first two pages (the
+% first letter) of this document, which actually has four pages.
+%
+% \section{Usage: invoices}
+% \subsection{A simple invoice}
+% \FIG{accept}{accept}{Invoice example with accept form}
+%
+% Invoices (can) have the same structure as letters, except that the |\opening|
+% isn't ``Dear Somebody'' anymore, but something like ``Invoice''. And the
+% |\closing| doesn't say ``Best regards'', but may provide payment information.
+% And the body is not a simple text, but a table with descriptions of things to
+% be paid, and the corresponding amounts of money.
+%
+% An example, as usual, is most instructive:
+% \verbinput{invoice.txt}
+% The result is shown in figure~\ref{invoice}.
+%
+% \subsection{Invoice with redefined logo}
+% When the |accept| option is used, the invoice will be created with an invoice
+% form on the lower third part of the page. Here is an example:
+% \verbinput{accept.txt}
+% Normally such invoices are printed on preprinted paper with an easily
+% detachable, perforated form. In this example, the form itself has been
+% printed, too. The |graphicx| and |textpos| packages have already been made
+% available by the |isodoc| class. Figure~\ref{accept} shows the output of this
+% example.
+%% \StopEventually{}
+%
+% \section{Implementation}
+% The basis is the |article| class with all options:
+%
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions
+\LoadClass{article}
+% \end{macrocode}
+% We use |\ctable| floats here, and we need |ctable|'s commands for decent
+% spacing in tables and more. |ctable| also brings us |array|, |tabularx|,
+% |color|, and |xkeyval|. |eurosym| is used for the euro symbol.
+% \begin{macrocode}
+\RequirePackage{ctable,eurosym,graphicx,stringstrings,calc}
+% \end{macrocode}
+%
+% Since the name of the package contains 'iso', make the page A4.
+% For textpos, divide the page in 210 columns of 1mm each
+% and 297 rows, 1mm each. The page is vertically divided in 6 columns of
+% 35mm each: a left margin, 4 fields, and a right margin.
+%
+% \begin{macrocode}
+\RequirePackage[nofoot,head=\baselineskip]{geometry}
+\RequirePackage[absolute,overlay]{textpos}
+\def\isdc@cw{35}
+\def\isdc@iicw{70}
+\def\isdc@iiicw{105}
+\def\isdc@ivcw{140}
+\def\isodoc@footpos{275}
+\geometry{papersize={210mm,297mm},margin=\isdc@cw mm}
+\TPGrid{210}{297}
+% \end{macrocode}
+% Several colors can be changed, by using the |\definecolor| command;
+% the defaults (all black) are set here:\\
+% \DescribeMacro{headcolor}
+% \texttt{headcolor:} color for the header and footer field texts\\
+% \DescribeMacro{headingcolor}
+% \texttt{headingcolor:} color for the fancy headings\\
+% \DescribeMacro{markercolor}
+% \texttt{markercolor:} color for the folding marks
+% \begin{macrocode}
+\definecolor{headcolor}{gray}{0}
+\definecolor{headingcolor}{gray}{0}
+\definecolor{markercolor}{gray}{0}
+% \end{macrocode}
+%
+% Use fancy headings, except for the first page.
+% The heading, on a rule, looks like:\\[2ex]
+% To: John Doe (April 1st, 2006)\hfill Page 2 of 3\\[2ex]
+% \begin{macrocode}
+\RequirePackage{fancyhdr}
+\pagestyle{fancy}
+\AtBeginDocument{\addtolength{\headheight}{\baselineskip}}
+% \end{macrocode}
+% The |\xxxdoc| commands (like |\dutchdoc|) set the default language via
+% |\AtBeginDocument|, but other language changes should be done without that.
+% So we must have a boolean to check if we are in the preamble:
+%
+% \begin{macrocode}
+\newif\ifpreamble\preambletrue
+\AtBeginDocument{\preamblefalse}
+% \end{macrocode}
+% Background color for signaling items that should have been defined, but
+% weren't:
+% \begin{macrocode}
+\definecolor{isodocpink}{rgb}{1,.7,.7}
+\def\Undefined#1{\colorbox{isodocpink}{Undefined #1}}
+% \end{macrocode}
+% A small sans serif font is used for header and footer field names and the
+% sender's address information. The idea is that this is used for all
+% pre-printed text on the letter paper.
+% \begin{macrocode}
+\def\@hft{\footnotesize\sffamily\color{headcolor}}
+% \end{macrocode}
+% \subsection{The options and their defaults}
+% \subsubsection{General options}
+% The default shift is 0mm,0mm.
+% \DescribeMacro{shift}
+% The |shift| option moves the output to the right and down:
+% \begin{macrocode}
+\def\@xyshift#1,#2@@@{\def\@xshift{#1}\def\@yshift{#2}}
+\define@key{isodoc}{shift}{%
+ \@xyshift#1@@@
+ \AtBeginDocument{\textblockorigin{\@xshift mm}{\@yshift mm}}
+}
+% \end{macrocode}
+% Several items in the letter/invoice will be different in documents that are to
+% be sent abroad; this is set with the |foreign| option, false by default:
+% \DescribeMacro{foreign}
+% \begin{macrocode}
+\define@key{isodoc}{letterpaper}[]{
+ \def\isdc@cw{36}
+ \def\isdc@iicw{72}
+ \def\isdc@iiicw{108}
+ \def\isdc@ivcw{144}
+ \def\isodoc@footpos{247}
+ \TPGrid{216}{279}
+ \geometry{papersize={8.5in,11in},margin=\isdc@cw mm}
+}
+\define@key{isodoc}{foreign}[\foreigntrue]{\foreigntrue}
+ \newif\ifforeign\foreignfalse
+% \end{macrocode}
+% \DescribeMacro{cityzip}
+% By default, the zip code is typeset before the city.
+% The |cityzip| option reverses this:
+% \begin{macrocode}
+\define@key{isodoc}{cityzip}[\cityziptrue]{\cityziptrue}
+ \newif\ifcityzip\cityzipfalse
+% \end{macrocode}
+% \DescribeMacro{localbank}
+% When the |foreign| option is used, \textsc{iban} and \textsc{bic} codes are
+% reported, but this can be suppressed with the |localbank| option:
+% \begin{macrocode}
+\define@key{isodoc}{localbank}[\localbanktrue]{\localbanktrue}
+ \newif\iflocalbank\localbankfalse
+% \end{macrocode}
+% \DescribeMacro{dutch}
+% \DescribeMacro{english}
+% \DescribeMacro{german}
+% \DescribeMacro{american}
+% \DescribeMacro{french}
+% \DescribeMacro{language}
+% The following keys set the language; English, set at the |\EndOfClass| is the
+% default.
+% \begin{macrocode}
+\define@key{isodoc}{dutch} []{\isodoc@dutch}
+\define@key{isodoc}{english} []{\isodoc@UKenglish}
+\define@key{isodoc}{german} []{\isodoc@german}
+\define@key{isodoc}{american}[]{\isodoc@USenglish}
+\define@key{isodoc}{french} []{\isodoc@french}
+\define@key{isodoc}{language}{\csname isodoc@#1\endcsname}
+% \end{macrocode}
+% \DescribeMacro{fill}
+% \DescribeMacro{nofill}
+% The default is to have left, but not right justification, allowing for hyphenation
+% in extreme cases:
+% \begin{macrocode}
+\define@key{isodoc}{fill} []{\rightskip=1\rightskip}
+\define@key{isodoc}{nofill}[]{\rightskip=0mm plus 35mm}
+ \rightskip=0mm plus 35mm
+% \end{macrocode}
+% \subsubsection{Logo}
+% \DescribeMacro{company}
+% \DescribeMacro{logoaddress}
+% \DescribeMacro{who}
+% \DescribeMacro{street}
+% \DescribeMacro{city}
+% \DescribeMacro{zip}
+% \DescribeMacro{country}
+% \DescribeMacro{countrycode}
+% The logo, by default, consists of a large company or personal name on top a
+% rule, with a contact person's name (probably your own name) and address
+% hanging under the rule.
+% Its contents are defined by the following options:
+% \begin{macrocode}
+\define@key{isodoc}{company} {\def\company{#1}}
+ \def\company{\Undefined{company}}
+\define@key{isodoc}{logoaddress}{\def\logoaddress{#1}}
+\define@key{isodoc}{who} {\def\who{#1}}
+ \def\who{\Undefined{who}}
+\define@key{isodoc}{street} {\def\street{#1}}
+ \def\street{\Undefined{street}}
+\define@key{isodoc}{city} {\def\city{#1}}
+ \def\city{\Undefined{city}}
+\define@key{isodoc}{country} {\def\country{#1}}
+ \def\country{\Undefined{country}}
+\define@key{isodoc}{countrycode}{\def\countrycode{#1}}
+ \def\countrycode{\Undefined{countrycode}}
+\define@key{isodoc}{zip} {\def\zip{#1}}
+ \def\zip{\Undefined{zip}}
+\def\prezip{\ifforeign\countrycode\else\fi}
+% \end{macrocode}
+% \subsubsection{Address window}
+% \DescribeMacro{leftaddress}
+% \DescribeMacro{rightaddress}
+% \DescribeMacro{addresscenter}
+% \DescribeMacro{addresswidth}
+% The address can be positioned vertically with the |addresscenter| option; the
+% default is 63.5mm. This is the vertical position of the center of the address.
+% Horizontally, the address is positioned either left or right, depending on the
+% |leftaddress| or |rightaddress| options being used. In the first case, the
+% address start at x=35mm, which is the left margin (the default), and thus in
+% line with the first header field, in the second case at 105mm, in line with
+% the one-but-last header field.
+% \begin{macrocode}
+\define@key{isodoc}{leftaddress} []{\def\xaddress{\isdc@cw}}
+ \def\xaddress{\isdc@cw}
+\define@key{isodoc}{rightaddress}[]{\def\xaddress{\isdc@iiicw}}
+\define@key{isodoc}{addresscenter} {\def\addresscenter{#1}}
+ \def\addresscenter{63.5}
+\define@key{isodoc}{addresswidth} {\def\addresswidth{#1}}
+ \def\addresswidth{\isdc@iicw}
+% \end{macrocode}
+% \DescribeMacro{to}
+% The |to| option takes the addressee's address lines. Use |\\| to
+% separate lines. The info will be split by |\processto| on the first
+% |\\| separator into the addressee's name (|\toname|) and his address
+% (|\toaddress|)
+% The |\toname| will be reported in the pdf's document properties.
+% However, this works only if the |to| key is set, with |\setupdocument|, in the
+% preamble. If several letters are composed, |to| is normally set in the
+% |\letter| or |\invoice| commands and thus is not seen by the |\hypersetup|,
+% which is called |\AtBeginDocument|; so set the defaults to
+% |Various people| for the |\toname| and make the address undefined:
+% \begin{macrocode}
+\define@key{isodoc}{to}{\processto{#1}}\def\toname{Various people}
+ \def\toaddress{\Undefined{to}}
+\long\def\processto#1{\xproc #1\\@@@\ifx\toaddress\empty
+ \else \yproc #1@@@\fi}
+\long\def\xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
+\long\def\yproc #1\\#2@@@{\def\toaddress{#2}}
+% \end{macrocode}
+% \DescribeMacro{return}
+% \DescribeMacro{noreturn}
+% \DescribeMacro{returnaddress}
+% The default is to have no return address; but this can be changed by using
+% the |return| (either in the style file or in the source) or, if the default
+% was changed in the style file, remove it with |noreturn| in the source.
+% Company and country names are often too long to fit in the address window. Or
+% you may want to define an entirely different return address. The
+% |returnaddress| option is provided to redefine the return address:
+% \begin{macrocode}
+\define@key{isodoc}{return} []{\returntrue}
+ \newif\ifreturn\returnfalse
+\define@key{isodoc}{noreturn} []{\returnfalse}
+\define@key{isodoc}{returnaddress}{\def\returnaddress{#1}}
+% \end{macrocode}
+%
+% \subsubsection{Header}
+% \DescribeMacro{header}
+% \DescribeMacro{noheader}
+% A header is switched on or off with the |header| and |noheader| options.
+% The default is to have a header.
+% \begin{macrocode}
+\define@key{isodoc}{header} []{\headertrue}
+ \newif\ifheader\headertrue
+\define@key{isodoc}{noheader}[]{\headerfalse}
+% \end{macrocode}
+% \DescribeMacro{bodyshift}
+% The header is the start of the body. It is initially positioned
+% at 98mm from the top of the paper, but it can be shifted with
+% the |bodyshift| option.
+% \begin{macrocode}
+\define@key{isodoc}{bodyshift} {\advance\headerpos#1\advance\bodyskip#1mm}
+ \newdimen\bodyskip\bodyskip=0mm
+\newcount\headerpos\headerpos=98
+% \end{macrocode}
+%
+% \subsubsection{Footer}
+% \DescribeMacro{footer}
+% \DescribeMacro{nofooter}
+% A footer is switched on or off with the |footer| and |nofooter| options.
+% The default is the have no footer.
+% \begin{macrocode}
+\define@key{isodoc}{footer} []{\footertrue}
+ \newif\iffooter\footerfalse
+\define@key{isodoc}{nofooter}[]{\footerfalse}
+% \end{macrocode}
+% \DescribeMacro{areacode}
+% \DescribeMacro{phone}
+% \DescribeMacro{phoneprefix}
+% \DescribeMacro{cellphone}
+% \DescribeMacro{fax}
+% \DescribeMacro{website}
+% \DescribeMacro{email}
+% If there \textsl{is} a page footer, only those fields will be displayed which are not empty.
+% Currently the |phone|, |cellphone|, |fax|, |email| and |website| are
+% recognised as possible footer fields. Phone and fax number will be prefixed
+% with a 0, unless the |foreign| option was used: then the prefix will be
+% `+nn-', where nn is the areacode. The latter is set with the |areacode|
+% option, which is `Undefined areacode' by default.
+% \begin{macrocode}
+\define@key{isodoc}{areacode} {\def\areacode{#1}}
+ \def\areacode{\Undefined{areacode}}
+\define@key{isodoc}{phone} {\def\phone{#1}}
+ \def\phone{}
+\define@key{isodoc}{phoneprefix}{\def\phoneprefix{#1}}
+ \def\phoneprefix{0}
+\define@key{isodoc}{cellphone} {\def\cellphone{#1}}
+ \def\cellphone{}
+\define@key{isodoc}{fax} {\def\fax{#1}}
+ \def\fax{}
+\define@key{isodoc}{website} {\def\website{#1}}
+ \def\website{}
+\define@key{isodoc}{email} {\def\email{#1}}
+ \def\email{}
+\def\lead{\ifforeign+\areacode-\else\phoneprefix\fi}
+% \end{macrocode}
+% \subsubsection{Folding mark}
+% \DescribeMacro{nofold}
+% The default is to have no folding mark. So start with the folding mark
+% position outside the paper boundaries:
+% \begin{macrocode}
+\define@key{isodoc}{nofold}[]{\yfold=-1mm}
+ \newdimen\yfold\yfold=-1mm
+% \end{macrocode}
+% \DescribeMacro{foldleft}
+% \DescribeMacro{foldright}
+% The folding mark is in the right margin, but it can be moved to the left
+% margin with the |foldleft| option, or, if made that the default in your style
+% file, back to the right margin with the |foldright| option:
+% \begin{macrocode}
+\define@key{isodoc}{foldleft}[]{\xfold=9mm}
+ \newdimen\xfold\xfold=201mm
+\define@key{isodoc}{foldright}[]{\xfold=201mm}
+% \end{macrocode}
+% \DescribeMacro{fold2}
+% The envelope for double folded A4 is C5: 162x220mm,
+% window 40x110mm, upper left corner at 20x50mm.
+% Fold the A4 to have a tolerance of 2mm at top and bottom, by
+% putting the fold mark at 162-4=158 mm.
+% \begin{macrocode}
+\define@key{isodoc}{fold2}[]{\yfold=158mm}
+% \end{macrocode}
+% \DescribeMacro{fold3}
+% The envelope for triple folded A4 is DL: 110x220mm,
+% Fold the A4 to have a tolerance of 1.5mm at top and bottom, by
+% putting the fold mark at 110-3=107mm.
+% \begin{macrocode}
+\define@key{isodoc}{fold3}[]{\yfold=107mm}
+% \end{macrocode}
+% \DescribeMacro{fold}
+% For non-standard envelopes and paper formats the position of the
+% folding mark can be set at any position (in mm) from the top of the paper:
+% \begin{macrocode}
+\define@key{isodoc}{fold}{\yfold=#1mm}
+% \end{macrocode}
+%
+% \subsubsection{Header fields}
+% There are four header fields, each one quarter of the textwidth wide.
+% Under those, if the subject has been defined, a subject line.
+% The header position is 98mm by default, but it can be shifted with the |bodyshift| option.
+% \DescribeMacro{ourref}
+% \DescribeMacro{yourref}
+% \DescribeMacro{yourletter}
+% \begin{macrocode}
+\define@key{isodoc}{ourref} {\def\ourref{#1}}
+ \def\ourref{}
+\define@key{isodoc}{yourref} {\def\yourref{#1}}
+ \def\yourref{}
+\define@key{isodoc}{yourletter}{\def\yourletter{#1}}
+ \def\yourletter{}
+% \end{macrocode}
+% \DescribeMacro{date}
+% The date must be entered in either of three formats: yyyy-mm-dd, yyyymmdd
+% or the string |today|. Here we check that a correct format is offered and
+% that the values for |mm| and |dd| are in the range 1--12 and 1--31 respectively.
+% The string |today| sets the date to today's date.
+% \begin{macrocode}
+\define@key{isodoc}{date}{\@isomakedate{#1}}
+ \def\date{\Undefined{date}}
+% \end{macrocode}
+% \DescribeMacro{forcedate}
+% If you know what you do you can substitute anything you like for the date by
+% using the |forcedate| option instead of |date|:
+% \begin{macrocode}
+\define@key{isodoc}{forcedate}{\def\forcedate{#1}}\def\forcedate{}
+% \end{macrocode}
+% \DescribeMacro{subject}
+% The subject is empty by default and will be typeset.
+% \begin{macrocode}
+\define@key{isodoc}{subject}{\def\subject{#1}}
+ \def\subject{}
+% \end{macrocode}
+% \DescribeMacro{opening}
+% \DescribeMacro{openingcomma}
+% The opening, something like `Dear Reader', is set by the |opening| option; the
+% default is `Undefined opening'. It is followed by a comma, unless the
+% |openingcomma| has been used to set it to a different character, like a
+% semicolon or an exclamation mark.
+% \begin{macrocode}
+\newcount\openingpos
+\define@key{isodoc}{opening} {\def\opening{#1}}
+ \def\openingcomma{,}
+\define@key{isodoc}{openingcomma}{\def\openingcomma{#1}}
+ \def\opening{\Undefined{opening}}
+% \end{macrocode}
+% \subsubsection{Closing, autograph, signature}
+% \DescribeMacro{closing}
+% \DescribeMacro{closingskip}
+% The closing, something like `Best regards', is set by the |closing| option;
+% the default is `Undefined closing'. It will be preceded by a vertical skip,
+% which can be set by the |closingskip| option, which is |2\baselineskip| by
+% default:
+% \begin{macrocode}
+\define@key{isodoc}{closing} {\def\closing{#1,}}
+ \def\closing{\Undefined{closing}} % Best regards,
+\define@key{isodoc}{closingskip}{\closingskip=#1}
+ \newdimen\closingskip\closingskip=2\baselineskip
+% \end{macrocode}
+% \DescribeMacro{autograph}
+% The autograph is either just a newline, or a vertical spacing where you can
+% put your autograph manually, or a graphic. In the latter case, is must have
+% been defined with the macro |\autograph|, which defines an autograph from an
+% image, see the section \textsl{User Macros}.
+% Not using the |autograph| option is equivalent to |autograph=0| (just a newline).
+% Using it without a value is equivalent to |autograph=2| (image inserted):
+% \begin{macrocode}
+\define@key{isodoc}{autograph}[2]{\def\autographversion{#1}}
+ \def\autographversion{0}
+% \end{macrocode}
+% \DescribeMacro{signature}
+% The signature, something like `John Letterwriter', is set by the |signature| option;
+% the default is `Undefined signature'.
+% \begin{macrocode}
+\define@key{isodoc}{signature}{\def\signature{#1}}
+ \def\signature{\Undefined{signature}}
+% \end{macrocode}
+% \DescribeMacro{enclosures}
+% Enclosures are set by the |enclosures| option. There are none by default.
+% \begin{macrocode}
+\define@key{isodoc}{enclosures} {\def\enclosures{#1}}
+ \def\enclosures{}
+% \end{macrocode}
+% \subsubsection{Invoice specific data}
+% \DescribeMacro{term}
+% \DescribeMacro{accountno}
+% \DescribeMacro{routingno}
+% \DescribeMacro{accountname}
+% \DescribeMacro{iban}
+% \DescribeMacro{bic}
+% \DescribeMacro{vatno}
+% \DescribeMacro{chamber}
+% \DescribeMacro{currency}
+% Invoices need to state some specific data, like account data and term of
+% payment:
+% \begin{macrocode}
+\define@key{isodoc}{term} [30]{\def\term{#1}}
+\define@key{isodoc}{accountno} {\def\accountno{#1}}
+\define@key{isodoc}{routingno} {\def\routingno{#1}}
+\define@key{isodoc}{accountname}{\def\accountname{#1}}
+\define@key{isodoc}{iban} {\def\iban{#1}}
+\define@key{isodoc}{bic} {\def\bic{#1}}
+\define@key{isodoc}{vatno} {\def\vatno{#1}}
+\define@key{isodoc}{chamber} {\def\chamber{#1}}
+ \def\chamber{Undefined{chamber}}
+\define@key{isodoc}{currency} {\def\currency{#1}}
+ \def\currency{\EUR}
+% \end{macrocode}
+% \DescribeMacro{accept}
+% \DescribeMacro{acceptaccount}
+% \DescribeMacro{acceptaddress}
+% \DescribeMacro{acceptcents}
+% \DescribeMacro{acceptdescription}
+% \DescribeMacro{acceptdesc}
+% \DescribeMacro{accepteuros}
+% \DescribeMacro{acceptreference}
+% If an accept form is to be printed, here are the options to fill in all the
+% fields:
+% \begin{macrocode}
+\define@key{isodoc}{accept}[E05]{\def\accepttype{#1}
+ \newfont\ocrb{ocrb10}
+ }
+\define@key{isodoc}{acceptaccount} {\def\acceptaccount{#1}}
+ \def\acceptaccount{}
+\define@key{isodoc}{acceptaddress} {\def\acceptaddress{#1}}
+ \def\acceptaddress{}
+\define@key{isodoc}{acceptcents} {\def\acceptcents{#1}}
+ \def\acceptcents{Undefined{}}
+\define@key{isodoc}{acceptdescription}{\def\acceptdescription{#1}}
+ \def\acceptdescription{}
+\define@key{isodoc}{acceptdesc} {\def\acceptdesc{#1}}
+ \def\acceptdesc{}
+\define@key{isodoc}{accepteuros} {\def\accepteuros{#1}}
+ \def\accepteuros{Undefined{}}
+\define@key{isodoc}{acceptreference} {\def\acceptreference{#1}}
+ \def\acceptreference{Undefined{ref}}
+% \end{macrocode}
+% For now, we define field positons for the E05 accept form only; when data for
+% other forms become available, the content of |\accepttype| will have to be
+% checked. Here is a rough layout of the E05 accept form -- the last character
+% tells if the items are tyepset in a Tbox (T) or in a Cbox (C):
+% \pagebreak%%%
+% \begin{verbatim}
+% description T
+% ref description T
+% ref euros cents reference C
+%
+% eur ct account C
+%
+% desc address T
+% desc address
+% desc address
+% \end{verbatim}
+% \begin{macrocode}
+\def\xacceptdescription{105}\def\yacceptdescription{200}\def\wacceptdescription{100} %T
+\def\xacceptref{7} \def\yacceptref{212} \def\wacceptref{30} %T
+\def\xaccepteuros{60} \def\yaccepteuros{216} \def\waccepteuros{32} %C
+\def\xacceptcents{89} \def\yacceptcents{216} \def\wacceptcents{13} %C
+\def\xacceptreference{125} \def\yacceptreference{216} \def\wacceptreference{55} %C
+\def\xaccepteur{14.4} \def\yaccepteur{228.5} \def\waccepteur{21} %C
+\def\xacceptct{32} \def\yacceptct{228.5} \def\wacceptct{9} %C
+\def\xacceptaccount{75} \def\yacceptaccount{228.5} \def\wacceptaccount{65} %C
+\def\xacceptdesc{7} \def\yacceptdesc{241} \def\wacceptdesc{26} %T
+\def\xacceptaddress{58} \def\yacceptaddress{241} \def\wacceptaddress{90} %T
+% \end{macrocode}
+% This is the |\baselineskip| for the two-line reference of the detachable strip:
+% \begin{macrocode}
+\newdimen\acceptreferenceskip\acceptreferenceskip=5.15mm
+% \end{macrocode}
+% \subsection{User Macros}
+% The autograph is either just a newline, or a vertical spacing where you can
+% put your autograph manually, or a graphic. In the latter case, is must have
+% been defined with the macro |\autograph|, which defines an autograph from an
+% image.\footnote{Thanks, Hans Hagen and Piet van Oostrum, for its definition}\\
+% The arguments 3 - 6 can be found by measuring those (with the gimp, for example)
+% in the unscaled (raw) image (which is the last argument).
+% \\[1ex]
+% \begin{tabularx}{\hsize}{@{}rX@{}}
+% arg 1:&2,3,...9: autograph number; will be translated internally to define
+% |\autographA|, |\autographB|... |\autographH|\NN
+% 2:&scaling factor for the image\NN
+% 3:&the distance the autograph outdents in the margin\NN
+% 4:&the vertical position of the baseline of the closing (Regards,) from the top\NN
+% 5:&the vertical position of the baseline of the signature (John Letterwriter) from the top\NN
+% 6:&the height of the image\NN
+% 7:&the image (jpg, png, pdf...)\NN
+% \end{tabularx}
+% \DescribeMacro{\autograph}
+% \begin{macrocode}
+\newdimen\myoutdent
+\newdimen\signskip
+\newdimen\mydown
+\def\autograph#1#2#3#4#5#6#7{%
+ \ifnum #1<2
+ \ClassError{isodoc}{autograph #1 cannot be changed (first arg must be 2..9)}{}
+ \fi
+ \ifnum #1>9
+ \ClassError{isodoc}{autograph #1 cannot be changed (first arg must be 2..9)}{}
+ \fi
+ \bgroup
+ \lccode`2=`A \lccode`6=`E
+ \lccode`3=`B \lccode`7=`F
+ \lccode`4=`C \lccode`8=`G
+ \lccode`5=`D \lccode`9=`H
+ \lowercase{\def\temp{#1}}%
+ \expandafter\egroup\expandafter\def\csname autograph\temp\endcsname{%
+ \myoutdent=#3
+ \signskip=#5\advance\signskip-#4
+ \mydown=#6\advance\mydown-#4
+ \par\hspace*{-#2\myoutdent}%
+ \raisebox{-#2\mydown}[0bp][0bp]{\includegraphics[scale=#2]{#7}}\\[-\baselineskip]
+ \closing\\[-2\baselineskip]\\[#2\signskip]\signature%
+ }
+}
+% \end{macrocode}
+% \subsubsection{Logo}
+% The logo, by default, consists of a large company name on top a rule,
+% with a contact person's name (probably your own name) and address
+% hanging under the rule.
+% If the osf-txfonts package is used, oldstyle figures are disabled here.
+% \DescribeMacro{\logo}
+% \begin{macrocode}
+\newcommand{\zippedcity}{\ifcityzip\city\ \prezip\ \zip\else\prezip\ \zip\ \city\fi}
+\newcommand{\logo}{%
+ { \parskip=0pt\parindent=0pt
+ \begin{textblock}{\isdc@ivcw}[0,1](\isdc@cw,20)%
+ \textsf{\LARGE\company}\\[-1.7ex] % large company name
+ \rule{\hsize}{.3pt} % on top a rule
+ \end{textblock}
+ }
+ \Tbox{\isdc@ivcw}{22}{\isdc@cw}{\noindent
+ \footnotesize\sffamily
+ \ifx\undefined\logoaddress%
+ \ifx\undefined\tbfigures\else\tbfigures\fi
+ \ifx\who\empty\else\who\\\fi
+ \ifx\street\empty\else\street\\\fi
+ \zippedcity
+ \ifforeign\\\country\fi
+ \else\logoaddress\fi
+ }
+}
+% \end{macrocode}
+% \DescribeMacro{\returnaddress}
+% \begin{macrocode}
+\def\returnaddress{%
+ \ifx\undefined\tbfigures\else\tbfigures\fi % when using osf-txfonts... just for me
+ \company\\
+ \street\\
+ \zippedcity
+ \ifforeign\\\country\fi
+}
+% \end{macrocode}
+% \DescribeMacro{\setupdocument}
+% \begin{macrocode}
+\newcommand{\setupdocument}[1]{
+ \setkeys{isodoc}{#1}
+ \iffooter\else\geometry{bottom=25mm}\fi
+}
+% \end{macrocode}
+% \DescribeMacro{\@isomakedate}
+% \begin{macrocode}
+\newcount\@isoyear \@isoyear=\year \year=0
+\newcount\@isomonth \@isomonth=\month
+\newcount\@isoday \@isoday=\day
+\def\@isomakedate#1{%
+ \def\@isoarg{#1}\def\@isotoday{today}
+ \ifx\@isoarg\@isotoday
+ \year=\@isoyear
+ \month=\@isomonth
+ \day=\@isoday
+ \else
+ \stringlength[q]{\@isoarg}
+ \ifnum\theresult=10
+ \substring[q]{\@isoarg}{5}{5}
+ \if\thestring-\else\ClassError{isodoc}{
+ Illegal date separator: \thestring (must be -)}{}\fi
+ \substring[q]{\@isoarg}{8}{8}
+ \if\thestring-\else\ClassError{isodoc}{
+ Illegal date separator: \thestring (must be -)}{}\fi
+ \else
+ \ifnum\theresult=8\else\ClassError{isodoc}{
+ Illegal date: not yyyymmdd | yyyy-mm-dd | today}{}\fi
+ \fi
+ \Treatments{0}{0}{0}{1}{0}{0}
+ \substring[q]{\@isoarg}{1}{$} \let\@isodigits=\thestring \def\@isoarg{\thestring}
+ \stringlength[q]{\@isodigits}
+ \ifnum\theresult=8\else\ClassError{isodoc}{Illegal date: must have 8 digits}{}\fi
+ \substring[q]{\@isoarg}{1}{4} \year=\thestring \def\@isoarg{\@isodigits}
+ \substring[q]{\@isoarg}{5}{6} \month=\thestring \def\@isoarg{\@isodigits}
+ \substring[q]{\@isoarg}{7}{8} \day=\thestring \def\@isoarg{\@isodigits}
+ \ifnum \month > 12 \ClassError{isodoc}{Illegal date: month>12}{}\fi
+ \ifnum \day > 31 \ClassError{isodoc}{Illegal date: day>31}{}\fi
+ \fi
+}
+% \end{macrocode}
+% \DescribeMacro{\footfield}
+% Create any non-empty footfields, starting at left arguments:
+% \begin{compactenum}
+% \item fieldlabel
+% \item a prefix for the content (for phone numbers)
+% \item the content
+% \end{compactenum}
+% \begin{macrocode}
+\def\footfield#1#2#3{%
+ \ifx#3\empty\else
+ \Tbox{\footcount}{\isodoc@footpos}{\isdc@cw}{\noindent
+ {\@hft#1}\\
+ #2#3
+ }
+ \advance\footcount\isdc@cw
+ \fi
+}
+% \end{macrocode}
+% \DescribeMacro{\accountdata}
+% Print a table with banking information. Show account number, account
+% name + city, and a reference. If the |foreign| key was used,
+% \textsc{iban} and \textsc{bic} codes are also reported, but can be suppressed
+% with the |localbank| option.
+% \begin{macrocode}
+\def\accountdata{
+ \textbf{\accountdatatext:}\\
+ \begin{tabular}{@{}rl@{}}
+ \ifx\term\undefined\else
+ \termtext: & \term\ \daystext\\
+ \fi
+ \accountnotext: & \accountno\\
+ \ifx\accountname\undefined\else
+ \accountnametext: & \accountname{}\\
+ \fi
+ \ifx\routingno\undefined\else
+ \routingnotext: & \routingno{}\\
+ \fi
+ \referencetext: & \ourref\\
+ \ifforeign
+ \iflocalbank\else
+ iban: & \scshape \iban\\
+ bic: & \scshape \bic\\
+ \fi
+ \fi
+ \ifx\vatno\undefined\else
+ \vatnotext: & \vatno\\
+ \fi
+ \end{tabular}
+}
+% \end{macrocode}
+% The |\showkeys| command is useful for debugging. It prints a table showing the
+% values of most keys.\footnote{Note for developers: the table lines below can
+% be generated with a ruby script listkeys (included in the distribution):
+% |listkeys defs|}
+% \DescribeMacro{\showkeys}
+% \begin{macrocode}
+\def\showkeys{%
+ \begin{tabular}{ll}
+ accept & \accept\NN
+ acceptaccount & \acceptaccount\NN
+ acceptaddress & \acceptaddress\NN
+ acceptcents & \acceptcents\NN
+ acceptdesc & \acceptdesc\NN
+ acceptdescription & \acceptdescription\NN
+ accepteuros & \accepteuros\NN
+ acceptreference & \acceptreference\NN
+ accountname & \accountname\NN
+ accountno & \accountno\NN
+ addresscenter & \addresscenter\NN
+ addresswidth & \addresswidth\NN
+ areacode & \areacode\NN
+ autograph & \autograph\NN
+ bic & \bic\NN
+ cellphone & \cellphone\NN
+ chamber & \chamber\NN
+ city & \city\NN
+ closing & \closing\NN
+ company & \company\NN
+ country & \country\NN
+ countrycode & \countrycode\NN
+ currency & \currency\NN
+ email & \email\NN
+ enclosures & \enclosures\NN
+ fax & \fax\NN
+ forcedate & \forcedate\NN
+ iban & \iban\NN
+ leftaddress & \leftaddress\NN
+ logoaddress & \logoaddress\NN
+ opening & \opening\NN
+ openingcomma & \openingcomma\NN
+ ourref & \ourref\NN
+ phone & \phone\NN
+ phoneprefix & \phoneprefix\NN
+ returnaddress & \returnaddress\NN
+ rightaddress & \rightaddress\NN
+ routingno & \routingno\NN
+ signature & \signature\NN
+ street & \street\NN
+ subject & \subject\NN
+ term & \term\NN
+ vatno & \vatno\NN
+ website & \website\NN
+ who & \who\NN
+ yourletter & \yourletter\NN
+ yourref & \yourref\NN
+ zip & \zip\NN
+ \end{tabular}
+}
+\AtEndOfClass{%
+ \usepackage{hyperref}
+ \year=0
+}
+\AtEndDocument{%
+ \hypersetup{pdfauthor={\who},
+ pdfproducer={isodoc v\fileversion}
+ }
+}
+% \DescribeMacro{\itable}
+% |\itable| inserts an invoice table; arg1 should be the rows of the table.
+% \begin{macrocode}
+\def\itable#1{
+ \begin{tabularx}{\hsize}{@{}X@{\barsep\quad\qquad}r@{}}
+ \multicolumn{2}{@{}c@{}}{\sffamily\descriptiontext\hfill
+ \amounttext (\currency)}\ML
+ #1
+ \end{tabularx}
+}
+% \DescribeMacro{\iitem}
+% |\iitem| inserts an invoice item in the |\itable|.
+% It inserts |arg1 & arg2\NN|:
+% \begin{macrocode}
+\def\iitem#1#2{#1&#2\NN}
+% \DescribeMacro{\itotal}
+% \end{macrocode}
+% |\itotal| inserts an invoice total in the |\itable|.\\
+% It inserts |\cmidrule[.05em]{2-2}Total & arg1\NN|:
+% \begin{macrocode}
+\def\itotal#1{\cmidrule[.05em]{2-2}\totaltext&\textbf{#1}\NN}
+% \end{macrocode}
+% The counter |\lettercount| is used to construct a label on the last
+% page of each letter/invoice of this document; it wil be set to
+% \texttt{LastPageOf\textsl{n}}, where \textsl{n} is the letter
+% number: 1, 2, 3, ... This allows for page headings saying ``Page n
+% of m.'' This label is automatically added at the end of each letter.
+% \begin{macrocode}
+\newcounter{lettercount}\setcounter{lettercount}{0}
+% \end{macrocode}
+% \DescribeMacro{\invoice}
+% |\invoice| prints an invoice. The first argument is optional, and may
+% contain the same \textsl{key=value} statement as |\setupdocument|. This is
+% useful if the document contains more than one invoice for different
+% addressees.
+%
+% The second argument creates a two-column table with headings
+% ``Description'' and ``Amount (\EUR)''. The two columns are separated
+% with a vertical rule; its construction is somewhat complicated, as the
+% booktabs/ctable packages are in use that don't provide decent vertical
+% separators. The |\barsep| macro extends these separators vertically.
+% \begin{macrocode}
+\newif\ifclosing\closingtrue
+\newcount\footcount
+\newcommand{\invoice}[2][]{%
+ \closingfalse
+ \def\barsep{\raisebox{-1.5ex}[0pt][0pt]{\rule{.05em}{4ex}}}%
+ \letter[#1,
+ opening={\bfseries\scshape\Large\invoicetext},
+ openingcomma={},
+ closing={},
+ signature={}]{%
+ \Tbox{\isdc@cw}{127}{\isdc@ivcw}{#2}
+ }
+}
+% \end{macrocode}
+% \DescribeMacro{\letter}
+% |\letter| prints a letter...
+% The code is enclosed in an extra pair of braces, in order to keep option changes local
+% \begin{macrocode}
+\newcommand{\letter}[2][]{{%
+ \newpage
+ \setkeys{isodoc}{#1}
+% \end{macrocode}
+% By now, a language should have been chosen; if not, issue a warning
+% and set the language to the default: UKenglish
+% \begin{macrocode}
+ \ifx\yourlettertext\undefined\ClassWarning{isodoc}{
+ You did not use the language option; using the default: English
+ }\isodoc@UKenglish\fi
+ \ifnum\value{lettercount}=0%
+ \hypersetup{pdftitle={letter to \toname\ dated \today},
+ pdfsubject={\subject}}
+ \fi
+ \addtocounter{lettercount}{1}
+ \setcounter{page}{1}
+ \setcounter{footnote}{0}
+ \fancyhf{}
+ \if@twoside
+ \fancyhead[LE,RO]{\color{headingcolor}%
+ \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}}
+ \fancyhead[RE,LO]{\color{headingcolor}%
+ \totext: \toname\ (\date)}
+ \else
+ \fancyhead[L]{\color{headingcolor}%
+ \totext: \toname\ (\date)}
+ \fancyhead[R]{\color{headingcolor}%
+ \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}}
+ \fi
+ \logo
+% \end{macrocode}
+% addresscenter is the center, vertically, of the to-address block:
+% xaddress should be 1 or 3 for left- and right address windows
+% \begin{macrocode}
+ { \parskip=0pt\parindent=0pt
+ \begin{textblock}{\addresswidth}[0,.5](\xaddress,\addresscenter)%
+ \ifreturn
+ {\def\\{\unskip\enspace\textbullet\enspace\ignorespaces}%
+ \sffamily\bfseries\scriptsize\returnaddress
+ }\\[-.8\baselineskip]
+ \rule{\hsize}{.2pt}\\
+ \fi
+ \toname\\\toaddress
+ \end{textblock}
+ }
+ \openingpos=\headerpos
+ \ifheader
+ \advance\openingpos12
+ \advance\bodyskip12mm
+ \Tbox{\isdc@cw}{\headerpos}{\isdc@cw}{\noindent
+ {\@hft\yourlettertext}\\
+ \yourletter
+ }
+ \Tbox{\isdc@iicw}{\headerpos}{\isdc@cw}{\noindent
+ {\@hft\yourreftext}\\
+ \raggedright\yourref
+ }
+ \Tbox{\isdc@iiicw}{\headerpos}{\isdc@cw}{\noindent
+ {\@hft\ourreftext}\\
+ \raggedright\ourref
+ }
+ \Tbox{\isdc@ivcw}{\headerpos}{\isdc@cw}{\noindent
+ {\@hft\datetext}\\
+ \ifx\forcedate\empty%
+ \ifnum\year=0\Undefined{date}\else\date\fi
+ \else\forcedate\fi
+ }
+ \ifx\subject\empty\else%
+ \advance\openingpos10
+ \advance\bodyskip10mm
+ \Tbox{\isdc@cw}{108}{\isdc@iiicw}{\noindent
+ \begin{tabularx}{\hsize}{@{}l>{\raggedright}X@{}}
+ \@hft\subjecttext&\subject
+ \end{tabularx}
+ }
+ \fi
+ \fi
+ \footcount=\isdc@cw
+ \iffooter
+ \footfield{\websitetext}{}{\website}
+ \footfield{\phonetext}{\lead}{\phone}
+ \footfield{\cellphonetext}{\lead}{\cellphone}
+ \footfield{\faxtext}{\lead}{\fax}
+ \footfield{\emailtext}{}{\email}
+ \fi
+ { \parskip=0pt\parindent=0pt
+ \begin{textblock*}{3mm}(\xfold,\yfold)%
+ {\color{markercolor}\rule{\hsize}{.2pt}}
+ \end{textblock*}
+ }
+ \ifx\undefined\accepttype\else\accept\fi
+ \ifx\subject\empty\vspace*{80mm}\else\vspace*{90mm}\fi
+ \noindent\Tbox{\isdc@cw}{\ifx\subject\empty110\else120\fi}{\isdc@ivcw}{\opening\openingcomma}
+ \thispagestyle{empty}
+ \noindent
+ #2
+ {\parindent=0pt\parskip=\baselineskip
+ \ifclosing
+ \ifcase\autographversion
+ \par\closing\\\signature % 0: closing on the next line
+ \or\par\closing\\[\closingskip]\signature % 1: whiteskip
+ \or\autographA
+ \or\autographB
+ \or\autographC
+ \or\autographD
+ \or\autographE
+ \or\autographF
+ \or\autographG
+ \or\autographH
+ \else
+ \par\Undefined{autograph: \autographversion}\\
+ \fi
+ \fi
+ \ifx\enclosures\empty\else
+ \vfill
+ \setbox1=\vbox{\enclosures}%
+ \textbf{\ifdim\ht1>\baselineskip\enclosurestext\else\enclosuretext\fi}%
+ \\\enclosures
+ \fi
+ }
+ \label{LastPageOf\thelettercount}
+}}
+% \end{macrocode}
+% \subsection{Internal Macros}
+% The accept is produced from |\Tbox| and |\Cbox| commands only, using the
+% |textpos| package:
+% \DescribeMacro{\Cbox}
+% |\Cbox{x}{y}{width}{text}| places |text| in a box of |\testsl{width}| mm, centered around (|x|,|y|) in mm:
+% \begin{macrocode}
+\def\Cbox#1#2#3#4{%
+ { \parskip=0pt\parindent=0pt
+ \begin{textblock}{#3}[.5,.5](#1,#2)%
+ \begin{center}
+ #4
+ \end{center}
+ \end{textblock}
+ }
+}
+% \end{macrocode}
+% \DescribeMacro{\Tbox}
+% |\Tbox{x}{y}{width}{text}| places |text| in a box of |\testsl{width}| mm, with the upper left corner at (|x|,|y|) in mm:
+% \begin{macrocode}
+\long\def\Tbox#1#2#3#4{%
+ { \parskip0pt\parindent=0pt
+ \begin{textblock}{#3}(#1,#2)%
+ \begin{minipage}[t]{\hsize}
+ \noindent#4
+ \end{minipage}
+ \end{textblock}
+ }
+}
+% \end{macrocode}
+% \DescribeMacro{\accept}
+% This macro will have a parameter if other accept forms will have to be
+% programmed:
+% \begin{macrocode}
+\def\accept{
+ \Tbox{\xacceptdescription}
+ {\yacceptdescription}
+ {\wacceptdescription}
+ {\acceptdescription}
+ \Tbox{\xacceptdesc}
+ {\yacceptdesc}
+ {\wacceptdesc}
+ {\acceptdesc}
+ \Tbox{\xacceptaddress}
+ {\yacceptaddress}
+ {\wacceptaddress}
+ {\ifx\acceptaddress\empty\toname\\\toaddress\else\acceptaddress\fi}
+ \Cbox{\xacceptreference}
+ {\yacceptreference}
+ {\wacceptreference}
+ {\ocrb\acceptreference}
+ \Tbox{\xacceptref}
+ {\yacceptref}
+ {\wacceptref}
+ {\baselineskip=\acceptreferenceskip\ocrb\acceptreference}
+ \Cbox{\xaccepteuros}
+ {\yaccepteuros}
+ {\waccepteuros}
+ {\ocrb\accepteuros}
+ \Cbox{\xacceptaccount}
+ {\yacceptaccount}
+ {\wacceptaccount}
+ {\ocrb\acceptaccount}
+ \Cbox{\xacceptcents}
+ {\yacceptcents}
+ {\wacceptcents}
+ {\ocrb\acceptcents}
+ \Cbox{\xaccepteur}
+ {\yaccepteur}
+ {\waccepteur}
+ {\ocrb\accepteuros}
+ \Cbox{\xacceptct}
+ {\yacceptct}
+ {\wacceptct}
+ {\ocrb\acceptcents}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@catalan}
+% contributed by Cristian Peraferrer:
+% \begin{macrocode}
+\def\isodoc@catalan{%
+ \gdef\accountdatatext {Dades banc\`aries}
+ \gdef\accountnametext {a nom de}
+ \gdef\accountnotext {N\'um. de compte}
+ \gdef\amounttext {Quantitat}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {M\`obil}
+ \gdef\chambertext {Cambra de comer\c{c}}
+ \gdef\datetext {Data}
+ \gdef\daystext {dies}
+ \gdef\descriptiontext {Descripci\'o}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Annexos:}
+ \gdef\enclosuretext {Annex:}
+ \gdef\faxtext {Fax}
+ \gdef\invoicetext {factura}
+ \gdef\oftext {de}
+ \gdef\ourreftext {La nostra refer\`encia}
+ \gdef\pagetext {P\`agina}
+ \gdef\phonetext {Tel\`efon}
+ \gdef\referencetext {Refer\`encia}
+ \gdef\routingnotext {Nombre de ruta}
+ \gdef\subjecttext {Assumpte}
+ \gdef\termtext {Termini del pagament}
+ \gdef\totaltext {Total}
+ \gdef\totext {A}
+ \gdef\vatnotext {N\'um. IVA}
+ \gdef\vattext {IVA}
+ \gdef\websitetext {Web}
+ \gdef\yourlettertext {La seva carta del}
+ \gdef\yourreftext {La seva refer\`encia}
+ \gdef\date {\number\day\space\ifcase\month\or
+ gener\or febrer\or mar\c{c}\or abril\or maig\or juny\or
+ juliol\or agost\or setembre\or octubre\or novembre\or desembre\fi
+ \space \number\year
+ }
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@dutch}
+% \begin{macrocode}
+\def\isodoc@dutch{%
+ \gdef\accountdatatext {Betalingsgegevens}
+ \gdef\accountnametext {ten name van}
+ \gdef\accountnotext {rekening nr}
+ \gdef\amounttext {Bedrag}
+ \gdef\ccname {Cc:}
+ \gdef\cellphonetext {mobiel}
+ \gdef\chambertext {kvk}
+ \gdef\datetext {Datum}
+ \gdef\daystext {dagen}
+ \gdef\descriptiontext {Omschrijving}
+ \gdef\emailtext {e-mail}
+ \gdef\enclosurestext {Bijlagen:}
+ \gdef\enclosuretext {Bijlage:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {rekening}
+ \gdef\oftext {van}
+ \gdef\ourreftext {Ons kenmerk}
+ \gdef\pagetext {Bladnummer}
+ \gdef\phonetext {telefoon}
+ \gdef\referencetext {kenmerk}
+ \gdef\routingnotext {banknummer}
+ \gdef\subjecttext {Onderwerp:}
+ \gdef\termtext {betalingstermijn}
+ \gdef\totaltext {Totaal}
+ \gdef\totext {Aan}
+ \gdef\vatnotext {btw nr}
+ \gdef\vattext {Btw}
+ \gdef\websitetext {webstek}
+ \gdef\yourlettertext {Uw brief van}
+ \gdef\yourreftext {Uw kenmerk}
+ \gdef\date {\number\day\space\ifcase\month\or
+ januari\or februari\or maart\or april\or mei\or juni\or juli\or
+ augustus\or september\or oktober\or november\or december\fi
+ \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@french}
+% \begin{macrocode}
+\def\isodoc@french{%
+ \gdef\accountdatatext {Donn\'ees banquaires}
+ \gdef\accountnametext {au nom de}
+ \gdef\accountnotext {no. compte}
+ \gdef\amounttext {Montant}
+ \gdef\ccname {Copie \`a}
+ \gdef\cellphonetext {portable}
+ \gdef\chambertext {c.c.i.}
+ \gdef\datetext {Date:}
+ \gdef\daystext {jours}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Pi\`eces jointes:}
+ \gdef\enclosuretext {Pi\`ece jointe:}
+ \gdef\faxtext {t\'el\'efax}
+ \gdef\invoicetext {facture}
+ \gdef\oftext {de}
+ \gdef\ourreftext {Nos r\'ef\'erences:}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {t\'el\'ephone}
+ \gdef\referencetext {r\'ef\'erence}
+ \gdef\routingnotext {num\'ero d'acheminement}
+ \gdef\subjecttext {Objet:}
+ \gdef\termtext {terme}
+ \gdef\totaltext {Total}
+ \gdef\totext {\`A l'attention de}
+ \gdef\vatnotext {no. T.V.A.}
+ \gdef\vattext {T.V.A.}
+ \gdef\websitetext {site Web}
+ \gdef\yourlettertext {Votre lettre du}
+ \gdef\yourreftext {Vos r\'ef\'erences:}
+ \gdef\date {\number\day\ifnum\day=1$^{er}$\fi\space\ifcase\month\or
+ janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
+ juillet\or ao\^ut\or septembre\or octobre\or
+ novembre\or d\'ecembre\fi \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@german}
+% \begin{macrocode}
+\def\isodoc@german{%
+ \gdef\accountdatatext {Bezahlungsdaten}
+ \gdef\accountnametext {Name}
+ \gdef\accountnotext {Konto Nr}
+ \gdef\amounttext {Betrag}
+ \gdef\ccname {Kopien an}
+ \gdef\cellphonetext {Handy}
+ \gdef\chambertext {Register Nr}
+ \gdef\datetext {Datum}
+ \gdef\daystext {Tage}
+ \gdef\descriptiontext {Umschreibung}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Anlagen:}
+ \gdef\enclosuretext {Anlage:}
+ \gdef\faxtext {Telefax}
+ \gdef\invoicetext {rechnung}
+ \gdef\oftext {aus}
+ \gdef\ourreftext {Unser Zeichen}
+ \gdef\pagetext {Seite}
+ \gdef\phonetext {Telefon}
+ \gdef\referencetext {Beleg Nr}
+ \gdef\routingnotext {BLZ}
+ \gdef\subjecttext {Betrifft:}
+ \gdef\termtext {Zahlungstermin}
+ \gdef\totaltext {Insgesamt}
+ \gdef\totext {An}
+ \gdef\vatnotext {Ustid Nr}
+ \gdef\vattext {MwSt}
+ \gdef\websitetext {Webseite}
+ \gdef\yourlettertext {Ihr Brief vom}
+ \gdef\yourreftext {Ihr Zeichen}
+ \gdef\date {\number\day.\space\ifcase\month\or
+ Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
+ Juli\or August\or September\or Oktober\or November\or Dezember\fi
+ \space\number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@italian}
+% contributed by Walter Giocoso:
+% \begin{macrocode}
+\def\isodoc@italian{%
+ \gdef\accountdatatext {Coordinate bancarie}
+ \gdef\accountnametext {intestato a}
+ \gdef\accountnotext {n$^o$~del conto}
+ \gdef\amounttext {Prezzo}
+ \gdef\ccname {Per conoscenza a:}
+ \gdef\cellphonetext {cellulare:}
+ \gdef\chambertext {}
+ \gdef\datetext {Data:}
+ \gdef\daystext {giorni}
+ \gdef\descriptiontext {Descrizione}
+ \gdef\emailtext {e-mail:}
+ \gdef\enclosurestext {Allegati:}
+ \gdef\enclosuretext {Allegato:}
+ \gdef\faxtext {fax:}
+ \gdef\invoicetext {fattura}
+ \gdef\oftext {di}
+ \gdef\ourreftext {Nostro riferimento:}
+ \gdef\pagetext {Pagina}
+ \gdef\phonetext {telefono:}
+ \gdef\referencetext {riferimento}
+ \gdef\routingnotext {numero di routing}
+ \gdef\subjecttext {Oggetto:}
+ \gdef\termtext {scadenza}
+ \gdef\totaltext {Totale}
+ \gdef\totext {All'attenzione di:}
+ \gdef\vatnotext {Partita I.V.A.}
+ \gdef\vattext {I.V.A.}
+ \gdef\websitetext {sito Web:}
+ \gdef\yourlettertext {Vostra lettera del:}
+ \gdef\yourreftext {Vostro riferimento:}
+ \gdef\date {\number\day\ifnum\day=1\fi
+ ~\ifcase\month\or
+ Gennaio\or Febbraio\or Marzo\or Aprile\or Maggio\or Giugno\or
+ Luglio\or Agosto\or Settembre\or Ottobre\or Novembre\or Dicembre\fi
+ \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@norsk}
+% contributed by Sveinung Heggen:
+% \begin{macrocode}
+\def\isodoc@norsk {%
+ \gdef\accountdatatext {betales til}
+ \gdef\accountnametext {til}
+ \gdef\accountnotext {faktura nr}
+ \gdef\amounttext {Bel\o{}p}
+ \gdef\ccname {kopi til:}
+ \gdef\cellphonetext {mobil}
+ \gdef\chambertext {}
+ \gdef\datetext {Dato}
+ \gdef\daystext {dager}
+ \gdef\descriptiontext {Beskrivelse}
+ \gdef\emailtext {e-post}
+ \gdef\enclosurestext {Vedlegg:}
+ \gdef\enclosuretext {Vedlegg:}
+ \gdef\faxtext {telefaks}
+ \gdef\invoicetext {faktura}
+ \gdef\oftext {av}
+ \gdef\ourreftext {V\aa{}r ref:}
+ \gdef\pagetext {Side}
+ \gdef\phonetext {telefon}
+ \gdef\referencetext {referanse}
+ \gdef\routingnotext {routing-nummer}
+ \gdef\subjecttext {Vedr:}
+ \gdef\termtext {betalingsfrist}
+ \gdef\totaltext {Total}
+ \gdef\totext {Til}
+ \gdef\vatnotext {Org. nr.}
+ \gdef\vattext {Mva}
+ \gdef\websitetext {hjemmeside}
+ \gdef\yourlettertext {Deres brev av}
+ \gdef\yourreftext {Deres ref:}
+ \gdef\date {\number\day.\space\ifcase\month\or
+ januar\or februar\or mars\or april\or mai\or juni\or
+ juli\or august\or september\or oktober\or november\or desember\fi
+ \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@serbian}
+% contributed by Zoran T. Filipovic:
+% \begin{macrocode}
+\def\isodoc@serbian {%
+ \gdef\totaltext {Ukupno}
+ \gdef\vattext {PDV}
+ \gdef\accountdatatext {Podaci o bankarskom sektoru}
+ \gdef\accountnametext {na ime}
+ \gdef\accountnotext {Ra\v cun br.}
+ \gdef\amounttext {Iznos}
+ \gdef\ccname {Kopije}
+ \gdef\cellphonetext {Mobilni}
+ \gdef\chambertext {Spisak br.}
+ \gdef\datetext {Datum}
+ \gdef\daystext {dana}
+ \gdef\descriptiontext {Opis}
+ \gdef\emailtext {Email}
+ \gdef\enclosurestext {Prilozi:}
+ \gdef\enclosuretext {Prilog:}
+ \gdef\faxtext {Telefax}
+ \gdef\invoicetext {faktura}
+ \gdef\oftext {od}
+ \gdef\ourreftext {Na\v s broj}
+ \gdef\pagetext {Strana}
+ \gdef\phonetext {Telefon}
+ \gdef\referencetext {Dokumet br.}
+ \gdef\routingnotext {BLZ}
+ \gdef\subjecttext {Predmet:}
+ \gdef\termtext {rok pla\' canja}
+ \gdef\totext {U}
+ \gdef\vatnotext {porez br.}
+ \gdef\websitetext {Website}
+ \gdef\yourlettertext {Va\v se pismo od}
+ \gdef\yourreftext {Va\v s broj}
+ \gdef\date{\number\day.~\ifcase\month\or
+ Januar\or Februar\or Mart\or April\or Maj\or Jun\or
+ Jul\or Avgust\or Septembar\or Oktobar\or Novembar\or Decembar\fi
+ \space\number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@spanish}
+% contributed by Cristian Peraferrer:
+% \begin{macrocode}
+\def\isodoc@spanish{%
+ \gdef\accountdatatext {Datos bancarios}
+ \gdef\accountnametext {a nombre de}
+ \gdef\accountnotext {N\'um. de cuenta}
+ \gdef\amounttext {Cantidad}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {M\'ovil}
+ \gdef\chambertext {C\'amara de comercio}
+ \gdef\datetext {Fecha}
+ \gdef\daystext {d\'{\i}as}
+ \gdef\descriptiontext {Descripci\'on}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Anexos:}
+ \gdef\enclosuretext {Anexo:}
+ \gdef\faxtext {Fax}
+ \gdef\invoicetext {factura}
+ \gdef\oftext {de}
+ \gdef\ourreftext {Nuestra referencia}
+ \gdef\pagetext {P\'agina}
+ \gdef\phonetext {Tel\'efono}
+ \gdef\referencetext {Referencia}
+ \gdef\routingnotext {n\'umero de ruta}
+ \gdef\subjecttext {Asunto}
+ \gdef\termtext {Plazo de pago}
+ \gdef\totaltext {Total}
+ \gdef\totext {A}
+ \gdef\vatnotext {N\'um. IVA}
+ \gdef\vattext {IVA}
+ \gdef\websitetext {Web}
+ \gdef\yourlettertext {Su carta de}
+ \gdef\yourreftext {Su referencia}
+ \gdef\date {\number\day\space\ifcase\month\or
+ enero\or febrero\or marzo\or abril\or mayo\or junio\or
+ julio\or agosto\or septiembre\or octubre\or noviembre\or diciembre\fi
+ \space \number\year
+ }
+}
+% \DescribeMacro{\isodoc@UKenglish}
+% \begin{macrocode}
+\def\isodoc@UKenglish{%
+ \gdef\accountdatatext {Banking data}
+ \gdef\accountnametext {in the name of}
+ \gdef\accountnotext {Account no.}
+ \gdef\amounttext {Amount}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {cellphone}
+ \gdef\chambertext {ch.comm.}
+ \gdef\datetext {Date}
+ \gdef\daystext {days}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Enclosures:}
+ \gdef\enclosuretext {Enclosure:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {invoice}
+ \gdef\oftext {of}
+ \gdef\ourreftext {Our reference}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {telephone}
+ \gdef\referencetext {Reference}
+ \gdef\routingnotext {Routing no}
+ \gdef\subjecttext {Subject:}
+ \gdef\termtext {term of payment}
+ \gdef\totaltext {Total}
+ \gdef\totext {To}
+ \gdef\vatnotext {vat no.}
+ \gdef\vattext {Vat}
+ \gdef\websitetext {website}
+ \gdef\yourlettertext {Your letter of}
+ \gdef\yourreftext {Your reference}
+ \gdef\date{\ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
+ 11th\or 12th\or 13th\or 14th\or 15th\or
+ 16th\or 17th\or 18th\or 19th\or 20th\or
+ 21st\or 22nd\or 23rd\or 24th\or 25th\or
+ 26th\or 27th\or 28th\or 29th\or 30th\or
+ 31st\fi\space\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space \number\year}
+}
+% \end{macrocode}
+% \DescribeMacro{\isodoc@USenglish}
+% \begin{macrocode}
+\def\isodoc@USenglish{%
+ \gdef\accountdatatext {Bank details}
+ \gdef\accountnametext {in the name of}
+ \gdef\accountnotext {Account no.}
+ \gdef\amounttext {Amount}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {cellphone}
+ \gdef\chambertext {ch.comm.}
+ \gdef\datetext {Date}
+ \gdef\daystext {days}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Enclosures:}
+ \gdef\enclosuretext {Enclosure:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {invoice}
+ \gdef\oftext {of}
+ \gdef\ourreftext {Our reference}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {telephone}
+ \gdef\referencetext {Reference}
+ \gdef\routingnotext {Routing no}
+ \gdef\subjecttext {Subject:}
+ \gdef\termtext {term of payment}
+ \gdef\totaltext {Total}
+ \gdef\totext {To}
+ \gdef\vatnotext {vat no.}
+ \gdef\vattext {Vat}
+ \gdef\websitetext {website}
+ \gdef\yourlettertext {Your letter of}
+ \gdef\yourreftext {Your reference}
+ \gdef\date {\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+}
+% \end{macrocode}
+% \Finale
+\endinput
+$Id: isodoc.dtx,v 1.30 2010-01-11 20:56:21 wybo Exp $
diff --git a/Master/texmf-dist/tex/latex/isodoc/isodoc.cls b/Master/texmf-dist/tex/latex/isodoc/isodoc.cls
index ca288b554f0..df869b677a1 100644
--- a/Master/texmf-dist/tex/latex/isodoc/isodoc.cls
+++ b/Master/texmf-dist/tex/latex/isodoc/isodoc.cls
@@ -22,60 +22,47 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{isodoc}%
- [2009/11/16 v0.7 isodoc class for letters and invoices]
-\ifnum\pdfoutput=1\else\ClassError{isodoc}{Compile me with pdflatex!}{}
-\fi
+ [2010/08/25 v0.8 isodoc class for letters and invoices]
+\ifx\pdfoutput\undefined\else%
+\ifnum\pdfoutput=1\else\ClassError{isodoc}{Compile me with pdflatex or xelatex!}{}
+\fi\fi
%% \StopEventually{}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions
\LoadClass{article}
-\RequirePackage{ctable,eurosym,graphicx,stringstrings}
-\RequirePackage[dutch,norsk,german,frenchb,american,english]{babel}
-\RequirePackage[a4paper,margin=35mm,nofoot,head=\baselineskip]{geometry}
+\RequirePackage{ctable,eurosym,graphicx,stringstrings,calc}
+\RequirePackage[nofoot,head=\baselineskip]{geometry}
\RequirePackage[absolute,overlay]{textpos}
-\ifdim\paperwidth>\paperheight\TPGrid{297}{210}\else\TPGrid{210}{297}\fi
+\geometry{papersize={210mm,297mm},margin=35mm}
+\TPGrid{210}{297}
\definecolor{headcolor}{gray}{0}
\definecolor{headingcolor}{gray}{0}
\definecolor{markercolor}{gray}{0}
\RequirePackage{fancyhdr}
\pagestyle{fancy}
-\fancyhf{}
-\if@twoside
- \fancyhead[LE,RO]{\color{headingcolor}%
- \pagetext\ \thepage\ \oftext{} \pageref{LastPageOf\thelettercount}}
- \fancyhead[RE,LO]{\color{headingcolor}%
- \totext: \toname\ (\date)}
-\else
- \fancyhead[L]{\color{headingcolor}%
- \totext: \toname\ (\date)}
- \fancyhead[R]{\color{headingcolor}%
- \pagetext\ \thepage\ \oftext{} \pageref{LastPageOf\thelettercount}}
-\fi
+\AtBeginDocument{\addtolength{\headheight}{\baselineskip}}
\newif\ifpreamble\preambletrue
\AtBeginDocument{\preamblefalse}
\definecolor{isodocpink}{rgb}{1,.7,.7}
\def\Undefined#1{\colorbox{isodocpink}{Undefined #1}}
\def\@hft{\footnotesize\sffamily\color{headcolor}}
-\define@key{isodoc}{fontpackage}{\def\fontpackage{#1}}
- \def\fontpackage{lmodern}
\def\@xyshift#1,#2@@@{\def\@xshift{#1}\def\@yshift{#2}}
\define@key{isodoc}{shift}{%
\@xyshift#1@@@
\AtBeginDocument{\textblockorigin{\@xshift mm}{\@yshift mm}}
}
-\define@key{isodoc}{cityzip}[\cityziptrue]{\cityziptrue}
- \newif\ifcityzip\cityzipfalse
\define@key{isodoc}{foreign}[\foreigntrue]{\foreigntrue}
\newif\ifforeign\foreignfalse
+\define@key{isodoc}{cityzip}[\cityziptrue]{\cityziptrue}
+ \newif\ifcityzip\cityzipfalse
\define@key{isodoc}{localbank}[\localbanktrue]{\localbanktrue}
\newif\iflocalbank\localbankfalse
-\define@key{isodoc}{dutch} []{\dutchdoc}
-\define@key{isodoc}{english} []{\englishdoc}
- \AtEndOfClass{\englishdoc}
-\define@key{isodoc}{german} []{\germandoc}
-\define@key{isodoc}{american}[]{\americandoc}
-\define@key{isodoc}{french} []{\frenchdoc}
-\define@key{isodoc}{norwegian} []{\norwegiandoc}
+\define@key{isodoc}{dutch} []{\isodoc@dutch}
+\define@key{isodoc}{english} []{\isodoc@UKenglish}
+\define@key{isodoc}{german} []{\isodoc@german}
+\define@key{isodoc}{american}[]{\isodoc@USenglish}
+\define@key{isodoc}{french} []{\isodoc@french}
+\define@key{isodoc}{language}{\csname isodoc@#1\endcsname}
\define@key{isodoc}{fill} []{\rightskip=1\rightskip}
\define@key{isodoc}{nofill}[]{\rightskip=0mm plus 35mm}
\rightskip=0mm plus 35mm
@@ -115,9 +102,12 @@
\define@key{isodoc}{header} []{\headertrue}
\newif\ifheader\headertrue
\define@key{isodoc}{noheader}[]{\headerfalse}
-\define@key{isodoc}{bodyshift} {\advance\headerpos#1\advance\bodyskip#1mm}
- \newdimen\bodyskip\bodyskip=0mm
+\define@key{isodoc}{bodyshift} {\advance\headerpos#1}
\newcount\headerpos\headerpos=98
+\newcount\footerpos\footerpos=275
+\newcount\subjectpos
+\newcount\openingpos
+\newcount\textskip
\define@key{isodoc}{footer} []{\footertrue}
\newif\iffooter\footerfalse
\define@key{isodoc}{nofooter}[]{\footerfalse}
@@ -155,7 +145,6 @@
\define@key{isodoc}{forcedate}{\def\forcedate{#1}}\def\forcedate{}
\define@key{isodoc}{subject}{\def\subject{#1}}
\def\subject{}
-\newcount\openingpos
\define@key{isodoc}{opening} {\def\opening{#1}}
\def\openingcomma{,}
\define@key{isodoc}{openingcomma}{\def\openingcomma{#1}}
@@ -180,7 +169,7 @@
\define@key{isodoc}{chamber} {\def\chamber{#1}}
\def\chamber{Undefined{chamber}}
\define@key{isodoc}{currency} {\def\currency{#1}}
- \def\currency{\EUR}
+ \def\currency{\EUR}
\define@key{isodoc}{accept}[E05]{\def\accepttype{#1}
\newfont\ocrb{ocrb10}
}
@@ -263,8 +252,6 @@
\newcommand{\setupdocument}[1]{
\setkeys{isodoc}{#1}
\iffooter\else\geometry{bottom=25mm}\fi
- \RequirePackage[T1]{fontenc}
- \RequirePackage{\fontpackage}\pdfprotrudechars=1
}
\newcount\@isoyear \@isoyear=\year \year=0
\newcount\@isomonth \@isomonth=\month
@@ -301,7 +288,7 @@
}
\def\footfield#1#2#3{%
\ifx#3\empty\else
- \Tbox{\footcount}{275}{35}{\noindent
+ \Tbox{\footcount}{\footerpos}{35}{\noindent
{\@hft#1}\\
#2#3
}
@@ -361,7 +348,6 @@
email & \email\NN
enclosures & \enclosures\NN
fax & \fax\NN
- fontpackage & \fontpackage\NN
forcedate & \forcedate\NN
iban & \iban\NN
leftaddress & \leftaddress\NN
@@ -392,7 +378,7 @@
}
\AtEndDocument{%
\hypersetup{pdfauthor={\who},
- pdfproducer={isodoc v\fileversion},
+ pdfproducer={isodoc v\fileversion}
}
}
\def\itable#1{
@@ -403,27 +389,44 @@
\end{tabularx}
}
\def\iitem#1#2{#1&#2\NN}
-\def\itotal#1{\cmidrule[.05em]{2-2}\Totaltext&\textbf{#1}\NN}
+\def\itotal#1{\cmidrule[.05em]{2-2}\totaltext&\textbf{#1}\NN}
\newcounter{lettercount}\setcounter{lettercount}{0}
-\AtEndDocument{\label{LastPageOf\thelettercount}}
\newif\ifclosing\closingtrue
\newcount\footcount
\newcommand{\invoice}[2][]{%
\closingfalse
\def\barsep{\raisebox{-1.5ex}[0pt][0pt]{\rule{.05em}{4ex}}}%
- \letter[#1,opening=\invoicetext,openingcomma={},closing={},signature={}]{%
- \Tbox{35}{127}{140}{#2}
- }
+ \letter[#1,
+ opening={\bfseries\scshape\Large\invoicetext},
+ openingcomma={},
+ closing={},
+ signature={}]{\Tbox{35}{127}{140}{#2}}
}
-\newcommand{\letter}[2][]{{ % extra brace keeps option changes local
- \setkeys{isodoc}{#1}
- \hypersetup{pdftitle={letter to \toname\ dated \today},
- pdfsubject={\subject}}
- \label{LastPageOf\thelettercount}
+\newcommand{\letter}[2][]{{%
\newpage
+ \setkeys{isodoc}{#1}
+ \ifx\yourlettertext\undefined\ClassWarning{isodoc}{
+ You did not use the language option; using the default: UKenglish
+ }\isodoc@UKenglish\fi
+ \ifnum\value{lettercount}=0%
+ \hypersetup{pdftitle={letter to \toname\ dated \today},
+ pdfsubject={\subject}}
+ \fi
\addtocounter{lettercount}{1}
\setcounter{page}{1}
\setcounter{footnote}{0}
+ \fancyhf{}
+ \if@twoside
+ \fancyhead[LE,RO]{\color{headingcolor}%
+ \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}}
+ \fancyhead[RE,LO]{\color{headingcolor}%
+ \totext: \toname\ (\date)}
+ \else
+ \fancyhead[L]{\color{headingcolor}%
+ \totext: \toname\ (\date)}
+ \fancyhead[R]{\color{headingcolor}%
+ \pagetext\ \thepage\ \oftext{} \begin{NoHyper}\pageref{LastPageOf\thelettercount}\end{NoHyper}}
+ \fi
\logo
{ \parskip=0pt\parindent=0pt
\begin{textblock}{\addresswidth}[0,.5](\xaddress,\addresscenter)%
@@ -436,10 +439,12 @@
\toname\\\toaddress
\end{textblock}
}
- \openingpos=\headerpos
+ \subjectpos=\headerpos
+ \textskip=\headerpos\advance\textskip-12
+ \ifx\subject\empty\advance\textskip-10\else\advance\subjectpos10\fi
+ \openingpos=\subjectpos
\ifheader
- \advance\openingpos12
- \advance\bodyskip12mm
+ \openingpos=\subjectpos\advance\openingpos12
\Tbox{35}{\headerpos}{35}{\noindent
{\@hft\yourlettertext}\\
\yourletter
@@ -459,14 +464,14 @@
\else\forcedate\fi
}
\ifx\subject\empty\else%
- \advance\openingpos10
- \advance\bodyskip10mm
- \Tbox{35}{108}{105}{\noindent
+ \Tbox{35}{\subjectpos}{105}{\noindent
\begin{tabularx}{\hsize}{@{}l>{\raggedright}X@{}}
\@hft\subjecttext&\subject
\end{tabularx}
}
\fi
+ \else
+ \advance\textskip-12
\fi
\footcount=35
\iffooter
@@ -482,10 +487,8 @@
\end{textblock*}
}
\ifx\undefined\accepttype\else\accept\fi
- \ifx\subject\empty\vspace*{80mm}\else\vspace*{90mm}\fi
- \noindent\Tbox{35}{\ifx\subject\empty110\else120\fi}{140}{\opening\openingcomma}
- \thispagestyle{empty}
-
+ \noindent\Tbox{35}{\openingpos}{140}{\opening\openingcomma}
+ \vspace{\textskip mm}
\thispagestyle{empty}
\noindent
#2
@@ -513,6 +516,7 @@
\\\enclosures
\fi
}
+ \label{LastPageOf\thelettercount}
}}
\def\Cbox#1#2#3#4{%
{ \parskip=0pt\parindent=0pt
@@ -574,234 +578,375 @@
{\wacceptct}
{\ocrb\acceptcents}
}
-\def\set@lang#1{%
- \ifpreamble\AtBeginDocument{\selectlanguage{#1}}%
- \else\selectlanguage{#1}\fi}
-\def\dutchdoc{%
- \set@lang{dutch}
- \def\yourlettertext{Uw brief van}
- \def\yourreftext{Uw kenmerk}
- \def\ourreftext{Ons kenmerk}
- \def\datetext{Datum}
- \def\totext{Aan}
- \def\pagetext{Bladnummer}
- \def\oftext{van}
- \def\date{\number\day~\ifcase\month\or
+\def\isodoc@catalan{%
+ \gdef\accountdatatext {Dades banc\`aries}
+ \gdef\accountnametext {a nom de}
+ \gdef\accountnotext {N\'um. de compte}
+ \gdef\amounttext {Quantitat}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {M\`obil}
+ \gdef\chambertext {Cambra de comer\c{c}}
+ \gdef\datetext {Data}
+ \gdef\daystext {dies}
+ \gdef\descriptiontext {Descripci\'o}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Annexos:}
+ \gdef\enclosuretext {Annex:}
+ \gdef\faxtext {Fax}
+ \gdef\invoicetext {factura}
+ \gdef\oftext {de}
+ \gdef\ourreftext {La nostra refer\`encia}
+ \gdef\pagetext {P\`agina}
+ \gdef\phonetext {Tel\`efon}
+ \gdef\referencetext {Refer\`encia}
+ \gdef\routingnotext {Nombre de ruta}
+ \gdef\subjecttext {Assumpte}
+ \gdef\termtext {Termini del pagament}
+ \gdef\totaltext {Total}
+ \gdef\totext {A}
+ \gdef\vatnotext {N\'um. IVA}
+ \gdef\vattext {IVA}
+ \gdef\websitetext {Web}
+ \gdef\yourlettertext {La seva carta del}
+ \gdef\yourreftext {La seva refer\`encia}
+ \gdef\date {\number\day\space\ifcase\month\or
+ gener\or febrer\or mar\c{c}\or abril\or maig\or juny\or
+ juliol\or agost\or setembre\or octubre\or novembre\or desembre\fi
+ \space \number\year
+ }
+}
+\def\isodoc@dutch{%
+ \gdef\accountdatatext {Betalingsgegevens}
+ \gdef\accountnametext {ten name van}
+ \gdef\accountnotext {rekening nr}
+ \gdef\amounttext {Bedrag}
+ \gdef\ccname {Cc:}
+ \gdef\cellphonetext {mobiel}
+ \gdef\chambertext {kvk}
+ \gdef\datetext {Datum}
+ \gdef\daystext {dagen}
+ \gdef\descriptiontext {Omschrijving}
+ \gdef\emailtext {e-mail}
+ \gdef\enclosurestext {Bijlagen:}
+ \gdef\enclosuretext {Bijlage:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {rekening}
+ \gdef\oftext {van}
+ \gdef\ourreftext {Ons kenmerk}
+ \gdef\pagetext {Bladnummer}
+ \gdef\phonetext {telefoon}
+ \gdef\referencetext {kenmerk}
+ \gdef\routingnotext {banknummer}
+ \gdef\subjecttext {Onderwerp:}
+ \gdef\termtext {betalingstermijn}
+ \gdef\totaltext {Totaal}
+ \gdef\totext {Aan}
+ \gdef\vatnotext {btw nr}
+ \gdef\vattext {Btw}
+ \gdef\websitetext {webstek}
+ \gdef\yourlettertext {Uw brief van}
+ \gdef\yourreftext {Uw kenmerk}
+ \gdef\date {\number\day\space\ifcase\month\or
januari\or februari\or maart\or april\or mei\or juni\or juli\or
augustus\or september\or oktober\or november\or december\fi
\space \number\year}
- \def\subjecttext{Onderwerp:}
- \def\ccname{Cc:}
- \def\enclosuretext{Bijlage:}
- \def\enclosurestext{Bijlagen:}
- \def\faxtext{telefax}
- \def\websitetext{webstek}
- \def\emailtext{email}
- \def\phonetext{telefoon}
- \def\cellphonetext{mobiel}
- \def\chambertext{kvk}
- \def\invoicetext{{\bfseries\Large\scshape rekening}}
- \def\descriptiontext{Omschrijving}
- \def\amounttext{Bedrag}
- \def\accountdatatext{Betalingsgegevens}
- \def\termtext{betalingstermijn}
- \def\daystext{dagen}
- \def\accountnotext{rekening nr}
- \def\accountnametext{ten name van}
- \def\referencetext{kenmerk}
- \def\chambertext{kvk}
- \def\vatnotext{btw nr}
- \def\Vattext{Btw}
- \def\Totaltext{Totaal}
}
-\def\englishdoc{%
- \set@lang{english}
- \def\yourlettertext{Your letter of}
- \def\yourreftext{Your reference}
- \def\ourreftext{Our reference}
- \def\datetext{Date}
- \def\totext{To}
- \def\pagetext{Page}
- \def\oftext{of}
- \def\date{\ifcase\day\or
- 1st\or 2nd\or 3rd\or 4th\or 5th\or
- 6th\or 7th\or 8th\or 9th\or 10th\or
+\def\isodoc@french{%
+ \gdef\accountdatatext {Donn\'ees banquaires}
+ \gdef\accountnametext {au nom de}
+ \gdef\accountnotext {no. compte}
+ \gdef\amounttext {Montant}
+ \gdef\ccname {Copie \`a}
+ \gdef\cellphonetext {portable}
+ \gdef\chambertext {c.c.i.}
+ \gdef\datetext {Date:}
+ \gdef\daystext {jours}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Pi\`eces jointes:}
+ \gdef\enclosuretext {Pi\`ece jointe:}
+ \gdef\faxtext {t\'el\'efax}
+ \gdef\invoicetext {facture}
+ \gdef\oftext {de}
+ \gdef\ourreftext {Nos r\'ef\'erences:}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {t\'el\'ephone}
+ \gdef\referencetext {r\'ef\'erence}
+ \gdef\routingnotext {num\'ero d'acheminement}
+ \gdef\subjecttext {Objet:}
+ \gdef\termtext {terme}
+ \gdef\totaltext {Total}
+ \gdef\totext {\`A l'attention de}
+ \gdef\vatnotext {no. T.V.A.}
+ \gdef\vattext {T.V.A.}
+ \gdef\websitetext {site Web}
+ \gdef\yourlettertext {Votre lettre du}
+ \gdef\yourreftext {Vos r\'ef\'erences:}
+ \gdef\date {\number\day\ifnum\day=1$^{er}$\fi\space\ifcase\month\or
+ janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
+ juillet\or ao\^ut\or septembre\or octobre\or
+ novembre\or d\'ecembre\fi \space \number\year}
+}
+\def\isodoc@german{%
+ \gdef\accountdatatext {Bezahlungsdaten}
+ \gdef\accountnametext {Name}
+ \gdef\accountnotext {Konto Nr}
+ \gdef\amounttext {Betrag}
+ \gdef\ccname {Kopien an}
+ \gdef\cellphonetext {Handy}
+ \gdef\chambertext {Register Nr}
+ \gdef\datetext {Datum}
+ \gdef\daystext {Tage}
+ \gdef\descriptiontext {Umschreibung}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Anlagen:}
+ \gdef\enclosuretext {Anlage:}
+ \gdef\faxtext {Telefax}
+ \gdef\invoicetext {rechnung}
+ \gdef\oftext {aus}
+ \gdef\ourreftext {Unser Zeichen}
+ \gdef\pagetext {Seite}
+ \gdef\phonetext {Telefon}
+ \gdef\referencetext {Beleg Nr}
+ \gdef\routingnotext {BLZ}
+ \gdef\subjecttext {Betrifft:}
+ \gdef\termtext {Zahlungstermin}
+ \gdef\totaltext {Insgesamt}
+ \gdef\totext {An}
+ \gdef\vatnotext {Ustid Nr}
+ \gdef\vattext {MwSt}
+ \gdef\websitetext {Webseite}
+ \gdef\yourlettertext {Ihr Brief vom}
+ \gdef\yourreftext {Ihr Zeichen}
+ \gdef\date {\number\day.\space\ifcase\month\or
+ Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
+ Juli\or August\or September\or Oktober\or November\or Dezember\fi
+ \space\number\year}
+}
+\def\isodoc@italian{%
+ \gdef\accountdatatext {Coordinate bancarie}
+ \gdef\accountnametext {intestato a}
+ \gdef\accountnotext {n$^o$~del conto}
+ \gdef\amounttext {Prezzo}
+ \gdef\ccname {Per conoscenza a:}
+ \gdef\cellphonetext {cellulare:}
+ \gdef\chambertext {}
+ \gdef\datetext {Data:}
+ \gdef\daystext {giorni}
+ \gdef\descriptiontext {Descrizione}
+ \gdef\emailtext {e-mail:}
+ \gdef\enclosurestext {Allegati:}
+ \gdef\enclosuretext {Allegato:}
+ \gdef\faxtext {fax:}
+ \gdef\invoicetext {fattura}
+ \gdef\oftext {di}
+ \gdef\ourreftext {Nostro riferimento:}
+ \gdef\pagetext {Pagina}
+ \gdef\phonetext {telefono:}
+ \gdef\referencetext {riferimento}
+ \gdef\routingnotext {numero di routing}
+ \gdef\subjecttext {Oggetto:}
+ \gdef\termtext {scadenza}
+ \gdef\totaltext {Totale}
+ \gdef\totext {All'attenzione di:}
+ \gdef\vatnotext {Partita I.V.A.}
+ \gdef\vattext {I.V.A.}
+ \gdef\websitetext {sito Web:}
+ \gdef\yourlettertext {Vostra lettera del:}
+ \gdef\yourreftext {Vostro riferimento:}
+ \gdef\date {\number\day\ifnum\day=1\fi
+ ~\ifcase\month\or
+ Gennaio\or Febbraio\or Marzo\or Aprile\or Maggio\or Giugno\or
+ Luglio\or Agosto\or Settembre\or Ottobre\or Novembre\or Dicembre\fi
+ \space \number\year}
+}
+\def\isodoc@norsk {%
+ \gdef\accountdatatext {betales til}
+ \gdef\accountnametext {til}
+ \gdef\accountnotext {faktura nr}
+ \gdef\amounttext {Bel\o{}p}
+ \gdef\ccname {kopi til:}
+ \gdef\cellphonetext {mobil}
+ \gdef\chambertext {}
+ \gdef\datetext {Dato}
+ \gdef\daystext {dager}
+ \gdef\descriptiontext {Beskrivelse}
+ \gdef\emailtext {e-post}
+ \gdef\enclosurestext {Vedlegg:}
+ \gdef\enclosuretext {Vedlegg:}
+ \gdef\faxtext {telefaks}
+ \gdef\invoicetext {faktura}
+ \gdef\oftext {av}
+ \gdef\ourreftext {V\aa{}r ref:}
+ \gdef\pagetext {Side}
+ \gdef\phonetext {telefon}
+ \gdef\referencetext {referanse}
+ \gdef\routingnotext {routing-nummer}
+ \gdef\subjecttext {Vedr:}
+ \gdef\termtext {betalingsfrist}
+ \gdef\totaltext {Total}
+ \gdef\totext {Til}
+ \gdef\vatnotext {Org. nr.}
+ \gdef\vattext {Mva}
+ \gdef\websitetext {hjemmeside}
+ \gdef\yourlettertext {Deres brev av}
+ \gdef\yourreftext {Deres ref:}
+ \gdef\date {\number\day.\space\ifcase\month\or
+ januar\or februar\or mars\or april\or mai\or juni\or
+ juli\or august\or september\or oktober\or november\or desember\fi
+ \space \number\year}
+}
+\def\isodoc@serbian {%
+ \gdef\totaltext {Ukupno}
+ \gdef\vattext {PDV}
+ \gdef\accountdatatext {Podaci o bankarskom sektoru}
+ \gdef\accountnametext {na ime}
+ \gdef\accountnotext {Ra\v cun br.}
+ \gdef\amounttext {Iznos}
+ \gdef\ccname {Kopije}
+ \gdef\cellphonetext {Mobilni}
+ \gdef\chambertext {Spisak br.}
+ \gdef\datetext {Datum}
+ \gdef\daystext {dana}
+ \gdef\descriptiontext {Opis}
+ \gdef\emailtext {Email}
+ \gdef\enclosurestext {Prilozi:}
+ \gdef\enclosuretext {Prilog:}
+ \gdef\faxtext {Telefax}
+ \gdef\invoicetext {faktura}
+ \gdef\oftext {od}
+ \gdef\ourreftext {Na\v s broj}
+ \gdef\pagetext {Strana}
+ \gdef\phonetext {Telefon}
+ \gdef\referencetext {Dokumet br.}
+ \gdef\routingnotext {BLZ}
+ \gdef\subjecttext {Predmet:}
+ \gdef\termtext {rok pla\' canja}
+ \gdef\totext {U}
+ \gdef\vatnotext {porez br.}
+ \gdef\websitetext {Website}
+ \gdef\yourlettertext {Va\v se pismo od}
+ \gdef\yourreftext {Va\v s broj}
+ \gdef\date{\number\day.~\ifcase\month\or
+ Januar\or Februar\or Mart\or April\or Maj\or Jun\or
+ Jul\or Avgust\or Septembar\or Oktobar\or Novembar\or Decembar\fi
+ \space\number\year}
+}
+\def\isodoc@spanish{%
+ \gdef\accountdatatext {Datos bancarios}
+ \gdef\accountnametext {a nombre de}
+ \gdef\accountnotext {N\'um. de cuenta}
+ \gdef\amounttext {Cantidad}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {M\'ovil}
+ \gdef\chambertext {C\'amara de comercio}
+ \gdef\datetext {Fecha}
+ \gdef\daystext {d\'{\i}as}
+ \gdef\descriptiontext {Descripci\'on}
+ \gdef\emailtext {E-mail}
+ \gdef\enclosurestext {Anexos:}
+ \gdef\enclosuretext {Anexo:}
+ \gdef\faxtext {Fax}
+ \gdef\invoicetext {factura}
+ \gdef\oftext {de}
+ \gdef\ourreftext {Nuestra referencia}
+ \gdef\pagetext {P\'agina}
+ \gdef\phonetext {Tel\'efono}
+ \gdef\referencetext {Referencia}
+ \gdef\routingnotext {n\'umero de ruta}
+ \gdef\subjecttext {Asunto}
+ \gdef\termtext {Plazo de pago}
+ \gdef\totaltext {Total}
+ \gdef\totext {A}
+ \gdef\vatnotext {N\'um. IVA}
+ \gdef\vattext {IVA}
+ \gdef\websitetext {Web}
+ \gdef\yourlettertext {Su carta de}
+ \gdef\yourreftext {Su referencia}
+ \gdef\date {\number\day\space\ifcase\month\or
+ enero\or febrero\or marzo\or abril\or mayo\or junio\or
+ julio\or agosto\or septiembre\or octubre\or noviembre\or diciembre\fi
+ \space \number\year
+ }
+}
+\def\isodoc@UKenglish{%
+ \gdef\accountdatatext {Banking data}
+ \gdef\accountnametext {in the name of}
+ \gdef\accountnotext {Account no.}
+ \gdef\amounttext {Amount}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {cellphone}
+ \gdef\chambertext {ch.comm.}
+ \gdef\datetext {Date}
+ \gdef\daystext {days}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Enclosures:}
+ \gdef\enclosuretext {Enclosure:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {invoice}
+ \gdef\oftext {of}
+ \gdef\ourreftext {Our reference}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {telephone}
+ \gdef\referencetext {Reference}
+ \gdef\routingnotext {Routing no}
+ \gdef\subjecttext {Subject:}
+ \gdef\termtext {term of payment}
+ \gdef\totaltext {Total}
+ \gdef\totext {To}
+ \gdef\vatnotext {vat no.}
+ \gdef\vattext {Vat}
+ \gdef\websitetext {website}
+ \gdef\yourlettertext {Your letter of}
+ \gdef\yourreftext {Your reference}
+ \gdef\date{\ifcase\day\or
+ 1st\or 2nd\or 3rd\or 4th\or 5th\or
+ 6th\or 7th\or 8th\or 9th\or 10th\or
11th\or 12th\or 13th\or 14th\or 15th\or
16th\or 17th\or 18th\or 19th\or 20th\or
21st\or 22nd\or 23rd\or 24th\or 25th\or
26th\or 27th\or 28th\or 29th\or 30th\or
- 31st\fi~\ifcase\month\or
+ 31st\fi\space\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space \number\year}
- \def\subjecttext{Subject:}
- \def\ccname{cc}
- \def\enclosuretext{Enclosure:}
- \def\enclosurestext{Enclosures:}
- \def\faxtext{telefax}
- \def\websitetext{website}
- \def\emailtext{email}
- \def\phonetext{telephone}
- \def\cellphonetext{cellphone}
- \def\invoicetext{{\bfseries\Large\scshape invoice}}
- \def\descriptiontext{Description}
- \def\amounttext{Amount}
- \def\accountdatatext{Banking data}
- \def\termtext{term of payment}
- \def\daystext{days}
- \def\accountnotext{Account no.}
- \def\accountnametext{to the name of}
- \def\referencetext{Reference}
- \def\chambertext{ch.comm.}
- \def\vatnotext{vat no.}
- \def\Vattext{Vat}
- \def\Totaltext{Total}
}
-\def\americandoc{%
- \set@lang{american}
- \def\yourlettertext{Your letter of}
- \def\yourreftext{Your reference}
- \def\ourreftext{Our reference}
- \def\datetext{Date}
- \def\totext{To}
- \def\pagetext{Page}
- \def\oftext{of}
- \def\date{\ifcase\month\or
+\def\isodoc@USenglish{%
+ \gdef\accountdatatext {Bank details}
+ \gdef\accountnametext {in the name of}
+ \gdef\accountnotext {Account no.}
+ \gdef\amounttext {Amount}
+ \gdef\ccname {cc}
+ \gdef\cellphonetext {cellphone}
+ \gdef\chambertext {ch.comm.}
+ \gdef\datetext {Date}
+ \gdef\daystext {days}
+ \gdef\descriptiontext {Description}
+ \gdef\emailtext {email}
+ \gdef\enclosurestext {Enclosures:}
+ \gdef\enclosuretext {Enclosure:}
+ \gdef\faxtext {telefax}
+ \gdef\invoicetext {invoice}
+ \gdef\oftext {of}
+ \gdef\ourreftext {Our reference}
+ \gdef\pagetext {Page}
+ \gdef\phonetext {telephone}
+ \gdef\referencetext {Reference}
+ \gdef\routingnotext {Routing no}
+ \gdef\subjecttext {Subject:}
+ \gdef\termtext {term of payment}
+ \gdef\totaltext {Total}
+ \gdef\totext {To}
+ \gdef\vatnotext {vat no.}
+ \gdef\vattext {Vat}
+ \gdef\websitetext {website}
+ \gdef\yourlettertext {Your letter of}
+ \gdef\yourreftext {Your reference}
+ \gdef\date {\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
- \def\subjecttext{Subject:}
- \def\ccname{cc}
- \def\enclosuretext{Enclosure:}
- \def\enclosurestext{Enclosures:}
- \def\faxtext{telefax}
- \def\websitetext{website}
- \def\emailtext{email}
- \def\phonetext{telephone}
- \def\cellphonetext{cellphone}
- \def\invoicetext{{\bfseries\Large\scshape invoice}}
- \def\descriptiontext{Description}
- \def\amounttext{Amount}
- \def\accountdatatext{Bank details}
- \def\termtext{term of payment}
- \def\daystext{days}
- \def\accountnotext{Account no.}
- \def\accountnametext{to the name of}
- \def\referencetext{Reference}
- \def\chambertext{ch.comm.}
- \def\vatnotext{vat no.}
- \def\Vattext{Vat}
- \def\Totaltext{Total}
-}
-\def\germandoc{%
- \set@lang{german}
- \def\yourlettertext{Ihr Brief vom}
- \def\yourreftext{Ihr Zeichen}
- \def\ourreftext{Unser Zeichen}
- \def\datetext{Datum}
- \def\totext{An}
- \def\pagetext{Seite}
- \def\oftext{aus}
- \def\date{\number\day.~\ifcase\month\or
- Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
- Juli\or August\or September\or Oktober\or November\or Dezember\fi
- \space\number\year}
- \def\subjecttext{Betrifft:}
- \def\ccname{Kopien an}
- \def\enclosuretext{Anlage:}
- \def\enclosurestext{Anlagen:}
- \def\faxtext{Telefax}
- \def\websitetext{Webseite}
- \def\emailtext{Email}
- \def\phonetext{Telefon}
- \def\cellphonetext{Handy}
- \def\invoicetext{{\bfseries\Large\scshape rechnung}}
- \def\descriptiontext{Umschreibung}
- \def\amounttext{Betrag}
- \def\accountdatatext{Bezahlungsdaten}
- \def\termtext{Zahlungstermin}
- \def\daystext{Tage}
- \def\accountnotext{Konto Nr}
- \def\routingnotext{BLZ}
- \def\accountnametext{Name}
- \def\referencetext{Beleg Nr}
- \def\chambertext{Register Nr}
- \def\vatnotext{Ustid Nr}
- \def\Vattext{MwSt}
- \def\Totaltext{Insgesamt}
-}
-\def\frenchdoc{%
- \set@lang{french}
- \def\yourlettertext{Votre lettre du}
- \def\yourreftext{Vos r\'ef\'erences:}
- \def\ourreftext{Nos r\'ef\'erences:}
- \def\datetext{Date:}
- \def\totext{\`A l'attention de}
- \def\pagetext{Page}
- \def\oftext{de}
- \def\date{\number\day\ifnum\day=1$^{er}$\fi
- ~\ifcase\month\or janvier\or
- f\'evrier\or mars\or avril\or mai\or juin\or
- juillet\or ao\^ut\or septembre\or octobre\or
- novembre\or d\'ecembre\fi \space \number\year}
- \def\subjecttext{Objet:}
- \def\ccname{Copie \`a}
- \def\enclosuretext{Pi\`ece jointe:}
- \def\enclosurestext{Pi\`eces jointes:}
- \def\faxtext{t\'el\'efax}
- \def\websitetext{site Web}
- \def\emailtext{email}
- \def\phonetext{t\'el\'ephone}
- \def\cellphonetext{portable}
- \def\invoicetext{{\bfseries\Large\scshape facture}}
- \def\descriptiontext{Description}
- \def\amounttext{Montant}
- \def\accountdatatext{Donn\'ees banquaires}
- \def\termtext{terme}
- \def\daystext{jours}
- \def\accountnotext{no. compte}
- \def\accountnametext{au nom de}
- \def\referencetext{r\'ef\'erence}
- \def\chambertext{c.c.i.}
- \def\vatnotext{no. T.V.A.}
- \def\Vattext{T.V.A.}
- \def\Totaltext{Total}
-}
-\def\norwegiandoc{%
- \set@lang{norsk}
- \def\yourlettertext{Deres brev av}
- \def\yourreftext{Deres ref:}
- \def\ourreftext{V\aa{}r ref:}
- \def\datetext{Dato}
- \def\totext{Til}
- \def\pagetext{Side}
- \def\oftext{av}
- \def\date{\number\day.~\ifcase\month\or
- januar\or februar\or mars\or april\or mai\or juni\or
- juli\or august\or september\or oktober\or november\or desember\fi
- \space \number\year}
- \def\subjecttext{Vedr:}
- \def\ccname{kopi til:}
- \def\enclosuretext{Vedlegg:}
- \def\enclosurestext{Vedlegg:}
- \def\faxtext{telefaks}
- \def\websitetext{hjemmeside}
- \def\emailtext{e-post}
- \def\phonetext{telefon}
- \def\cellphonetext{mobil}
- \def\invoicetext{{\bfseries\Large\scshape faktura}}
- \def\descriptiontext{Beskrivelse}
- \def\amounttext{Bel\o{}p}
- \def\accountdatatext{betales til}
- \def\termtext{betalingsfrist}
- \def\daystext{dager}
- \def\accountnotext{faktura nr}
- \def\accountnametext{til}
- \def\referencetext{referanse}
- \def\chambertext{}
- \def\vatnotext{Org. nr.}
- \def\Vattext{Mva}
- \def\Totaltext{Total}
}
\endinput
%%