diff options
author | Karl Berry <karl@freefriends.org> | 2013-09-04 22:54:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-09-04 22:54:57 +0000 |
commit | 9dc8a44e7c3a5c0d92836f7d5cfaff9782d77acf (patch) | |
tree | bc1f69d3f39f163e642d199f770ac718afceb8b2 /Master/texmf-dist/source/latex | |
parent | efbe9b2e9c32a3b15fdcb9041c69f3c8715927a7 (diff) |
isodoc (3sep13)
git-svn-id: svn://tug.org/texlive/trunk@31572 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/isodoc/isodoc.dtx | 1385 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/isodoc/isodoc.ins | 1 |
2 files changed, 563 insertions, 823 deletions
diff --git a/Master/texmf-dist/source/latex/isodoc/isodoc.dtx b/Master/texmf-dist/source/latex/isodoc/isodoc.dtx index 7ca661f36dc..861f1e8669a 100644 --- a/Master/texmf-dist/source/latex/isodoc/isodoc.dtx +++ b/Master/texmf-dist/source/latex/isodoc/isodoc.dtx @@ -1,28 +1,38 @@ % \iffalse meta-comment -% -% Copyright (C) 2006 by Wybo Dekker <wybo@dekkerdocumenten.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 +%<*internal> +\iffalse +%</internal> +%<*readme> +------------------------------------------------------------------------------------- +isodoc --- Typesetting of letters and invoices +Author: Wybo Dekker +E-mail: wybo@dekkerdocumenten.nl +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +------------------------------------------------------------------------------------- + +Short description: +The isodoc class is used for the preparation of letters and invoices. +Future versions will support the preparation of other, similar +documents. Documents are easily configured to the user's requirements +through key=value options. +At the origin of this class was Victor Eijkhout’s NTG brief class, +which implements the NEN1026 standard. + +Installation: +Execute the inst script with the --help option for more information. + +%</readme> +%<*internal> +\fi +%</internal> %<*driver> \ProvidesFile{isodoc.dtx} %</driver> %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{isodoc}% %<*class> - [2012/04/04 v0.11 isodoc class for letters and invoices] + [2013/08/27 v1.00 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!}{} @@ -32,9 +42,28 @@ \usepackage[l2tabu,orthodox]{nag} \usepackage{isodocsymbols,charter} \usepackage{ctable,pdfpages,paralist,sverb,ltablex} -\parindent0pt\parskip1ex -\PageIndex -\IndexPrologue{\section*{Index}} +\usepackage[a4paper,margin=20mm,left=50mm,nohead]{geometry} +\usepackage{hyperref} +%\OnlyDescription +\RecordChanges +\CodelineIndex\EnableCrossrefs +\hypersetup{ + pdftitle = The isodoc class, + pdfauthor = Wybo Dekker, + pdfsubject = {Preparation of letters and invoices}, + pdfkeywords = { + letter, + invoice, + key=value options, + NEN1026 + }, + bookmarksopen, + hidelinks +} + +%\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} @@ -53,6 +82,8 @@ \def\CMP#1{\C{#1}\marginpar{\C{#1}}} \begin{document} \DocInput{isodoc.dtx} + \PrintChanges + \PrintIndex \end{document} %</driver> % \fi @@ -75,80 +106,117 @@ % 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 -% } -% \changes{v0.8}{2010/08/24}{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 -% positioning of headings, subject, opening, body text fixed -% repaired several minor bugs -% } -% \changes{v0.9}{2012/02/19}{subject text uses full textwidth; use newlines if needed -% introducing isodocsymbols.sty -% new option closingcomma -% subject uses full textwidth -% new option closingcomma -% using foreach package for footfields -% removed some unwanted whitespace -% } -% \changes{v0.10}{2012/02/21}{bug: missing prefixes for phone numbers -% added option footorder, setting the order of footer fields +% \changes{v0.01}{2006/03/18}{Initial version} +% \changes{v0.02}{2007/04/05}{ +% - added options phoneprefix, routingno, logoaddress\\ +% - accountname now optional\\ +% - accountnumber -$>$ accountno\\ +% - german and french translations corrected\\ +% - indents removed in header fields\\ +% - expect printer to have more unprintable border\\ +% - ascriptiontext -$>$ 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.03}{2007/08/21}{ +% several errors in documentation corrected % } +% \changes{v0.03b}{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.04}{2008/05/01}{ +% - options shift, currency, cityzip added\\ +% - norwegian translations added (thanks Sveinung Heggen) +% } +% \changes{v0.05}{2008/07/12}{ +% - text misplacement in subject-less letters\\ +% - corrected\\ +% - norwegian translations corrected +% } +% \changes{v0.06}{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.07}{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 +% } +% \changes{v0.08}{2010/08/24}{ +% - 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\\ +% - positioning of headings, subject, opening, body text fixed\\ +% - repaired several minor bugs +% } +% \changes{v0.09}{2012/02/19}{ +% - subject text uses full textwidth; use newlines if needed\\ +% - introducing isodocsymbols.sty\\ +% - new option closingcomma\\ +% - subject uses full textwidth\\ +% - using foreach package for footfields\\ +% - removed some unwanted whitespace +% } +% \changes{v0.10}{2012/02/21}{ +% - bug: missing prefixes for phone numbers\\ +% - added option footorder, setting the order of footer fields +% } +% \changes{v0.11}{2012/04/04}{ +% - added color and tabularx to required packages\\ +% - removed hypersetup (author/version info); didn't work +% } +% \changes{v1.00}{2013/08/27}{ +% This version has incompatibilites with previous versions:\\ +% - languages renamed according to ISO 3166\\ +% - options dutch, english, american, german, french now obsolete, use\\ +% language option with argument nl-NL, en-GB, en-US, de-DE, fr-FR\\ +% respectively.\\ +% - localbank option removed, as IBAN is now used for all accounts\\ +% - footer fields appear in the order in which they were defined with\\ +% the footorder option.\\ +% - the autograph command has been completely redefined and simplified.\\ +% Other changes:\\ +% - documentation improved\\ +% - empty foot fields can be added with extra semicolons in the\\ +% footorder option.\\ +% - copyto option added\\ +% - vertical bar in invoices is automatically extended for\\ +% multiline entries.\\ +% - vertical bar in invoices can be suppressed with option novertical\\ +% - if class option twoside is set, letters and invoices start recto.\\ +% - the itotal command got an optional argument.\\ +% - closingcomma did not work\\ +% - added pdfauthor and pdfcreator (isodoc) to pdf-comment\\ +% - reorganized documentation directory and install script +% } % \DoNotIndex{% % \ , \", \', \@auxout, \AtBeginDocument, \AtEndDocument, \Cbox, \CurrentOption, % \DeclareOption, \DescribeMacro, \LARGE, \Large, \LoadClass, \ML, \NN, @@ -177,7 +245,6 @@ % \author{Wybo Dekker \\ \texttt{wybo@dekkerdocumenten.nl}} % % \maketitle -% % \begin{abstract}\noindent % The \texttt{isodoc} class can be used for the preparation of letters, % invoices, and, in the future, similar documents. @@ -240,7 +307,19 @@ % \end{document} % \end{verbatim} % -% \section{Options} +% This document describes several examples. The distribution contains a directory +% |examples| where each of these has a complete set of files, ready to experiment with. +% +% \section{Class options} +% The isodoc class is based on the |article| class and you can use the same +% class options. Note, however, that if you change the font size from its +% default (10pt) to an other value (11pt, 12pt) this applies to all text, +% including headings, address label, et cetera. This is normally not what +% you want. If you really want to change the font size of, for example, the +% text body, do so with the usual font commands. Doing so will result in +% poorly balanced document, however. +% +% \section{Options for \textsf{\textbackslash setupdocument}} % % Options are given as key=value pairs, separated by comma's. % Extra comma's, including one behind the last pair, don't hurt. @@ -264,25 +343,26 @@ % \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. +% 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.}{ +% The |language| option sets the language, en-GB is used by +% default.\footnote{The options |dutch, english, american, german,| and +% |french| still work, but are obsolete and will be removed in a future version.}}{ % \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 +% Currently these are: en-GB, en-US, fr-FR, de-DE, nl-NL, nl-BE +% it-IT, es-ES, ca-ES, nb-NO, sr-RS; the hyphens in these names are +% optional, so you can, for example, also write enGB.\NN % } +% If you are not satisfied with isodoc's choices for your language, you can change those, +% but \textsl{only after loading the language in the preamble}, i.e. you need to choose +% your language in a style file or in the |\setupdocument| statement, because otherwise +% isodoc will overwrite your changes with the definition for the English language. % % \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, @@ -314,10 +394,7 @@ % 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 +% option has been set to) instead of just a 0.\NN % } % % \OPTS{Address window}{The addressee's address is printed in a window. The @@ -358,7 +435,6 @@ % 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, @@ -392,7 +468,7 @@ % anything you like for the date.\NN % \T{subject = ...} & subject of this document; is placed raggedright under the other % fields, over the full textwidth. Use newlines if you want to -% restrict the width of the text.\NN +% restrict the width of the text.\NN % } % % \OPTS{Opening and Closing}{A letter is started with an opening -- something @@ -400,10 +476,10 @@ % `Regards,\T{<newline>}Betty', perhaps with an autograph (or white space) in between.}{ % \T{opening = ...} & Dear John\NN % \T{openingcomma = ...}& by default, the opening phrase is followed by a comma, but you -% can change that here.\NN +% can change that here.\NN % \T{closing = ...} & Regards\NN % \T{closingcomma = ...}& by default, the closing phrase is followed by a comma, but you -% can change that here.\NN +% can change that here.\NN % \T{signature = ...} & Betty\NN % \T{autograph = ...} & \begin{minipage}[t]{\hsize} % This keyword can have one of the 10 values 0--9:\\[-\baselineskip] @@ -427,23 +503,28 @@ % enclosures can be separated with \C{}\C{} commands. If % those are found, the starting text will be % \textbf{Enclosures:}.\NN +% \T{copyto = ...} & This keyword can be used to add a note, at the end of +% the document, which starts with \textbf{Copy to:} +% followed by the value of the keyword. Multiple +% entries can be separated with \C{}\C{} commands.\NN % \T{closingskip = ...} & white space between signature and closing. The % default is \T{2}\C{baselineskip}.\NN % } % -% \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. -% The order of the fields can be changed with the \T{footorder} option.}{ +% \OPTS{Footer fields}{If the \T{footer} option is used, up to five footer fields are shown +% in the order defined in the \T{footorder} option; available fields, defined with options of +% the same name, are currently \T{website}, \T{phone}, \T{cellphone}, \T{fax} and \T{email}.}{ % \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{footorder = ...} & changes the order of footer fields. The argument -% should be a semicolon (;) separated list of fieldnames. -% The default is \T{website;phone;cellphone;fax;email}.\NN +% \T{footorder = ...} & changes the order of footer fields. The argument +% should be a semicolon (;) separated list of fieldnames. +% The default is \T{website;phone;cellphone;email}. Empty fields can +% be inserted with extra |;|'s. \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, +% \T{phone = ...} & if defined, and phone occurs in the footorder string, prints `phone' +% in 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 @@ -482,10 +563,9 @@ % \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{bic = ...} & and \textsc{bic} code; enter both in lower case: they are typeset +% in small caps.\NN +% \T{vatno = ...} & Your \textsc{vat} reference number.\NN % \T{chamber = ...} & Your Chamber of Commerce subscription number, not yet % used.\NN % } @@ -505,11 +585,14 @@ % \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, +% \T{shift = ...} & The many text positions 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 +% \T{[no]vertical} & Invoice tables are printed with a vertical line between +% description and amount. The |novertical| option suppresses this, +% the |vertical| option restores it. % } % % \section{Commands} @@ -531,28 +614,18 @@ % 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|} +% command: % % \noindent\begin{tabular}{@{}lllll@{}} -% accept &cellphone &fold &nofill &subject \NN -% acceptaccount &chamber &fold2 &nofold &term \NN -% acceptaddress &city &fold3 &nofooter &to \NN -% acceptcents &cityzip &foldleft &noheader &vatno \NN -% acceptdesc &closing &foldright &noreturn &website \NN -% acceptdescription &closingskip &footer &opening &who \NN -% accepteuros &company &footorder &openingcomma &yourletter \NN -% acceptreference &country &forcedate &ourref &yourref \NN -% accountname &countrycode &foreign &phone &zip \NN -% accountno ¤cy &french &phoneprefix & \NN -% addresscenter &date &german &return & \NN -% addresswidth &dutch &header &returnaddress & \NN -% american &email &iban &rightaddress & \NN -% areacode &enclosures &language &routingno & \NN -% autograph &english &leftaddress &shift & \NN -% bic &fax &localbank &signature & \NN -% bodyshift &fill &logoaddress &street & \NN +% accept & accountno & country & iban & subject \NN +% acceptaccount & areacode & countrycode & logoaddress & term \NN +% acceptaddress & bic & currency & ourref & to \NN +% acceptcents & cellphone & date & phone & vatno \NN +% acceptdesc & chamber & email & phoneprefix & website \NN +% acceptdescription & city & enclosures & return & who \NN +% accepteuros & cityzip & fax & returnaddress & yourletter\NN +% acceptreference & company & & routingno & yourref \NN +% accountname & copyto & header & street & zip \NN % \end{tabular} % % \noindent So you could write in your letter: ``please send me the money on my bank @@ -590,71 +663,91 @@ % 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: +% `Amount (EUR)'. The argument of |\itable| should contain the +% contents of the table and could be of the form: % \begin{verbatim} -% item 1 & amount 1\NN -% item 2 & amount 2\NN +% item 1 & amount 1\\ +% item 2 & amount 2\\ % ... -% item n & amount n \NN -% \cmidrule[.05em]{2-2} -% Total & amount \NN +% item n & amount n\\\cline{2-2} +% Total & amount\\ % \end{verbatim} -% However, the next two commands may be used to enter these data more cleanly: +% However, the next two commands may be used to enter these data more cleanly, +% and they provide better line spacings: % % \DescribeMacro{\iitem} % The |\iitem{item}{amount}| command (|iitem| stands for Invoice Item) is -% equivalent to writing |item & amount\NN|. +% equivalent to writing |item & amount\\|. % % \DescribeMacro{\itotal} -% The |\itotal{amount}| command (|itotal| stands for Invoice total) is +% The |\itotal[...]{amount}| command (|itotal| stands for Invoice total) is % equivalent to writing: -% |\cmidrule[.05em]{2-2} Total & amount \NN|, with the additional +% |\cline{2-2} Total & amount\\|, with the additional % advantage that the word `Total' will be replaced with its equivalent -% in the current language. Thus, the argument to the |\itable| +% in the current language, or, if the optional argument is given, with that +% optional argument. 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} +% \itotal[Subtotal]{amount} % ... % \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. +% 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 |term|, |accountno|, |iban|, +% |bic|, |accountname|, |routingno|, |ourref|, and |vatno|, in that order, +% and as far as they have been defined. % % \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: +% serves to define up to eight autographs based on \textsc{pdf}, +% \textsc{jpeg} or \textsc{png} images. In the following it is important to +% know that the closing always remains at the same postion: two +% |\baselineskips| under the end of the text body; autographs and the signature +% will be positioned relative to this fixed closing. +% +% The selected autograph (argument 1) will be drawn near the closing +% (\textsl{Best regards}) if you use the \T{autograph} option with a value +% from 2 through 9. The position of the signature (\textsl{Betty}) will +% depend on the argument 4 of |\autograph|. \C{autograph} has 6 arguments, +% defined in the table below. The arguments 3, 4 and 5 are integer +% percentages of the height of the image (argument 2). This means that you +% can change the height of the image and still keep the positions of +% closing, signature and the left margin at the same relative positions in +% the image. These percentages may be negative, or larger than 100\%. % % \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 +% 2:&the height of the image (a dimen)\NN +% 3:&the vertical position (\%) of the baseline of the closing (Regards,) from the top\NN +% 4:&the vertical position (\%) of the baseline of the signature (John Letterwriter) from the closing\NN +% 5:&the distance (\%) the autograph outdents in the margin\NN +% 6:&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} +% \paragraph{How to design an autograph in 4 steps:} +% \begin{compactenum} +% \item Make a scan of your signature on a white background. Remove the +% white background using an image manipulation program such as the |gimp| +% (\textsl{layer $\Rightarrow$ transparency $\Rightarrow$ color to alpha}) and save it as a +% \textsc{png} image. Removing the background is only necessary if you plan +% to move the image over the text body, which would then be covered by the +% white background --- closing and signature will be printed \textsl{over} +% the image. +% \item Guess where you want the closing's baseline to appear in the image, +% expressed as an integer percentage of the image height from the top of +% the image. Use this number for argument~3. +% \item Same for the signature, to use as argument~4. +% \item Same for the text body margin: distance of it from the left side of +% the image, expressed as an integer percentage of the image +% \textsl{height}. +% \end{compactenum} +% \FIG{examples/letter/letter.pdf}{letter1}{Minimal letter example} % % \DescribeMacro{\logo} % The |\logo| command is internally used to define the default logo; you can @@ -690,10 +783,10 @@ % 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} +% \verbinput{examples/letter/letter.tex} % This source essentially shows three items: % \begin{compactenum} -% \item the inclusion of a package |mystyle|; we'll come to that shortly. +% \item the inclusion of a package |letter|; 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; @@ -703,9 +796,9 @@ % 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 +% and so on. This is where the included |letter| package plays its part. Here % is an example of such a style file: -% \verbinput{mystyle.txt} +% \verbinput{examples/letter/letter.sty} % 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 @@ -715,44 +808,52 @@ % 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} +% \FIG{examples/logoletter/logo1.pdf}{logo1}{Long letter example with a non-standard logo, page 1} +% \FIG{examples/logoletter/logo2.pdf}{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 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 +% (\textsl{W.H.~Dekker}) an autograph has been placed. This was done by +% setting the option |autograph|, which has a default value of 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. +% 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} @@ -760,14 +861,14 @@ % 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} +% (|logoletter.sty|): +% \verbinput{examples/logoletter/logoletter.sty} % \label{logoredef} -% \FIG{invoice}{invoice}{Invoice example} +% \FIG{examples/invoice/invoice.pdf}{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} +% \verbinput{examples/logoletter/logoletter.tex} % 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 @@ -777,7 +878,7 @@ % % \section{Usage: invoices} % \subsection{A simple invoice} -% \FIG{accept}{accept}{Invoice example with accept form} +% \FIG{examples/accept/accept.pdf}{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 @@ -786,13 +887,13 @@ % be paid, and the corresponding amounts of money. % % An example, as usual, is most instructive: -% \verbinput{invoice.txt} +% \verbinput{examples/invoice/invoice.tex} % 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} +% \verbinput{examples/accept/accept.tex} % 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 @@ -800,6 +901,7 @@ % example. %% \StopEventually{} % +% \clearpage % \section{Implementation} % The basis is the |article| class with all options: % @@ -812,7 +914,7 @@ % 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,color,tabularx,eurosym,graphicx,stringstrings,calc} +\RequirePackage{ctable,color,tabularx,graphicx,xstring,calc} \RequirePackage{forarray} % \end{macrocode} % @@ -849,14 +951,6 @@ \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} @@ -881,6 +975,16 @@ \AtBeginDocument{\textblockorigin{\@xshift mm}{\@yshift mm}} } % \end{macrocode} +% The |vertical| option prints a vertical bar in invoices between description +% and amount -- (this is the default), the |novertical| option suppresses it. +% \DescribeMacro{vertical} +% \DescribeMacro{novertical} +% \begin{macrocode} +\define@key{isodoc}{vertical}[\verticaltrue]{\verticaltrue} +\define@key{isodoc}{novertical}[\verticaltrue]{\verticalfalse} + \newif\ifvertical\verticaltrue + +% \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} @@ -895,28 +999,21 @@ \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 +% The following keys set the language; en-GB, 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} +\define@key{isodoc}{dutch} []{\isodoc@nlNL\ClassWarning{isodoc}{the option dutch is obsolete: use language=nl-NL}} +\define@key{isodoc}{english} []{\isodoc@enGB\ClassWarning{isodoc}{the option english is obsolete: use language=en-GB}} +\define@key{isodoc}{german} []{\isodoc@deDE\ClassWarning{isodoc}{the option german is obsolete: use language=de-DE}} +\define@key{isodoc}{american}[]{\isodoc@enUS\ClassWarning{isodoc}{the option american is obsolete: use language=en-US}} +\define@key{isodoc}{french} []{\isodoc@frFR\ClassWarning{isodoc}{the option french is obsolete: use language=fr-FR}} +\define@key{isodoc}{language}{\StrSubstitute{#1}{-}{}[\@iso]\csname isodoc@\@iso\endcsname} % \end{macrocode} % \DescribeMacro{fill} % \DescribeMacro{nofill} @@ -995,8 +1092,8 @@ \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}} +\long\def\xproc #1\\#2@@@{\gdef\toname{#1}\gdef\toaddress{#2}} +\long\def\yproc #1\\#2@@@{\gdef\toaddress{#2}} % \end{macrocode} % \DescribeMacro{return} % \DescribeMacro{noreturn} @@ -1044,7 +1141,7 @@ % The default is the have no footer. % \begin{macrocode} \define@key{isodoc}{footorder} {\def\footorder{#1}} - \def\footorder{website;phone;cellphone;fax;email} + \def\footorder{website;phone;cellphone;email} \define@key{isodoc}{footer} []{\footertrue} \newif\iffooter\footerfalse \define@key{isodoc}{nofooter}[]{\footerfalse} @@ -1067,16 +1164,19 @@ \def\areacode{\Undefined{areacode}} \define@key{isodoc}{phone} {\def\isodoc@phone{#1}} \def\isodoc@phone{} + \def\phone{\Undefined{phone}} \define@key{isodoc}{phoneprefix}{\def\phoneprefix{#1}} \def\phoneprefix{0} \define@key{isodoc}{cellphone} {\def\isodoc@cellphone{#1}} \def\isodoc@cellphone{} + \def\cellphone{\Undefined{cellphone}} \define@key{isodoc}{fax} {\def\isodoc@fax{#1}} \def\isodoc@fax{} + \def\fax{\Undefined{fax}} \define@key{isodoc}{website} {\def\website{#1}} - \def\website{} + \def\website{\Undefined{website}} \define@key{isodoc}{email} {\def\email{#1}} - \def\email{} + \def\email{\Undefined{email}} % \end{macrocode} % \subsubsection{Folding mark} % \DescribeMacro{nofold} @@ -1140,7 +1240,6 @@ % 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 @@ -1162,9 +1261,9 @@ % semicolon or an exclamation mark. % \begin{macrocode} \define@key{isodoc}{opening} {\def\opening{#1}} - \def\openingcomma{,} -\define@key{isodoc}{openingcomma}{\def\openingcomma{#1}} \def\opening{\Undefined{opening}} +\define@key{isodoc}{openingcomma}{\def\openingcomma{#1}} + \def\openingcomma{,} % \end{macrocode} % \subsubsection{Closing, autograph, signature} % \DescribeMacro{closing} @@ -1174,9 +1273,10 @@ % which can be set by the |closingskip| option, which is |2\baselineskip| by % default: % \begin{macrocode} -\define@key{isodoc}{closing} {\def\closing{#1}} - \def\closingcomma{,} +\define@key{isodoc}{closing} {\def\closing{#1}} \def\closing{\Undefined{closing}} +\define@key{isodoc}{closingcomma}{\def\closingcomma{#1}} + \def\closingcomma{,} \define@key{isodoc}{closingskip}{\closingskip=#1} \newdimen\closingskip\closingskip=2\baselineskip % \end{macrocode} @@ -1204,6 +1304,12 @@ \define@key{isodoc}{enclosures} {\def\enclosures{#1}} \def\enclosures{} % \end{macrocode} +% \DescribeMacro{copyto} +% Cc-ed names are set by the |copyto| option. There are none by default. +% \begin{macrocode} +\define@key{isodoc}{copyto} {\def\copyto{#1}} + \def\copyto{} +% \end{macrocode} % \subsubsection{Invoice specific data} % \DescribeMacro{term} % \DescribeMacro{accountno} @@ -1225,7 +1331,7 @@ \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}} + \def\chamber{\Undefined{chamber}} \define@key{isodoc}{currency} {\def\currency{#1}} \def\currency{\EuroSymbol} % \end{macrocode} @@ -1248,15 +1354,15 @@ \define@key{isodoc}{acceptaddress} {\def\acceptaddress{#1}} \def\acceptaddress{} \define@key{isodoc}{acceptcents} {\def\acceptcents{#1}} - \def\acceptcents{Undefined{}} + \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{}} + \def\accepteuros{\Undefined{}} \define@key{isodoc}{acceptreference} {\def\acceptreference{#1}} - \def\acceptreference{Undefined{ref}} + \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 @@ -1299,25 +1405,39 @@ % 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). +% Arguments (positions and outdents are taken as integer percentages of the +% image height, from the top of the image): % \\[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 +% 2:&height of the image\NN +% 3:&closing baseline position\NN +% 4:&signature baseline position\NN +% 5:&outdent in the margin\NN +% 6:&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{% +\newdimen\iso@outdent +\newdimen\iso@signpos +\newdimen\iso@down +\newdimen\iso@closingpos +% \end{macrocode} +% The arguments 3-5 of autograph have changed from dimens in versions up to 0.11 +% to integer numbers in version 1.00 and later. The |iso@isNum| macro will prevent +% the appearance of incomprehensible error message by issuing a class error if +% one of the arguments is not a number. +% \begin{macrocode} +\def\iso@isNum#1#2{% + \sbox\z@{\@tempcnta=0#1\relax} + \ifdim\wd0>\z@\relax\ClassError{isodoc}% + {Argument #2 of autograph must be a number!}% + {You are probably using the oldstyle autograph arguments}\fi +} +\def\autograph#1#2#3#4#5#6{% + \iso@isNum{#3}{3}\iso@isNum{#4}{4}\iso@isNum{#5}{5} \ifnum #1<2 \ClassError{isodoc}{autograph #1 cannot be changed (first arg must be 2..9)}{} \fi @@ -1331,12 +1451,14 @@ \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% + \vskip-2\baselineskip% + \setlength{\iso@down}{#2*#3/100-#2-2\baselineskip} + \setlength{\iso@outdent}{-#2*#5/100} + \setlength{\iso@signpos}{#2*(#4-#3)/100} + \hspace*{\iso@outdent}\raisebox{\iso@down}[0pt][0pt]{\includegraphics[height=#2]{#6}}% + \\[\baselineskip]% + \closing\closingcomma\\[\iso@signpos]\\[-2\baselineskip]% + \signature% } } % \end{macrocode} @@ -1385,46 +1507,57 @@ } % \end{macrocode} % \DescribeMacro{\@isomakedate} +% \@isomakedate sets the |\year|, |\month| and |\day| counters for |\@iso@date|. +% The argument can have one of three forms: +% \begin{compactenum} +% \item yyyymmdd +% \item yyyy-mm-dd +% \item today % i.e. the string "today" +% \end{compactenum} +% The resulting |\date| format depends on the language option, i.e., +% the month is in that language, and the formatting is according to the +% usage in the language. The value for dd may be 00; in that case the day +% will not be reported. Some examples, assuming language=en-GB: +% \begin{tabbing} +% 2013-01-01 \= 1st January 2013\\ +% 2013-01-00 \> January 2013\\ +% 20130101 \> 1st January 2013\\ +% 20130100 \> January 2013\\ +% today \> 3rd June 2013 % assuming that's today's date +% \end{tabbing} % \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 +\def\@isomakedate#1{ + \StrSubstitute[2]{#1}{-}{}[\@iso@arg] + \IfStrEq{\@iso@arg}{today}{ \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 + }{\IfInteger{\@iso@arg}{}{\ClassError{isodoc}{ + Illegal date: not yyyymmdd | yyyy-mm-dd | today}{}\fi} + \StrLeft{\@iso@arg}{4}[\@iso]\year=\@iso + \StrRight{\@iso@arg}{2}[\@iso]\day=\@iso + \StrMid{\@iso@arg}{5}{6}[\@iso]\month=\@iso + } + \ifnum\month > 12 \ClassError{isodoc}{Illegal date: month>12}{}\fi + \ifnum\day > 31 \ClassError{isodoc}{Illegal date: day>31}{}\fi +} +% \end{macrocode} +% \DescribeMacro{\date} +% |\date| displays the date. Its value is that of |forcedate| if that +% option was used; otherwise it is |undefined|, unless the |date| option +% was used. +% \begin{macrocode} +\def\date{% + \ifx\forcedate\empty% + \ifnum\year=0\Undefined{date}\else\@isodate\fi + \else\forcedate\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. +% Print a table with banking information. Show all data as far as defined/not empty: % \begin{macrocode} \def\accountdata{ \textbf{\accountdatatext:}\\ @@ -1432,19 +1565,23 @@ \ifx\term\undefined\else \termtext: & \term\ \daystext\\ \fi + \ifx\accounto\undefined\else \accountnotext: & \accountno\\ + \fi + \ifx\iban\undefined\else + \ibantext: & \scshape \iban\\ + \fi + \ifx\bic\undefined\else + \bictext: & \scshape \bic\\ + \fi \ifx\accountname\undefined\else \accountnametext: & \accountname{}\\ \fi \ifx\routingno\undefined\else \routingnotext: & \routingno{}\\ \fi + \ifx\ourref\empty\else \referencetext: & \ourref\\ - \ifforeign - \iflocalbank\else - iban: & \scshape \iban\\ - bic: & \scshape \bic\\ - \fi \fi \ifx\vatno\undefined\else \vatnotext: & \vatno\\ @@ -1453,117 +1590,105 @@ } % \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|} +% current values of most keys. % \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 - american & \american\NN - areacode & \areacode\NN - autograph & \autograph\NN - bic & \bic\NN - bodyshift & \bodyshift\NN - cellphone & \cellphone\NN - chamber & \chamber\NN - city & \city\NN - cityzip & \cityzip\NN - closing & \closing\NN - closingskip & \closingskip\NN - company & \company\NN - country & \country\NN - countrycode & \countrycode\NN - currency & \currency\NN - date & \date\NN - dutch & \dutch\NN - email & \email\NN - enclosures & \enclosures\NN - english & \english\NN - fax & \fax\NN - fill & \fill\NN - fold & \fold\NN - fold2 & \fold2\NN - fold3 & \fold3\NN - foldleft & \foldleft\NN - foldright & \foldright\NN - footer & \footer\NN - footorder & \footorder\NN - forcedate & \forcedate\NN - foreign & \foreign\NN - french & \french\NN - german & \german\NN - header & \header\NN - iban & \iban\NN - language & \language\NN - leftaddress & \leftaddress\NN - localbank & \localbank\NN - logoaddress & \logoaddress\NN - nofill & \nofill\NN - nofold & \nofold\NN - nofooter & \nofooter\NN - noheader & \noheader\NN - noreturn & \noreturn\NN - opening & \opening\NN - openingcomma & \openingcomma\NN - ourref & \ourref\NN - phone & \phone\NN - phoneprefix & \phoneprefix\NN - return & \return\NN - returnaddress & \returnaddress\NN - rightaddress & \rightaddress\NN - routingno & \routingno\NN - shift & \shift\NN - signature & \signature\NN - street & \street\NN - subject & \subject\NN - term & \term\NN - to & \to\NN - vatno & \vatno\NN - website & \website\NN - who & \who\NN - yourletter & \yourletter\NN - yourref & \yourref\NN - zip & \zip\NN + \begin{tabular}{rl} + acceptaccount & \acceptaccount\NN + acceptaddress & \acceptaddress\NN + acceptcents & \acceptcents\NN + acceptdesc & \acceptdesc\NN + acceptdescription & \acceptdescription\NN + accepteuros & \accepteuros\NN + acceptreference & \acceptreference\NN + accountname & \ifx\accountname\undefined (undefined, so not shown)% + \else\accountname\fi\NN + accountno & \ifx\accountno\undefined (undefined, so not shown)% + \else\accountno\fi\NN + areacode & \areacode\NN + bic & \ifx\bic\undefined (undefined, so not shown)% + \else\bic\fi\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 + date & \date\NN + email & \email\NN + enclosures & \begin{minipage}[t]{\hsize} + \mbox{}\enclosures\\[-1.5ex] + \end{minipage}\NN + copyto & \begin{minipage}[t]{\hsize} + \mbox{}\copyto \\[-1.5ex] + \end{minipage}\NN + fax & \fax\NN + iban & \ifx\iban\undefined (undefined, so not shown) + \else\iban\fi\NN + opening & \opening\NN + ourref & \ourref\NN + phone & \phone\NN + returnaddress & \begin{minipage}[t]{\hsize} + \mbox{}\returnaddress\\[-1.5ex] + \end{minipage}\NN + routingno & \ifx\routingno\undefined (undefined, so not shown) + \else\routingno\fi\NN + signature & \signature\NN + street & \street\NN + subject & \subject\NN + toaddress & \begin{minipage}[t]{\hsize} + \mbox{}\toaddress\\[-1.5ex] + \end{minipage}\NN + toname & \toname\NN + vatno & \ifx\vatno\undefined (undefined, so not shown) + \else\vatno\fi\NN + website & \website\NN + who & \who\NN + yourletter & \yourletter\NN + yourref & \yourref\NN + zip & \zip\NN \end{tabular} } \AtEndOfClass{% \usepackage{hyperref} - \year=0 } % \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} +\def\isodoc@bara{\raisebox{-1ex}{\rule{0pt}{3ex}}} +\def\isodoc@barb{\rule{0pt}{2.7ex}} +\def\isodoc@barc{\rule{0pt}{1ex}} +\def\itable#1{\arrayrulewidth0.05em% + \ifvertical + \begin{tabularx}{\hsize}{@{}X|r@{}}% + \sffamily\descriptiontext & + \sffamily \amounttext (\currency)\isodoc@bara\\\hline\\[-5.6ex] + \isodoc@barb #1% + \end{tabularx} + \else + \begin{tabularx}{\hsize}{@{}Xr@{}}% + \sffamily\descriptiontext & + \sffamily \amounttext (\currency)\isodoc@bara\\\hline\\[-5.6ex] + \isodoc@barb #1% + \end{tabularx} + \fi } % \DescribeMacro{\iitem} % |\iitem| inserts an invoice item in the |\itable|. -% It inserts |arg1 & % arg2\NN|: +% It inserts |\\arg1 & % arg2|: % \begin{macrocode} -\def\iitem#1#2{#1\NN} +\def\iitem#1#2{\\#1\ignorespaces} % \DescribeMacro{\itotal} % \end{macrocode} % |\itotal| inserts an invoice total in the |\itable|.\\ -% It inserts |\cmidrule[.05em]{2-2}Total & arg1\NN|: +% The optional argument replaces |\totaltext|. % \begin{macrocode} -\def\itotal#1{\cmidrule[.05em]{2-2}\totaltext&\textbf{#1}\NN} +\newcommand{\itotal}[2][\totaltext]{% + \isodoc@barc\\\cline{2-2}#1&\textbf{#2}\isodoc@barb +} % \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 @@ -1589,7 +1714,6 @@ \newcount\footcount \newcommand{\invoice}[2][]{% \closingfalse - \def\barsep{\raisebox{-1.5ex}[0pt][0pt]{\rule{.05em}{4ex}}}% \letter[#1, opening={\bfseries\scshape\Large\invoicetext}, openingcomma={}, @@ -1602,7 +1726,8 @@ % The code is enclosed in an extra pair of braces, in order to keep option changes local % \begin{macrocode} \newcommand{\letter}[2][]{{% - \newpage + \clearpage{\pagestyle{empty}\cleardoublepage} + \setcounter{section}{0} \setkeys{isodoc}{#1} \def\isodoc@lead{\ifforeign+\areacode-\else\phoneprefix\fi} \ifx\isodoc@phone\empty\else\def\phone{\isodoc@lead\isodoc@phone}\fi @@ -1610,14 +1735,18 @@ \ifx\isodoc@fax\empty\else\def\fax{\isodoc@lead\isodoc@fax}\fi % \end{macrocode} % By now, a language should have been chosen; if not, issue a warning -% and set the language to the default: UKenglish +% and set the language to the default: -n-GB % \begin{macrocode} - \ifx\yourlettertext\undefined\ClassWarning{isodoc}{ - You did not use the language option; using the default: UKenglish - }\isodoc@UKenglish\fi + \ifx\yourlettertext\undefined% + \ClassWarning{isodoc}{You did not use the language option; using the default: en-GB} + \isodoc@enGB% + \fi \ifnum\value{lettercount}=0% \hypersetup{pdftitle={letter to \toname\ dated \today}, - pdfsubject={\subject}} + pdfsubject={\subject}, + pdfauthor={\who}, + pdfcreator={LaTeX with isodoc class}, + } \fi \addtocounter{lettercount}{1} \setcounter{page}{1} @@ -1672,9 +1801,7 @@ } \Tbox{140}{\headerpos}{35}{\noindent {\@hft\datetext}\\ - \ifx\forcedate\empty% - \ifnum\year=0\Undefined{date}\else\date\fi - \else\forcedate\fi + \date } \ifx\subject\empty\else% \Tbox{35}{\subjectpos}{140}{\noindent @@ -1687,8 +1814,7 @@ \advance\textskip-12 \fi % \end{macrocode} -% Create any non-empty footfields, starting at the left; -% (===>must have to be made variable with an option footfieldorder): +% Create the footfields that occur in |\footorder|, starting at the left; % \begin{macrocode} \footcount=35 \iffooter @@ -1699,8 +1825,8 @@ {\@hft\csname\thislevelitem text\endcsname}\\ \csname\thislevelitem\endcsname } - \advance\footcount35 \fi + \advance\footcount35 }{\footorder} \fi { \parskip=0pt\parindent=0pt @@ -1736,6 +1862,12 @@ \textbf{\ifdim\ht1>\baselineskip\enclosurestext\else\enclosuretext\fi}% \\\enclosures \fi + \ifx\copyto\empty\else + \ifx\enclosures\empty\vfill\else\\[2ex]\fi + \setbox1=\vbox{\copyto}% + \textbf{\copytotext}% + \\\copyto + \fi } \label{LastPageOf\thelettercount} }} @@ -1816,410 +1948,19 @@ {\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} +% \DescribeMacro{\isodoc@xxYY} % \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} -} +\input{isodoc-ca-ES.ldf} +\input{isodoc-de-DE.ldf} +\input{isodoc-en-GB.ldf} +\input{isodoc-en-US.ldf} +\input{isodoc-es-ES.ldf} +\input{isodoc-fr-FR.ldf} +\input{isodoc-it-IT.ldf} +\input{isodoc-nb-NO.ldf} +\input{isodoc-nl-BE.ldf} +\input{isodoc-nl-NL.ldf} +\input{isodoc-sr-RS.ldf} % \end{macrocode} % \Finale \endinput -$Id: isodoc.dtx,v 1.40 2012/09/26 13:41:30 wybo Exp $ diff --git a/Master/texmf-dist/source/latex/isodoc/isodoc.ins b/Master/texmf-dist/source/latex/isodoc/isodoc.ins index f31a3280915..28c523941a7 100644 --- a/Master/texmf-dist/source/latex/isodoc/isodoc.ins +++ b/Master/texmf-dist/source/latex/isodoc/isodoc.ins @@ -58,4 +58,3 @@ and version 1.2 or later is part of all distributions of LaTeX version \endbatchfile -%% $Id: isodoc.ins,v 1.4 2011/03/16 12:09:33 wybo Exp $ |