diff options
author | Karl Berry <karl@freefriends.org> | 2009-03-27 21:40:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-03-27 21:40:51 +0000 |
commit | b0e498cd3849788c1dab642d68e2645c7f19e4ae (patch) | |
tree | 16f2ef8a0bf109c7c7010164c5808a43afda0e95 | |
parent | 972b9df73e73b2c091ba49c6402f05d9b4e8fd0b (diff) |
rm invoice, depends on nonfree realcalc (Alexis Ballier 27 Mar 2009 14:16:38)
git-svn-id: svn://tug.org/texlive/trunk@12538 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/invoice/00README.tex | 136 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/invoice/COPYING | 339 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/invoice/HISTORY | 31 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/invoice/INSTALL | 39 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/invoice/invoice.pdf | bin | 73435 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/invoice/invoice.tex | 742 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/invoice/invoice.def | 319 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/invoice/invoice.sty | 1012 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/invoice.tlpsrc | 2 |
12 files changed, 2 insertions, 2623 deletions
diff --git a/Master/texmf-dist/doc/latex/invoice/00README.tex b/Master/texmf-dist/doc/latex/invoice/00README.tex deleted file mode 100644 index 9b9fc584993..00000000000 --- a/Master/texmf-dist/doc/latex/invoice/00README.tex +++ /dev/null @@ -1,136 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% LaTeX me first!!! -% -% This is 00README.tex of the invoice package. LaTeX this file -% and it will reveal everything... Software you need, software -% you have, etc. -% -% Author: Oliver Corff -% Date: December 6th, 2001 -% -\def\myabstract{% - The invoice package provides an environment for - writing invoices with an arbitrary number of - billed items like fees (with taxes, if applicable), - as well as expenses in local and foreign currencies.}% -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[11pt]{ltxdoc} -%\usepackage{hyperref} -\newif\ifBadNews -\IfFileExists{diagnose.sty}{\usepackage{diagnose}}{\BadNewstrue} -\title{\texttt{invoice 0.7}\\Installation Notes} -\author{Oliver Corff} -\date{December 16th, 2003} - -\begin{document} -\maketitle -\thispagestyle{empty} -\begin{abstract}\myabstract\end{abstract} -\ifBadNews - \vskip 1cm - \begin{sloppypar} - {\large - Before you do anything else pick up the diagnose package - (\texttt{CTAN:macros/latex/contrib/supported/diagnose}) - and latex this file again.} - \end{sloppypar} -\else - % Your official text comes here. - - \newcounter{AllInPlace} - - \section{Site Status and Installation} - - \begin{sloppy} - The \texttt{invoice} package requires additional CTAN - software for meaningful operation. These packages are - \texttt{realcalc}, \texttt{calc} and \texttt{longtable}. - - \PackageDiagnostics% - {calc.sty} % Package tested for - {CalcAvailable} % Associated counter - {Infix Arithmetics Available!} % Yes! message - {Infix Arithmetics Not Available!} % No! message - - \ifnum\theCalcAvailable=1 - Your site installation contains the required \texttt{calc} - package. No further action is necessary. - \else - \textbf{Nota Bene:} Please fetch and install \texttt{calc} - from - \texttt{CTAN:macros/latex/required/tools/calc.dtx} before - continuing! - \fi - - \PackageDiagnostics% - {realcalc.tex} % Package tested for - {CrunchingAvailable} % Associated counter - {Number Crunching Possible!} % Yes! message - {Number Crunching Not Possible!} % No! message - - \ifnum\theCrunchingAvailable=1 - Your site installation contains the required - \texttt{realcalc} - package. No further action is necessary. - \else - \textbf{Nota Bene:} Please fetch and install \texttt{realcalc} - from \texttt{CTAN:macros/generic/realcalc} before continuing! - \fi - - \PackageDiagnostics% - {longtable.sty} % Package tested for - {LongTableAvailable} % Associated counter - {Long Tables Possible!} % Yes! message - {Long Tables Not Possible!} % No! message - - \ifnum\theLongTableAvailable=1 - Your site installation contains the required - \texttt{longtable} - package. No further action is necessary. - \else - \textbf{Nota Bene:} Please fetch and install \texttt{longtable} - from \texttt{CTAN:macros/latex/required/tools/longtabl.dtx} - before continuing! - \fi - - \addtocounter{AllInPlace}{\theCalcAvailable} - \addtocounter{AllInPlace}{\theCrunchingAvailable} - \addtocounter{AllInPlace}{\theLongTableAvailable} - - \ifnum\theAllInPlace=3 - \section{The \texttt{invoice} Package} - - The \texttt{invoice} package was conceived in late 2000 - when the author had to dig through a truly aweful pile - of expense bills without having a \LaTeXe-capable - spreadsheet (or any spreadsheet) available. After several - miscalculations with a pocket calculator due to forgotten - entries or double entries the idea came up to have \LaTeXe\ - do the calculation work. As such, the package in its present - stage is highly specialized with regard to the documents it - generates. The \texttt{invoice} package is basically a - tailor-made solution for a consultant who charges fees and - claims all sorts of expenses, sometimes working on different - assignments for the same client. - - Comments and suggestions are highly welcome and - should be directed to the author at - \texttt{corff@zedat.fu-berlin.de} or - \texttt{oliver.corff@email.de}. - - The \texttt{invoice} package is put under the GNU - Public Licence. - \else - - \vspace{1cm} - - \textbf{Attention:} Please install whatever is - specified above, and recompile this document. - \fi - - \end{sloppy} -\fi -\end{document} diff --git a/Master/texmf-dist/doc/latex/invoice/COPYING b/Master/texmf-dist/doc/latex/invoice/COPYING deleted file mode 100644 index 92851102051..00000000000 --- a/Master/texmf-dist/doc/latex/invoice/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/Master/texmf-dist/doc/latex/invoice/HISTORY b/Master/texmf-dist/doc/latex/invoice/HISTORY deleted file mode 100644 index 483fb80ba68..00000000000 --- a/Master/texmf-dist/doc/latex/invoice/HISTORY +++ /dev/null @@ -1,31 +0,0 @@ -April 2001
-
-First public version (0.2) of invoice released
-
-
-October 2001
-
-Release 0.3
-
-- Many bug fixes: number crunching, VAT calculations
-- Style improved: if there is only one fee or expense,
- no subtotal of this category is generated.
-
-
-December 2001
-
-Release 0.4
-
-- Critical bug fix: VAT can now be entered as fraction
- of percentage, like 16.9 (as in France).
-- Added two languages: Dutch and French
-
-
-December 2003
-
-Release 0.7
-
-- Many structural bugs fixed.
-- Invisible expense items introduced.
-- Deductions from final total now possible.
-- Several new languages added.
diff --git a/Master/texmf-dist/doc/latex/invoice/INSTALL b/Master/texmf-dist/doc/latex/invoice/INSTALL deleted file mode 100644 index 26d9a39bdf8..00000000000 --- a/Master/texmf-dist/doc/latex/invoice/INSTALL +++ /dev/null @@ -1,39 +0,0 @@ - Title: invoice.sty
- Version: 0.7
- Author: Oliver Corff
- Copyright: Ulaanbaatar, Berlin, Beijing, Shanghai,
- Shenyang 2003
- Date: December 16, 2003
- Archive Name: invoice.zip
- Description: A package for writing invoices
- Legal Notes: See end of this document
-
-
-1. Installation and Use
-
-Unpack the archive invoice.zip in some temporary directory.
-Copy the files in TEXINPUT to a place where your TeX installation
-can find it. Rehash the directory database, if possible (not all
-distributions provide this possibility).
-
-Run the file 00README.tex through latex first before doing anything
-else! 00README.tex is a document with dynamic contents.
-
-See doc/invoice.tex for an incomplete documentation of the invoice
-package.
-
-
-2. Legal Notes
-
-This software is published under the GPL.
-Usual disclaimers apply.
-
-Thank you for using invoice!
-
- Ulaanbaatar, Beijing,
- Berlin, Shanghai, Shenyang
- December 2003
-
- Oliver Corff
- corff@zedat.fu-berlin.de,
- oliver.corff@email.de
diff --git a/Master/texmf-dist/doc/latex/invoice/invoice.pdf b/Master/texmf-dist/doc/latex/invoice/invoice.pdf Binary files differdeleted file mode 100644 index 84e549fd188..00000000000 --- a/Master/texmf-dist/doc/latex/invoice/invoice.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/invoice/invoice.tex b/Master/texmf-dist/doc/latex/invoice/invoice.tex deleted file mode 100644 index 113319bbec7..00000000000 --- a/Master/texmf-dist/doc/latex/invoice/invoice.tex +++ /dev/null @@ -1,742 +0,0 @@ -\documentclass[11pt]{ltxdoc} -\usepackage{invoice} -\usepackage{pslatex,hyperref} - -\title{\texttt{invoice \InvoiceVersion}\\ - A Package for Writing Invoices} -\author{Oliver Corff} -\date{December 16th, 2003} -\begin{document} -\maketitle - -\tableofcontents - -\section{Introduction} - -The \texttt{invoice} package was conceived in late 2000 when the -author had to dig through a truly aweful pile of expense bills -without having a spreadsheet featuring \LaTeXe-compliant output (or -any spreadsheet, for that purpose) available. After several -miscalculations with a pocket calculator due to forgotten or -double entries the idea came up to have \LaTeXe\ do the calculation -work. As such, the package in its present stage is highly -specialized with regard to the documents it generates. The -\texttt{invoice} package is basically a tailor-made solution for a -consultant who charges fees and claims all sorts of expenses, -sometimes working on different assignments for the same client. - -The author expresses his gratitude to -Robert Inder, -Thilo Barth, -Jacco Kok, -Fred Donck, -Jacopo, -Johann Spies, -Ian Wormsbecker, -Vincent Tougait -and -Robin Fairbairns -who contributed ideas, corrections, -bugfixes and caption translations after the first discussions on -\texttt{comp.text.tex} and the initial release of \texttt{invoice}. - -Given the current capabilities of \texttt{invoice}, it should well -be possible to extend the capabilities of this package in the future -or to rewrite it in a generalized fashion. - -\section{Software Requirements} - -The \texttt{invoice} environment runs under \LaTeXe\ and relies on the -\texttt{calc.sty} (providing infix arithmetic) and \texttt{realcalc} -(providing real arithmetic) utilities to do its work which can be found -at CTAN% - \footnote{The \texttt{realcalc} package is found at - \texttt{CTAN:macros/generic/realcalc}, - and \texttt{calc} is found at - \texttt{CTAN:macros/latex/required/tools/}.}. -Compile and read \texttt{00README.tex} for further information if -you are not sure whether these packages are installed at your site. - -\section{The \texttt{invoice} Environment} - -Within a given document, invoices are built with the -\texttt{invoice} environment\footnote{Users of the KOMA-Script - class \texttt{scrlettr.cls} are kindly requested to use - \texttt{invoiceenv} instead; see also page~\pageref{koma}.}. -Figure~\ref{structure} on page~\pageref{structure} shows the -logical structure of an invoice as well as its basic commands. -In case a full-fledged invoice stationary is needed, it is recommended -to use the \texttt{invoice} environment within existing business -letters which may have been pre-defined already. The \texttt{invoice} -package itself does not provide tools for including company logos, -recipient's addresses, bank account numbers etc. as these are usually -covered by the various \texttt{letter} classes available for \LaTeXe. - -\begin{figure}[h] -\begin{center} -\fbox{ -\begin{minipage}{8.5cm}% -\textbf{\huge --- Invoice ---\\[2mm]} - \texttt{\Large \char92 begin\{invoice\}\{...\}\{...\}\\[2mm]} - \fbox{ - \begin{minipage}{7.0cm} - \textbf{\Large --- Project ---\\[1.5mm]} - \texttt{\large\char92 ProjectTitle\{...\}\\[1.5mm]} - \fbox{ - \begin{minipage}{5.5cm} - \textbf{\large --- Fees ---\\} - \texttt{\char92 Fee\{...\}\{...\}\{...\}}\\ - ...\\ - ...\\ - \end{minipage} - }\\[2mm] - \fbox{ - \begin{minipage}{5.5cm} - \textbf{\large --- Expenses (local) ---\\} - \texttt{\char92 EBC\{...\}\{...\}}\\ - ...\\ - ...\\ - \textbf{\large --- Expenses (foreign) ---\\} - \texttt{\char92 EFC\{...\}\{...\}\{...\}\{...\}\{...\}}\\ - ...\\ - ...\\ - \end{minipage} - }\\[2mm] - \end{minipage} - }\\[2mm] - \fbox{ - \begin{minipage}{7.0cm} - \textbf{\Large --- \dots\ More Projects\dots\ ---} - \end{minipage} - }\\[2mm] -% \fbox{ -% \begin{minipage}{7.0cm} -% \textbf{\Large --- Project ---} -% \end{minipage} -% }\\ - \texttt{\Large\char92 end\{invoice\}} -\end{minipage} -} -\end{center} -\caption{The \texttt{invoice} Environment - and its Logical Structure\label{structure}} -\end{figure} - -Invoices contain one or more projects which in return contain the charged -items, either fees (plus tax, if applicable) and/or expenses. An -invoice with one project is announced by saying - -\begin{verbatim} -\begin{invoice}{<Base Currency>}{<VAT>} - \ProjectTitle{...}% -\end{invoice} -\end{verbatim} - -There is no limit for the number of projects in an invoice, as there -is no limit for the number of invoices per document. - -The \texttt{invoice} environment requires two arguments: -\begin{enumerate} - \item \texttt{<Base Currency>} is the name of the currency - in which the invoice is charged, e.\,g. DM, Euro, - US\$, RMB etc. - \item \texttt{<VAT>} is the percentage rate of VAT which is charged; - in Germany this is currently (winter 2003) 16\%. If - no VAT is required, enter a \texttt{0} - (\textit{zero}) here. It is neither necessary nor - permissible to use a percent sign here. As some - countries (e.\,g. France) have fractions of - percentages (like 16.9\%), you would in this case - enter \verb|16.9| (without any percent sign). - - Setting the VAT rate to \verb-0- produces the side - effect that the lines stating the VAT subtotals and - totals disappear. - - If it is, however, desired to show the VAT results - even if they amount to zero, enter \verb-0.0- instead. -\end{enumerate} - - -\subsection{Projects} - -An invoice contains items which are usually, in the case of e.\,g. -consultancy fees and related expenses like hotel bills and air -fares, attributed to a given case or \textit{project}, or -cost center, or ``Kostenstelle'' (in German). - -A project contains any of three different types of charged items: -\begin{enumerate} - \item \textbf{Fees}. A tax can be added, if applicable. Fees - are always charged in the - base currency - of the invoice. - \item \textbf{Local Expenses}. Local expenses are charged in - units of the - base currency - of the invoice. - \item \textbf{Foreign Expenses}. Foreign expenses are charged in - units of any given foreign currency. Either the - base currency - equivalent is known (as taken from a credit card - billing statement, for example), or, if not, an - exchange rate between foreign currency and base - currency has to be stated. -\end{enumerate} - -\textbf{Nota bene:} The order of fees and expenses is fixed. Either fees or -expenses can be omitted, but expenses must be charged \textit{after} -fees. - - -\section{The First Example: How to Charge Fees} - - -A consultant charges fees per day, hour or any other unit. Usually -this unit is agreed upon in a contract and there is no further need -to refer to this unit but by its count. This is done by the -\verb-\Fee{}{}{}- command: - -\begin{verbatim} - \Fee{<Contents>}{<Rate/Unit>}{<Count>} -\end{verbatim} - -Let's assume an interim manager -charges DM 1818.00 a day for 12 working days while -negotiating a major project, nicknamed \textit{Project Phenix}. -He also charges DM 2750.00 a day for analysing and negotiating -the restructuring of the sales division, a work he spent 9 days with. - -\subsection{Invoices with VAT} - -We further assume that the consultant is required to charge VAT. -All information above would be entered into the invoice as follows: - -\begin{verbatim} -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - % Contents Rate/Unit Count - \Fee{Some really lengthy and utterly - tedious negotiation} {1818.00} {12} - - \ProjectTitle{Sales Restructuring}% - % Contents Rate/Unit Count - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} -\end{invoice} -\end{verbatim} - -And here is how the result looks like: - -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - \Fee{Some really lengthy and utterly - tedious negotiation} {1818.00} {12} - - \ProjectTitle{Sales Restructuring}% - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} -\end{invoice} - -Hints: If the base currency is to contain a dollar sign (\$), then -dollar sign must be entered in the form of \verb|\string$| -or otherwise the command writing the log file data will fail. The -contents of each fee may be verbose; while the column width is -limited, text contents longer than the column width wraps over -several columns, if necessary. - -The astute observer will note that a line beginning with ``Subtotal~Fees'' -appeared in the output of the Sales Restructuring Project without explicit -input to this effect from the user's side. The full grammar of the Fee block -requires that all fees are closed by a fee subtotal. Internally, -\texttt{invoice} is defined as a finite state automaton providing -mechanisms to insert a fee subtotal if logic requires it, and print -its value if it makes sense to humans, which is the case if there is more -than one fee. - -Note that there is an explicit command \texttt{\char92 STFee} which will -produce a subtotal of the fees charged so far. This can be used if -you want to show fee subtotals within the same project. - - -\subsection{Invoices without VAT} - -As mentioned above, an invoice may be calculated without any VAT. -The VAT lines may completely disappear, as in the following -example: -\begin{verbatim} -\begin{invoice}{DM}{0} - \ProjectTitle{Project Phenix}% - % Contents Rate/Unit Count - \Fee{Some really lengthy and utterly - tedious negotiation} {1818.00} {12} - - \ProjectTitle{Sales Restructuring}% - % Contents Rate/Unit Count - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} -\end{invoice} -\end{verbatim} - - -Figure~\ref{invoice_without_VAT} on -page~\pageref{invoice_without_VAT} -shows the result. - -\begin{figure}[h] -\begin{invoice}{DM}{0} - \ProjectTitle{Project Phenix}% - \Fee{Some really lengthy and utterly - tedious negotiation} {1818.00} {12} - - \ProjectTitle{Sales Restructuring}% - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} -\end{invoice} -\caption{A complete invoice - with fees but no VAT.\label{invoice_without_VAT}} -\end{figure} - -In contrast, if for any reason the VAT subtotals and totals should -be kept visible despite a \textit{value} of zero, then use a VAT -value of \verb-0.0- as in the following example: -\begin{verbatim} -\begin{invoice}{DM}{0.0} - \ProjectTitle{Project Phenix}% - % Contents Rate/Unit Count - \Fee{Some really lengthy and utterly - tedious negotiation} {1818.00} {12} - - \ProjectTitle{Sales Restructuring}% - % Contents Rate/Unit Count - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} -\end{invoice} -\end{verbatim} - - -Figure~\ref{invoice_with_zero_VAT} on -page~\pageref{invoice_with_zero_VAT} -shows the result. - -\begin{figure}[h] -\begin{invoice}{DM}{0.0} - \ProjectTitle{Project Phenix}% - \Fee{Some really lengthy and utterly - tedious negotiation} {1818.00} {12} - - \ProjectTitle{Sales Restructuring}% - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} -\end{invoice} -\caption{A complete invoice - with fees but zero VAT.\label{invoice_with_zero_VAT}} -\end{figure} - - -\section{The Second Example: How to Claim Expenses} - -Expenses can be charged in base currency or in any foreign currency. -The base currency's name should be announced once at the beginning -of the invoice. - -\subsection{Expenses in Base Currency} - -The shape of an expense item in base currency is simple: - -\begin{verbatim} -\EBC{<Contents>} {<Amount>} -\end{verbatim} - -Both fields contain mandatory arguments: - -\begin{enumerate} - \item \texttt{<Contents>} contains a description of the - charged item, e.\,g. ``Hotel'', ``Airport Tax'' or - whatever. - \item \texttt{<Amount>} contains the amount in base currency - units. -\end{enumerate} - - -\subsection{Expenses in Foreign Currency} - -Charging an expense in foreign currency is only slightly more -complicated. The command is: - -\begin{verbatim} -\EFC{<Contents>} - {<Foreign Currency>}{<Amount>} - {<Conversion Rate>}{<Base Currency Result>} -\end{verbatim} - -Arguments to the five fields are partially mandatory, partially optional: -\begin{enumerate} - \item \texttt{<Contents>} contains a description of the - charged item, e.\,g. ``Hotel'', ``Airport Tax'' or - whatever. - - \item \texttt{<Foreign Currency>} contains the name of the - foreign currency. - - \item \texttt{<Amount>} contains the amount in foreign currency - units. - - \item \texttt{<Conversion Rate>} contains the factor by - which the foreign currency amount has to be - multiplied in order to achieve the base currency - result. If the base currency result is stated, - then, and only then, the Conversion Rate can be - omitted. - - \item \texttt{<Base Currency Result>} contains an optional - amount in base currency units. Credit card billing - statements show this amount which usually contains - certain service charges of the credit card issuer; - the base currency result is thus the true amount of - money to be charged. If a \texttt{<Conversion Rate>} - is given, stating a base currency result becomes - optional. This is usually applied for expenses made - with cash money. -\end{enumerate} - - -Since some of the arguments given to \verb-\EFC- are optional, -there are basically two different forms of using this command. -With the variant - -\begin{verbatim} -\EFC{<Contents>}{<Foreign Currency>}{<Amount>} - {<Conversion Rate>} % Conversion rate - {} % Base currency empty! -\end{verbatim} - -(amount in foreign currency given, as well as exchange rate stated), -the command will automatically calculate the resulting amount in -base currency. - -\begin{verbatim} -\EFC{<Contents>} - {<Foreign Currency>}{<Amount>} - {} % Conversion rate empty! - {<Base Currency Result>} % Base currency -\end{verbatim} - -If, however, the exchange rate is omitted and the target amount in -base currency is given, then this value is taken directly. Stating -the resulting amount overrides the internal calculation mechanism. -Examples are given below. We use our interim manager's invoice -again, assuming this time that she spent working on Project Phenix -12 days in her home country while the Sales Restructuring effort -took her to Hong Kong. The taxi bills are paid in cash, hence she -enters the (fictive) conversion rate, whereas the hotel is paid by -credit card. She can then take the final amount from her credit card -billing statement; an example input would look as follows: - -\begin{verbatim} -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - % Contents Rate/Unit Count - \Fee{Negotiation} {1818.00} {12} - % - % Contents Amount - \EBC{Hotel, 12 nights} {2400.00} - - \ProjectTitle{Sales Restructuring}% - % Contents Rate/Unit Count - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} - % - % Contents Currency Amount Conv.Rate Result - \EFC{Taxi Airport -- Hotel} {HK\$} {325.00} {0.2354} {} - \EFC{Hotel, 9 nights} {HK\$} {9180.00} {} {2111.40} -\end{invoice} -\end{verbatim} - -Figure~\ref{full_invoice} on -page~\pageref{full_invoice} -shows the result. - -\begin{figure}[h] -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - \Fee{Negotiation} {1818.00} {12} - % - % Contents Amount - \EBC{Hotel, 12 nights} {2400.00} - - \ProjectTitle{Sales Restructuring}% - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} - % - % Contents Currency Amount Conv.Rate Result - \EFC{Taxi Airport -- Hotel} {HK\$} {325.00} {0.2354} {} - \EFC{Hotel, 9 nights} {HK\$} {9180.00} {} {2111.40} -\end{invoice} -\caption{A complete invoice with fees and expenses.\label{full_invoice}} -\end{figure} - -Again, a subtotal of the expenses appears only if there is more than -one expense item in a project. - - -\subsection{Hidden Expense Details} - -Occasionally it may be desirable to list only the total of expenses -incurred, while hiding the structure of expenses. In such a case, -the expense commands can be modified by attaching an \verb|i| to -their names (as in \textit{invisible}). - -A hidden expense in base currency is thus declared as: - -\begin{verbatim} -\EBCi{<Contents>} {<Amount>} -\end{verbatim} - -A hidden expense in foreign currency is declared as: - -\begin{verbatim} -\EFCi{<Contents>} - {<Foreign Currency>}{<Amount>} - {<Conversion Rate>}{<Base Currency Result>} -\end{verbatim} - -Both commands accept and require exactly the same arguments as their -visible counterparts. The expenses will be added to the expense subtotals -and the invoice total in the same way as if they were visible. If there -is no visible expense stated at all it may be useful to have at least -a line with the expense subtotal appear; this is done by the \verb|STExpenses| -command, as shown in the following example: - -\begin{verbatim} -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - % Contents Rate/Unit Count - \Fee{Negotiation} {1818.00} {12} - % - % Contents Amount - \EBCi{Hotel, 12 nights} {2400.00} - % - \STExpenses - - \ProjectTitle{Sales Restructuring}% - % Contents Rate/Unit Count - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} - % - % Contents Currency Amount Conv.Rate Result - \EFCi{Taxi Airport -- Hotel} {HK\$} {325.00} {0.2354} {} - \EFCi{Hotel, 9 nights} {HK\$} {9180.00} {} {2111.40} - \STExpenses -\end{invoice} -\end{verbatim} - -Figure~\ref{invoice_with_hidden_expenses} on -page~\pageref{invoice_with_hidden_expenses} -shows the result. - -\begin{figure}[h] -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - \Fee{Negotiation} {1818.00} {12} - % - % Contents Amount - \EBCi{Hotel, 12 nights} {2400.00} - % - \STExpenses - - \ProjectTitle{Sales Restructuring}% - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} - % - % Contents Currency Amount Conv.Rate Result - \EFCi{Taxi Airport -- Hotel} {HK\$} {325.00} {0.2354} {} - \EFCi{Hotel, 9 nights} {HK\$} {9180.00} {} {2111.40} - \STExpenses -\end{invoice} -\caption{A complete invoice with visible fees - but invisible expenses.\label{invoice_with_hidden_expenses}} -\end{figure} - - -\section{Deduction of Discounts and Downpayments} - -Finally, it may be possible that previous downpayments etc. have to -be considered for the invoice total. An optional discount line -can state the item and deduct the amount from the invoice total. -Deductions are always stated in base currency. They follow the following -syntax: - - -\begin{verbatim} -\Discount{<Contents>} {<Amount>} -\end{verbatim} - -Both fields contain mandatory arguments: - -\begin{enumerate} - \item \texttt{<Contents>} contains a description of the - discount item, e.\,g. ``Downpayment'', ``Tickets for - private use'' or whatever. - \item \texttt{<Amount>} contains the amount in base currency - units. -\end{enumerate} - -Figure~\ref{full_and_discounted_invoice} on -page~\pageref{full_and_discounted_invoice} -shows the result. - -\begin{figure}[h] -\begin{invoice}{DM}{16} - \ProjectTitle{Project Phenix}% - \Fee{Negotiation} {1818.00} {12} - % - % Contents Amount - \EBC{Hotel, 12 nights} {2400.00} - - \ProjectTitle{Sales Restructuring}% - \Fee{Sales Structure Analysis} {2750.00} { 6} - \Fee{Negotiation with Agents} {2750.00} { 3} - % - % Contents Currency Amount Conv.Rate Result - \EFC{Taxi Airport -- Hotel} {HK\$} {325.00} {0.2354} {} - \EFC{Hotel, 9 nights} {HK\$} {9180.00} {} {2111.40} - \Discount{Downpayment received} {2000.00} -\end{invoice} -\caption{A complete invoice with fees, - expenses and a deduction.\label{full_and_discounted_invoice}} -\end{figure} - -\section{Postprocessing} - -In order to allow the further processing of -\texttt{invoice}-generated data, the log file contains the totals of -fees, expenses and taxes in the form of \verb-key:value- pairs. This -information appears also on the terminal while \LaTeXe\ runs. Please -note that the key appearing in the log file is expressed in the same -language as that of the master document. - -\section{Document Language} - -All column headers appearing in \texttt{invoice} can be redefined in -order to match the language of the master document. E.\,g., headings -like ``Total'' will automatically appear as ``Gesamtsumme'' if the -document language is set to German (either via \texttt{babel} or -\verb-\usepackage{german}-). - -Please observe that the \texttt{invoice} package must be called {\em -after} the document language has been selected. - -This is correct: - -\begin{verbatim} -\documentclass[10pt]{ltxdoc} -\usepackage{german} -\usepackage{invoice} % labels will now appear in German! -\end{verbatim} - -This will not work: - -\begin{verbatim} -\documentclass[10pt]{ltxdoc} -\usepackage{invoice} -\usepackage{german} % labels will still appear in English! -\end{verbatim} - - -\subsection{Specifying the Desired Language} - -It is also possible to ignore the global language settings and select -a language local to the \texttt{invoice} package by specifying the -desired language as an option: - -\begin{verbatim} -\documentclass[10pt]{ltxdoc} -\usepackage[german]{invoice} % labels in German, rest - % of document in English -\end{verbatim} - -This is useful whenever the desired language is not provided by the -installation base where \texttt{invoice} is executed. - -\subsection{Adding Labels in a New Language} - -At present, column labels produced by \texttt{invoice} can appear -in six languages: Afrikaans, Dutch, English, French, German and Italian. -Other languages can be added easily by editing the file -\verb-invoice.def-. Language-dependent definitions are contained in -the \verb-\if-clause. Extending the file is simple: - -\begin{enumerate} - \item Copy the labels template to the end of the file. - \item Remove the comments (\verb-%-) in column 1. - \item Fill each label definition with the appropriate - foreign language translation. - \item Put the correct internal name of the foreign language - into the condition expression of the \verb-\ifx-- - and \verb-\ifnum--clauses. -\end{enumerate} - -\begin{sloppypar} -Whenever you create your own foreign language extension please kindly -consider sending your modified \verb-invoice.def- file to the author -(at \verb+corff@zedat.fu-berlin.de+ or \verb+oliver.corff@email.de+) -so that it can be included in the next update. Future users can then -share your work. -\end{sloppypar} - -\section{Bugs} - -Certainly there are bugs. After all, this is not Moon, but Earth -(where life is supposed to exist, as opposed to Moon). The author -has not conducted extensive tests on the algebraic functions, and -there may be rounding and truncating errors. - -The author considers it a bug that the decimal point cannot be -replaced by a comma at present, while entering dollar signs -requires the \verb|\string$| notation. - -Spurious spaces may distort the table layout. It is especially -recommended to close all \verb"\ProjectTitle{...}%" lines with a -percent mark, as shown. If the percent mark is omitted, the first -column header is not properly aligned to the left. - -Breaking long invoice statements with many projects over several -pages results in many orphans and widows. - -\subsection{\label{koma}Compatibility with KOMA-Script} - -Unfortunately, when first writing this package the author was not aware -of the KOMA-Script classes, notably the class \texttt{scrlettr.cls} -which defines its own \verb-\invoice{#1}- command, albeit with completely -different scope, usage and syntax. KOMA-Script's \verb-\invoice{#1}- command -accepts a number and prints ``Invoice no. \#1'' in a letter -opening. Now that the names of the \texttt{invoice} package and -environment have stuck it is easier to think of a workaround than to -conceive a new name. Therefore, If the class \texttt{scrlettr.cls} is -used, the environment \texttt{invoice} is automatically renamed to -\texttt{invoiceenv}. Writing - -\begin{verbatim} -\documentclass[10pt]{scrlettr} -\usepackage{invoice} -\begin{invoice}{DM}{16} -... -... -\end{verbatim} - -will result in an error message. Say \verb-\begin{invoiceenv}{DM}{16}- -instead. KOMA-Script's own \verb-\invoice{#1}- command is renamed to -\verb-\invoiceno{#1}-, while \verb-\invoice{#1}- now generates an -error message reminding KOMA-Script users to apply the renamed -commands. - -\section{Desiderata} - -The \verb-invoice- package is far from complete. Future expansions -should aim at making the package more flexible. How taxes are -treated, etc., is at present a rather particular arrangement -suitable for the author's immediate needs, but a more general -solution can be designed as soon as more users reflect their needs -to the author. -\end{document} diff --git a/Master/texmf-dist/tex/latex/invoice/invoice.def b/Master/texmf-dist/tex/latex/invoice/invoice.def deleted file mode 100644 index f6be4f47a00..00000000000 --- a/Master/texmf-dist/tex/latex/invoice/invoice.def +++ /dev/null @@ -1,319 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% File: invoice.def -% Author: Oliver Corff -% Date: 2003-12-12 -% -% This file contains messages, labels etc. in English, German -% and other languages. -% -% This file cannot be used alone but is called by invoice.sty -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% This file is the only file of this package which may be -% modified without renaming it. -% -% Adding a new language to labels is simple. Follow the -% instructions at line 275 of this file, and, please!, -% do not forget to send the result to -% -% corff@zedat.fu-berlin.de or oliver.corff@email.de -% -% Credits for language contributions given in invoice.sty. -% -% Thank you very much for your support of "invoice". -% -% Oliver Corff, -% -% Berlin, Guangzhou, Ulaanbaatar, Zagreb, Shenyang, Shanghai 2003 -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% English definitions are default. Other -% languages are selected automatically. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Warning messages for non-fatal situations -% -\def\InvoiceCompleted {Invoice completed. Command ignored.}% -\def\FeeSTExists {You cannot print a fee subtotal twice!}% -\def\ProjectEmpty {Project empty. No subtotal possible!}% -\def\ProjectSTExists {You cannot print a project subtotal twice!}% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Error messages for fatal situations -% -\def\InternalError {Package `invoice': Internal error!}% -% -\def\NoInvoiceNesting {Invoices cannot be nested. - Close this invoice first!}% -% -\def\InvoiceCompletedNoExpense {Invoice closed. - No new expense item allowed. - Start a new invoice - first!}% -% -\def\InvoiceCompletedNoFee {Invoice closed. - No new fee item allowed. - Start a new invoice - first!}% -% -\def\InvoiceCompletedNoFeeST {Invoice closed. - No fee subtotal allowed. - Start a new invoice - first!}% -% -\def\InvoiceCompletedNoProject {Invoice closed. - No new project allowed. - Start a new invoice - first!}% -% -\def\InvoiceCompletedNoProjectST {Invoice closed. - No project subtotal allowed. - Start a new invoice - first!}% -% -\def\MissingFee {No fee given. - You must charge at least one fee!}% -% -\def\MissingInputData {Missing input data!}% -% -\def\MissingOpening {You must open an invoice!}% -% -\def\MissingProject {No project given. - Open a project first!}% -% -\def\FeeBeforeExpense {Fees are charged first. - Expenses follow.}% -% -\def\NoProjectNesting {Projects cannot be nested. - Close this project first!}% -% -\def\ProjectCompletedNoExpense {Project closed. - No new expense item allowed. - Start a new project - first!}% -% -\def\ProjectCompletedNoFee {Project closed. - No new fee item allowed. - Start a new project - first!}% -% -\def\KOMA {Users of KOMA-Script's scrlettr.cls% - ^^Jsay `invoiceno' for the scrlettr - invoice command,^^Jand `invoiceenv' - for the invoice environment!}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Labels. These ones are available in translation, too. See below. -% -\def\Warning {Warning}% -\def\Error {Error}% -\def\Expense {Expense}% -\def\Amount {Amount}% -\def\Currency {Currency}% -\def\Factor {Factor}% -\def\Activity {Activity}% -\def\Count {Count}% -\def\UnitRate {Rate/Unit}% -\def\Fees {Fees}% -\def\VAT {VAT}% -\def\Expenses {Expenses}% -\def\SumFees {Sum \Fees}% -\def\SumVAT {Sum \VAT}% -\def\SumExpenses {Sum \Expenses}% -\def\SubtotalFee {Subtotal \Fees}% -\def\SubtotalExpenses {Subtotal \Expenses}% -\def\SubtotalProject {Subtotal \Project}% - -\def\Total {Total}% -% -% This is German. -% -\ifx\l@german\undefined - \message{^^J(invoice) \Warning: - Language \string\l@german\space unknown.^^J^^J} -\else -\ifnum\number\invoice@language=\number\l@german - \def\Warning {Warnung}% - \def\Error {Fehler}% - \def\Expense {Auslage}% - \def\Amount {Betrag}% - \def\Currency {W\"ahrung}% - \def\Factor {Faktor}% - \def\Activity {Aktivit\"at}% - \def\Count {Anzahl}% - \def\UnitRate {Rate/Einheit}% - \def\Fees {Honorare}% - \def\VAT {MWSt.}% - \def\Expenses {Auslagen}% - \def\SumFees {Summe \Fees}% - \def\SumVAT {Summe \VAT}% - \def\SumExpenses {Summe \Expenses}% - \def\SubtotalFee {Zwischensumme \Fees}% - \def\SubtotalExpenses {Zwischensumme \Expenses}% - \def\SubtotalProject {Zwischensumme \Project}% - \def\Total {Gesamtsumme}% -\fi\fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This is Dutch. -% -\ifx\l@dutch\undefined - \message{^^J(invoice) \Warning: - Language \string\l@dutch\space unknown.^^J^^J} -\else -\ifnum\number\invoice@language=\number\l@dutch - \def\Warning {Waarschuwing}% - \def\Error {Fout}% - \def\Expense {Onkosten}% - \def\Amount {Bedrag}% - \def\Currency {Valuta}% - \def\Factor {Faktor}% - \def\Activity {Activiteit}% - \def\Count {Aantal}% - \def\UnitRate {Prijs/Eenheid}% - \def\Fees {Honorarium}% - \def\VAT {BTW}% - \def\Expenses {Onkosten}% - \def\SumFees {Totaal \Fees}% - \def\SumVAT {Totaal \VAT}% - \def\SumExpenses {Totaal \Expenses}% - \def\SubtotalFee {Subtotaal \Fees}% - \def\SubtotalExpenses {Subtotaal \Expenses}% - \def\SubtotalProject {Subtotaal \Project}% - \def\Total {Totaal}% -\fi\fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This is French. -% -\ifx\l@french\undefined - \message{^^J(invoice) \Warning: - Language \string\l@french\space unknown.^^J^^J} -\else -\ifnum\number\invoice@language=\number\l@french - \def\Warning {Avertissement}% - \def\Error {Erreur}% - \def\Expense {D\'epense}% - \def\Amount {Montant}% - \def\Currency {Devise}% - \def\Factor {Facteur}% - \def\Activity {Activit\'e}% - \def\Count {Quantit\'e}% - \def\UnitRate {Prix/Unit\'e}% - \def\Fees {Honoraires}% - \def\VAT {TVA}% - \def\Expenses {D\'epenses}% - \def\SumFees {Total \Fees}% - \def\SumVAT {Total \VAT}% - \def\SumExpenses {Total \Expenses}% - \def\SubtotalFee {Sous-Total \Fees}% - \def\SubtotalExpenses {Sous-Total \Expenses}% - \def\SubtotalProject {Sous-Total \Project}% - \def\Total {Total}% -\fi\fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This is Afrikaans. -% -\ifx\l@afrikaans\undefined - \message{^^J(invoice) \Warning: - Language \string\l@afrikaans\space unknown.^^J^^J} -\else -\ifnum\number\invoice@language=\number\l@afrikaans - \def\Warning {Waarskuwing} - \def\Error {Fout} - \def\Expense {Onkostes} - \def\Amount {Bedrag} - \def\Currency {Valuta} - \def\Factor {Faktor} - \def\Activity {Aktiwiteit} - \def\Count {Aantal ure} - \def\UnitRate {Tarief} - \def\Fees {Fooie} - \def\VAT {BTW} - \def\Expenses {Uitgawes} - \def\SumFees {Totaal Fooie} - \def\SumVAT {Totaal BTW} - \def\SumExpenses {Totaal Uitgawes} - \def\SubtotalFee {Subtotaal \Fees} - \def\SubtotalExpenses {Subtotaal \Expenses} - \def\SubtotalProject {Subtotaal \Project} - \def\Total {Totaal} -\fi\fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% This is Italian. -% -\ifx\l@italian\undefined - \message{^^J(invoice) \Warning: - Language \string\l@italian\space unknown.^^J^^J} -\else -\ifnum\number\invoice@language=\number\l@italian - \def\Warning {Avvertenza}% - \def\Error {Errore}% - \def\Expense {Spesa}% - \def\Amount {Ammontare}% - \def\Currency {Valuta}% - \def\Factor {Fattore}% - \def\Activity {Attivit\'a}% - \def\Count {Quantit\'a}% - \def\UnitRate {Prezzo/Unit\'a}% - \def\Fees {Onorario}% - \def\VAT {IVA}% - \def\Expenses {Spese}% - \def\SumFees {Totale onorario}% - \def\SumVAT {Totale IVA}% - \def\SumExpenses {Totale spese}% - \def\SubtotalFee {Subtotale onorario}% - \def\SubtotalExpenses {Subtotale spese}% - \def\SubtotalProject {Subtotale progetto}% - \def\Total {Totale}% -\fi\fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% How to add new label languages to the `invoice' package: -% -% 1. Copy all following lines after this explanation -% and insert them above this comment. -% -% 2. Remove all comment symbols at the beginning of the lines. -% -% 3. Fill the empty parentheses {} with the appropriate -% translations. -% -% 4. Enter the correct internal language name used by LaTeX2e -% into the condition of the \ifnum clause. -% -% 5. Please do not forget to mail the resulting file to -% corff@zedat.fu-berlin.de or oliver.corff@email.de -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Name correct language name here --v-- -% and --v--! -%\ifx\l@german\undefined -% \message{^^J(invoice) \Warning: -% Language \string\l@german\space unknown.^^J^^J} -%\else -%\ifnum\number\invoice@language=\number\l@german -% \def\Warning {} % Enter translations here! -% \def\Error {} % -% \def\Expense {} % -% \def\Amount {} % -% \def\Currency {} % -% \def\Factor {} % -% \def\Activity {} % -% \def\Count {} % -% \def\UnitRate {} % -% \def\Fees {} % -% \def\VAT {} % -% \def\Expenses {} % -% \def\SumFees {} % -% \def\SumVAT {} % -% \def\SumExpenses {} % -% \def\SubtotalFee {} % -% \def\SubtotalExpenses {} % -% \def\SubtotalProject {} % -% \def\Total {} % -%\fi diff --git a/Master/texmf-dist/tex/latex/invoice/invoice.sty b/Master/texmf-dist/tex/latex/invoice/invoice.sty deleted file mode 100644 index dbe6aaf4e6e..00000000000 --- a/Master/texmf-dist/tex/latex/invoice/invoice.sty +++ /dev/null @@ -1,1012 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Datei: invoice.sty -% Autor: Oliver Corff -% Contact: corff@zedat.fu-berlin.de, oliver.corff@email.de -% Datum: December 16, 2003 -% Version: 0.7 -% Copyright: Ulaanbaatar, Beijing, Berlin, Zagreb, Shenyang, Shanghai -% Description: This collection of macros provides -% tools for generating complex invoices -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Corrections, suggestions and contributions by: -%%%%%% -% Jacopo, May 2003 -% e-mail: jacopo@ -% -% Contributed labels in Italian. -% -%%%%%% -% O. Corff, July 2003 -% -% fixed one nasty spacing bug, simplified internal table -% construction (table now has five instead of six columns, -% the second of which was never used). -% -%%%%%% -% Johann Spies, January 21, 2002 -% e-mail: jspies@sun.ac.za -% -% Hinted that \Subtotal Project should show the project name -% rather than just `Project'. -% -% Contributed labels in Afrikaans. -% -%%%%%% -% Robin Fairbairns, December 6, 2001 -% -% Hinted that the dollar sign can also be printed by saying -% \string$. -% -%%%%%% -% Vincent Tougait, France, November 27, 2001 -% -% Pointed out that fractions of VAT percents were not allowed. -% Bugfix on December 06, 2001 -% -%%%%%% -% Fred Donck, The Hague, The Netherlands, October, 2001 -% e-mail: fd0@donck.com -% -% Dutch labels -% -%%%%%% -% Ian Wormsbecker, October 31, 2001 -% -% Skips the VAT lines if VAT=0 -% Noticed that the terminal message will not accept a Dollar sign. -% The only workaround is to say \char`$ in \begin{invoice}{} -% -%%%%%% -% Fred Donck, The Hague, The Netherlands, Sept 18, 2001 -% e-mail: fd0@donck.com -% -% fixed some minor issues: -% real arithmetic will use integer intermediate values, so -% some calculations failed with the \Fee{title}{rate}{amount} -% where \rate is not an integer -% -% another fix is that in my opinion the VAT line should be -% printed also even though only one project is specified -% -% third fix is that the subtotal-line should not be printed -% on a project with only one \Fee line -% -%%%%%% -% Jacco Kok (fixed some labels), -% -%%%%%% -% Thilo Barth (discussed alternative names and command clashes -% with KOMA Script class scrlettr.cls), -% -%%%%%% -% Robert Inder (discussed general issues) -% -% were gladly and gratefully received and accepted. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ------------------- identification ------------------- -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{invoice}[2003/12/16] -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ------------------- language options ------------------- -% -% -\newcount\invoice@language -\let\invoice@language=\language -% -\ifx\l@english\undefined \newlanguage\l@english \fi -\ifx\l@german\undefined \newlanguage\l@german \fi -\ifx\l@dutch\undefined \newlanguage\l@dutch \fi -\ifx\l@french\undefined \newlanguage\l@french \fi -\ifx\l@afrikaans\undefined \newlanguage\l@afrikaans \fi -\ifx\l@italian\undefined \newlanguage\l@italian \fi -% -\DeclareOption{english}{\invoice@language=\number\l@english} -\DeclareOption{german}{\invoice@language=\number\l@german} -\DeclareOption{dutch}{\invoice@language=\number\l@dutch} -\DeclareOption{french}{\invoice@language=\number\l@french} -\DeclareOption{afrikaans}{\invoice@language=\number\l@afrikaans} -\DeclareOption{italian}{\invoice@language=\number\l@italian} -% -\ProcessOptions -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ------------------- initial code ------------------- -% -\RequirePackage{ifthen} -\RequirePackage{longtable} -\RequirePackage{calc} -\input{realcalc} -\input{invoice.def} -% -\newcommand{\InvoiceVersion}{0.7}% -\newcounter{Fee} % -\newcounter{VAT} % -%\newcounter{VAT@rate} % -\newcounter{Expenses} % -\newcounter{Discount} % Discount item -\newcounter{Total} % -\newcounter{Project} % -% -\newcounter{Fee@ctr} % Number of fees per project - % no subtotal will be printed in case of - % value < 2 -% -\newcounter{Expense@ctr} % Number of expense items per project - % no subtotal will be printed in case of - % value < 2 -% -\newcounter{One@Fee} % Individual Fee -\newcounter{One@VAT} % Individual VAT -\newcounter{One@Expense} % Individual Expense -% -\newcounter{ST@Fee} % Subtotal Fee -\newcounter{ST@VAT} % Subtotal VAT -\newcounter{ST@Expenses} % Subtotal Expenses -\newcounter{ST@Project} % Subtotal Project -% -\gdef\Flag{0}% % State 0: Invoice not started yet - % State 1: Start invoice - % State 2: Start project, print title - % State 3: Fee Item - % State 4: Print Subtotal Fee - % State 5: Expense Item - % State 6: Print Subtotal Expenses - % State 7: Print Subtotal Project - % State 8: Print Total, Close invoice -% -\gdef\Project{}% % Empty Project Name -\def\Null{0}% -\newif\ifVATnonzero -% \def\BC{Euro} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\newcommand{\my@message}[1]{\message{^^J#1^^J^^J}} -\newcommand{\error@message}[1]{\errmessage{^^J\Error: #1^^J^^J}} -\newcommand{\warning@message}[1]{\message{^^J\Warning: #1^^J^^J}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ifx\invoice\undefined % False if KOMA Script scrlettr.cls - \def\my@invoice{invoice} % loaded. In this case one may say -\else % "invoice". If true, the environ- - \def\my@invoice{invoiceenv} % ment is renamed to "invoiceenv" - \let\invoiceno\invoice % and the scrlettr macro is renamed - \def\invoice#1{% % to "invoiceno". Thank you, Thilo, - \error@message{\KOMA}} % for this hint! -\fi % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newenvironment{\my@invoice}[2]{% - \setcounter{Fee@ctr}{0}% % reset counter - \setcounter{Expense@ctr}{0}% % reset counter - \def\Null{0}% - \setcounter{Project}{0}% - \ST@Reset\Total@Reset% - \def\BC{#1}% - \def\VAT@rate{#2}% - \ifx\VAT@rate\Null\VATnonzerofalse\else\VATnonzerotrue\fi% - \ifVATnonzero - \message{^^J^^JVAT is not zero!^^J^^J}% - \else - \message{^^J^^JVAT is zero!^^J^^J}% - \fi% - % The VAT is: \the\VAT@rate % Debugging Diagnostics only - \parindent=0cm% - \ifcase\Flag % 0: Invoice not started yet - % - \gdef\Flag{1}% - \begin{center}% - \begin{longtable}{p{5cm}lrrr}% - % - \else \error@message{\NoInvoiceNesting}% - \fi}% -% At the end of environment: -% Yields state 8->0, Close and complete invoice, finish tables, etc. -{% - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \error@message{\MissingInputData}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ifnum\theProject>0 \ST@Fee\ST@Project\fi% - \Tot@l% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \ifnum\theProject>1 \ST@Project\fi% - \Tot@l% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \ifnum\theProject>1 \ST@Expenses\ST@Project\fi% - \Tot@l% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \ifnum\theProject>1 \ST@Project\fi% - \Tot@l% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \Tot@l% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \warning@message{\InvoiceCompleted}% - % - \else \error@message{\InternalError}% - \fi% - \gdef\Flag{0}% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ProjectTitle}[1]{% Yields state 2: Start Project - %\gdef\NewProject{#1} - % - \ifcase\Flag% 0: Invoice not started yet - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \Project@Title{#1}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \error@message{\NoProjectNesting}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ST@Fee% - \ST@Project% - \Project@Title{#1}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \ST@Project% - \Project@Title{#1}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \ST@Expenses% - \ST@Project% - \Project@Title{#1}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \ST@Project% - \Project@Title{#1}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \Project@Title{#1}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoProject}% - % - \else \error@message{\InternalError}% - \fi% - \setcounter{Fee@ctr}{0}% % reset counter - \setcounter{Expense@ctr}{0}% % reset counter -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Fee}[3]{% Yields state 3, Print Fee Item - % - % #1 Contents - % #2 Fee per Unit - % #3 Unit Count - % - \ifcase\Flag % 0: Invoice not started yet - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \Fee@Title% - \Fee@Line{#1}{#2}{#3}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \Fee@Line{#1}{#2}{#3}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \warning@message{\FeeSTExists}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \error@message{\FeeBeforeExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \error@message{\FeeBeforeExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \error@message{\ProjectCompletedNoFee}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoFee}% - % - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\STFee}{% Yields state 4, print subtotal remuneration - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \error@message{\MissingFee}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \Print@ST@Fees% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \warning@message{\FeeSTExists}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \error@message{\FeeBeforeExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \error@message{\FeeBeforeExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \error@message{\ProjectCompletedNoFee}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\ProjectCompletedNoFee}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\EBC}[2]{% Yields state 5: Expenses in BaseCurrency - % - % #1 Contents und Datum - % #2 Amount in BaseCurrency - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \Expense@Title% - \Expense@BaseCurrency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ST@Fee% - \Expense@Title% - \Expense@BaseCurrency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \Expense@Title% - \Expense@BaseCurrency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \Expense@BaseCurrency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoExpense}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\EBCi}[2]{% Yields state 5: Expenses in BaseCurrency - % But, unlike base form (no - % 'invisible') this version does - % not state the item, it only - % the total amount of expenses. - % - % #1 Contents und Datum - % #2 Amount in BaseCurrency - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - %\Expense@Title% - \Expense@Base@Currency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ST@Fee% - %\Expense@Title% - \Expense@Base@Currency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - %\Expense@Title% - \Expense@Base@Currency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \Expense@Base@Currency{#1}{#2}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoExpense}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\EFC}[5]{% Yields state 5: Expenses in ForeignCurrency - % - % #1 Contents und Datum - % #2 Currency - % #3 Amount - % #4 Exchange Rate - % #5 Amount Zielwaehrung - % - % Usage: - % 1. {Contents}{ForeignCurrency}{ExchangeRate}{} - % 2. {Contents}{ForeignCurrency}{}{BaseCurrency} - % 3. {Contents}{ForeignCurrency}{ExchangeRate}{BaseCurrency} - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \Expense@Title% - \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ST@Fee% - \Expense@Title% - \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \Expense@Title% - \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \Expense@ForeignCurrency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \error@message{\ProjectCompletedNoExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \error@message{\ProjectCompletedNoExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoExpense}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\EFCi}[5]{% Yields state 5: Expenses in ForeignCurrency - % But, unlike base form (no - % 'invisible') this version does - % not state the item, it only - % the total amount of expenses. - % - % #1 Contents und Datum - % #2 Currency - % #3 Amount - % #4 Exchange Rate - % #5 Amount Zielwaehrung - % - % Usage: - % 1. {Contents}{ForeignCurrency}{ExchangeRate}{} - % 2. {Contents}{ForeignCurrency}{}{BaseCurrency} - % 3. {Contents}{ForeignCurrency}{ExchangeRate}{BaseCurrency} - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \Expense@Title% - \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ST@Fee% - % \Expense@Title% - \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - % \Expense@Title% - \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \Expense@Foreign@Currency{#1}{#2}{#3}{#4}{#5}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \error@message{\ProjectCompletedNoExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \error@message{\ProjectCompletedNoExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoExpense}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\STExpenses}{% Yields state 6: Ausgabe der ST Expenses - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % - \or % 2: Start project, print title - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % - \or % 3: Print remuneration item - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % - \or % 4: Print subtotal remuneration - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \Print@ST@Expenses% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \warning@message{\ProjectCompletedNoExpense}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoExpense}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\STProject}{% Yields state 7: Ausgabe der ST Project - % - \ifcase\Flag % 0: Invoice not started yet - % - \error@message{\MissingOpening}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 1: Start invoice - % - \error@message{\MissingProject}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 2: Start project, print title - % - \warning@message{\ProjectEmpty}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 3: Print remuneration item - % - \ST@Fee% - \ST@Project% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 4: Print subtotal remuneration - % - \ST@Project% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 5: Expense item - % - \ST@Expenses% - \ST@Project% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 6: Print subtotal expenses - % - \ST@Project% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 7: Print subtotal project - % - \warning@message{\ProjectSTExists}% - % - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \or % 8: Print total, close invoice - % - \error@message{\InvoiceCompletedNoProjectST}% - % - \else \error@message{\InternalError}% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Discount}[2]{% Yields no particular state. - % Inserts discount in project total, - % names discount reason - % and amount of discount - % - \gdef\Discount@Contents{#1}% - \setcounter{Discount}{100 * \real{-#2}}% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Total@Reset}{% - \setcounter{Fee}{0}% - \setcounter{VAT}{0}% - \setcounter{Expenses}{0}% - \setcounter{Total}{0}% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ST@Reset}{% - \setcounter{ST@Fee}{0}% - \setcounter{ST@VAT}{0}% - \setcounter{ST@Expenses}{0}% - \setcounter{ST@Project}{0}% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Print@Value}[1]{% - \Rmul\r#1{0.01}%% <- Reduce to BaseCurrency - \Rtrunc\r{2}\r% % <- Truncate to two digits - \r% % <- Output data! -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Message@Value}[1]{% - \Rmul\r#1{0.01}%% <- Reduce to BaseCurrency - \Rtrunc\r{2}\r% % <- Truncate to two digits - \message{\r}% % <- Output data! -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Project@Title}[1]{% - % Internal command called by \ProjectTitle. - % - \gdef\Flag{2}% - \gdef\Project{#1}% - \ST@Reset\addtocounter{Project}{1}% - \ifnum\theProject>1 \\\\\else\\\fi% - \multicolumn{5}{c}{\textbf{\large#1}}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Fee@Title}{% - \\ - \noindent\textbf{\Activity}&&\UnitRate&\Count&\Amount\ (\BC)\\ - \hline% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Fee@Line}[3]{% - % - % #1 Contents - % #2 Charged Fee per Unit - % #3 Count - % - % Internal command, called by \Fee. - % - \gdef\Flag{3}% - % - #1 &   & -% -% next is reversed to allow real arithmetic. -% intermediate results are stored in integer format, so calculations are -% incorrect in case #2 is a real. -% fixed by exchanging the 1 and the 100 -% - \setcounter{One@Fee}{100 * \real{#2} * \real{#3} * 1}% -% - \addtocounter{ST@Fee}{\theOne@Fee}% - \addtocounter{Fee}{\theOne@Fee}% - \addtocounter{Fee@ctr}{1}% increase counter with 1 - \Print@Value{\theOne@Fee}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ST@Fee}{% - % \gdef\Flag{4}% - \ifnum\theST@Fee>0% - \ifthenelse{\theFee@ctr>1} % % if more than 1 \Fee line - {\Print@ST@Fees% % print it, else - }% - {}% % do nothing - \ifVATnonzero\ST@VAT@Printout\fi% - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Print@ST@Fees}{% - \gdef\Flag{4}% - \SubtotalFee & & & &% print the subtotal of fees - \Print@Value{\theST@Fee}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ST@VAT@Printout}{% - \VAT\ (\VAT@rate\%) & & & &% - \setcounter{ST@VAT}{\theST@Fee * \real{\VAT@rate} / 100}% - \Print@Value{\theST@VAT}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Expense@BaseCurrency}[2]{% - #1 & \BC & & &% - \gdef\Flag{5}% - \Rmul\r{100}{#2}% - \setcounter{One@Expense}{1*\real{\r}}% - \addtocounter{ST@Expenses}{\theOne@Expense}% - \addtocounter{Expenses}{\theOne@Expense}% - \addtocounter{Expense@ctr}{1}%advance counter - \Print@Value{\theOne@Expense}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Expense@Base@Currency}[2]{% - \gdef\Flag{5}% - \Rmul\r{100}{#2}% - \setcounter{One@Expense}{1*\real{\r}}% - \addtocounter{ST@Expenses}{\theOne@Expense}% - \addtocounter{Expenses}{\theOne@Expense}% - \addtocounter{Expense@ctr}{1}%advance counter - & & & & \\[-1.2em]% This is an ugly kludge: - % Inserting an empty line - % which rolls backwards - % makes disappear the spurious - % spaces caused by external - % routines. -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Expense@ForeignCurrency}[5]{% - \gdef\Flag{5}% - % - % Folgende Angaben sind moeglich: - % 1. {Contents}{Currency}{Amount}{Umrechnung}{ } - % 2. {Contents}{Currency}{Amount}{ }{BaseCurrency} - % 3. {Contents}{Currency}{Amount}{Umrechnung}{BaseCurrency} - % - #1 & #2 & #3 & #4&% - \ifthenelse{\equal{#5}{}}% Target in BaseCurrency or not? - {% Target not in BaseCurrency - \Rmul\r{100}{#3}% - \Rmul\r \r {#4}% - }% - {% Target in BaseCurrency - \Rmul\r{100}{#5}% - }% - \setcounter{One@Expense}{1*\real{\r}}% - \addtocounter{ST@Expenses}{\theOne@Expense}% - \addtocounter{Expenses}{\theOne@Expense}% - \addtocounter{Expense@ctr}{1}%advance counter - \Print@Value{\theOne@Expense}% -\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Expense@Foreign@Currency}[5]{% - \gdef\Flag{5}% - % - % Folgende Angaben sind moeglich: - % 1. {Contents}{Currency}{Amount}{Umrechnung}{ } - % 2. {Contents}{Currency}{Amount}{ }{BaseCurrency} - % 3. {Contents}{Currency}{Amount}{Umrechnung}{BaseCurrency} - % - \ifthenelse{\equal{#5}{}}% Target in BaseCurrency or not? - {% Target not in BaseCurrency - \Rmul\r{100}{#3}% - \Rmul\r\r{#4}% - }% - {% Target in BaseCurrency - \Rmul\r{100}{#5}% - }% - \setcounter{One@Expense}{1*\real{\r}}% - \addtocounter{ST@Expenses}{\theOne@Expense}% - \addtocounter{Expenses}{\theOne@Expense}% - \addtocounter{Expense@ctr}{1}%advance counter - & & & & \\[-1.2em]% ugly kludge as above -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Expense@Title}{% - \\% - \textbf{\Expense}&\Currency&\Amount&\Factor &\BC\\% - \hline% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ST@Expenses}{% - % \gdef\Flag{6}% - \ifnum\theST@Expenses>0% - \ifthenelse{\theExpense@ctr>1}% % if more than 1 Expense line - {\Print@ST@Expenses}% % print it, else - {}% % do nothing - \fi% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Print@ST@Expenses}{% - \gdef\Flag{6}% - & & & & \\[-1.2em]% ugly kludge as above - \SubtotalExpenses & & & &% print the subtotal of expenses - \Print@Value{\theST@Expenses}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ST@Project}{% - \gdef\Flag{7}% - \\ - %\multicolumn{4}{l}{\SubtotalProject}% - %\let\Project\NewProject% - %& - \SubtotalProject & & & & - \addtocounter{ST@Project}{\theST@Fee}% - \addtocounter{ST@Project}{\theST@VAT}% - \addtocounter{ST@Project}{\theST@Expenses}% - \Print@Value{\theST@Project}\\ -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Total@VAT@Printout}{% - \setcounter{VAT}{\theFee*\real{\VAT@rate}/100}% - \SumVAT & & & &\Print@Value{\theVAT}\\% -}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\Tot@l}{% - \\\hline - \ifnum\theFee>0 \SumFees& & & &% - \Print@Value{\theFee}\\ - \ifVATnonzero% - \Total@VAT@Printout% - \fi% - \fi% - \ifnum\theExpenses>0 \SumExpenses& & & &% - \Print@Value{\theExpenses}\\ - \fi% - \ifnum\theDiscount<0 \Discount@Contents& & & &% - \Print@Value{\theDiscount}\\ - \fi% - \hline\hline - \textbf{\Total} & & & &% - \message{^^J\Currency: \BC}% - \message{^^J\VAT: \VAT@rate}% - \addtocounter{Total}{\theFee}% - \message{^^J\SumFees: }\Message@Value{\theFee}% - \addtocounter{Total}{\theVAT}% - \message{^^J\SumVAT: }\Message@Value{\theVAT}% - \addtocounter{Total}{\theExpenses}% - \message{^^J\SumExpenses: }\Message@Value{\theExpenses}% - \ifnum\theDiscount<0 % - \addtocounter{Total}{\theDiscount}% - \message{^^J\Discount@Contents: }\Message@Value{\theDiscount}% - \fi % - \textbf{\Print@Value{\theTotal}}% - \message{^^J\Total: }% - \Message@Value{\theTotal}\message{^^J^^J}\\% - \end{longtable} - \end{center} - \gdef\Flag{8}% -} -\endinput -% vim:ts=4:sw=4 diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index a454cfbdf30..758b4f6c570 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -119,7 +119,7 @@ my @WorkingTLP = qw( ibygrk icsv IEEEconf IEEEtran ifplatform ifxetex ijmart ijqc image-gallery impatient impatient-fr import imtekda inlinebib inlinedef - interactiveworkbook intro-scientific inversepath invoice + interactiveworkbook intro-scientific inversepath ionumbers iopart-num iso iso10303 isodate isodoc isomath isonums isorot isotope itnumpar iwona jeopardy jknapltx jneurosci jpsj diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index ce94be0a6a1..ac01c9fa423 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -246,7 +246,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'ifacmtg', "die 'skipping, nonfree license'", 'indxcite', "die 'skipping, too old, license suboptimal'", 'induni-om', "die 'skipping, for omega, use of pua?'", - 'invoice', "&MAKEflatten", + 'invoice', "die 'skipping, requires nonfree realcalc'", 'ipa', "die 'skipping, part of wsuipa'", 'iwona', "&MAKEcopy", 'jadetex', "&MAKEjadetex", diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index c3ac2b37f66..b803fb832a0 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -246,7 +246,6 @@ depend import depend inlinedef depend interactiveworkbook depend inversepath -depend invoice depend iso depend iso10303 depend isodate diff --git a/Master/tlpkg/tlpsrc/invoice.tlpsrc b/Master/tlpkg/tlpsrc/invoice.tlpsrc deleted file mode 100644 index b76a2a9217a..00000000000 --- a/Master/tlpkg/tlpsrc/invoice.tlpsrc +++ /dev/null @@ -1,2 +0,0 @@ -name invoice -category Package |