Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

04 Jun '15, 15:48

esdd's gravatar image

esdd
17.8k304257

Eine weitere Möglichkeit wäre die Nutzung des [`datatool`][1] Paketes: \documentclass[parskip=full-,enlargefirstpage=true]{scrlttr2} \usepackage[T1]{fontenc} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß}} \usepackage[ngerman]{babel} \usepackage{tabularx} \usepackage{booktabs} \usepackage{numprint} \nprounddigits{2} \usepackage[right]{eurosym} \usepackage{datatool} \DTLnewdb{rechnung} \newcommand\Posten[3]{% \DTLnewrow{rechnung} \DTLnewdbentry{rechnung}{Bezeichnung}{#1} \DTLnewdbentry{rechnung}{Anzahl}{#2} \DTLnewdbentry{rechnung}{EP}{#3} {\dtlexpandnewvalue \FPeval\fpresult{round(#2*#3)(2)} \DTLnewdbentry{rechnung}{GP}{\fpresult} } } \newcommand\mwst{} \newenvironment{rechnung}[1]{% \renewcommand\mwst{#1}% \DTLcleardb{rechnung}% }{% %\DTLsumforkeys{rechnung}{GP}{\Zwischensumme}% liefert Fehler bei Zwischensummen ab 1000 % Alternative \def\Zwischensumme{0}% \DTLforeach*{rechnung}{\gp=GP}{\FPeval\Zwischensumme{\Zwischensumme+\gp}} \DTLforeach*{rechnung}{\gp=GP}{\FPeval\Zwischensumme{\Zwischensumme+\gp}}% % \FPeval\MWSt{round(\mwst*\Zwischensumme/100)(2)}% \FPeval\Summe{round(\Zwischensumme+\MWSt)(2)}% \xdef\Summe{\Summe}% \par\centering \begin{tabularx}{\textwidth}{Xrrr} \toprule Bezeichnung&Anzahl&Einzelpreis&Gesamtpreis \DTLforeach*{rechnung}{\bez=Bezeichnung,\anz=Anzahl,\ep=EP,\gp=GP}{% \DTLiffirstrow{\\\midrule}{\\}% \bez&\npnoround\numprint{\anz}\nprounddigits{2}&\numprint{\ep}&\numprint{\gp}% }\\ \midrule \if\mwst0\else Zwischensumme&&&\numprint{\Zwischensumme}\\ Mehrwertsteuer (\mwst\,\%)&&&\numprint{\MWSt}\\ \midrule \fi Summe&&&\numprint{\Summe}\\ \bottomrule \end{tabularx} \par } \setkomavar{fromname}{Max Mustermann} \setkomavar{fromaddress}{Musterstraße 1\\12345 Musterstadt} \newkomavar{bank} \setkomavar{bank}{Meine Bank\\BLZ 123 456 78\\Kontonummer 123 456 789 00} \renewcommand\raggedsignature{\raggedright} \begin{document} \begin{letter}{Firma Freundlich\\Rechnungstraße 12\\45678 Ortsname} \setkomavar{invoice}{xxyyzz-2013} \opening{Sehr geehrte Damen und Herren,} hiermit berechnen wir \begin{rechnung}{19} \Posten{Material}{2}{24.95} \Posten{weiteres Material}{8}{18} \Posten{Arbeitsstunden}{0.75}{30.50} \end{rechnung} Bitte überweisen Sie den Rechnungsbetrag von \EUR{\numprint{\Summe}} unter Angabe von Rechnungsnummer und -datum auf das folgende Konto: \usekomavar{bank} \closing{Mit freundlichen Grüßen} \end{letter} \end{document} ![alt text][2] [1]: http://www.ctan.org/pkg/datatool [2]: http://texwelt.de/wissen/upfiles/rechnung.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

04 Jun '15, 15:47

esdd's gravatar image

esdd
17.8k304257

Eine weitere Möglichkeit wäre die Nutzung des [`datatool`][1] Paketes: \documentclass[parskip=full-,enlargefirstpage=true]{scrlttr2} \usepackage[T1]{fontenc} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß}} \usepackage[ngerman]{babel} \usepackage{tabularx} \usepackage{booktabs} \usepackage{numprint} \nprounddigits{2} \usepackage[right]{eurosym} \usepackage{datatool} \DTLnewdb{rechnung} \newcommand\Posten[3]{% \DTLnewrow{rechnung} \DTLnewdbentry{rechnung}{Bezeichnung}{#1} \DTLnewdbentry{rechnung}{Anzahl}{#2} \DTLnewdbentry{rechnung}{EP}{#3} {\dtlexpandnewvalue \FPeval\fpresult{round(#2*#3)(2)} \DTLnewdbentry{rechnung}{GP}{\fpresult} } } \newcommand\mwst{} \newenvironment{rechnung}[1]{% \renewcommand\mwst{#1}% \DTLcleardb{rechnung}% }{% %\DTLsumforkeys{rechnung}{GP}{\Zwischensumme}% liefert Fehler bei Zwischensummen ab 1000 % Alternative \def\Zwischensumme{0}% \DTLforeach*{rechnung}{\gp=GP}{\FPeval\Zwischensumme{\Zwischensumme+\gp}} % \FPeval\MWSt{round(\mwst*\Zwischensumme/100)(2)}% \FPeval\Summe{round(\Zwischensumme+\MWSt)(2)}% \xdef\Summe{\Summe}% \par\centering \begin{tabularx}{\textwidth}{Xrrr} \toprule Bezeichnung&Anzahl&Einzelpreis&Gesamtpreis \DTLforeach*{rechnung}{\bez=Bezeichnung,\anz=Anzahl,\ep=EP,\gp=GP}{% \DTLiffirstrow{\\\midrule}{\\} \bez&\npnoround\numprint{\anz}\nprounddigits{2}&\numprint{\ep}&\numprint{\gp} \DTLiffirstrow{\\\midrule}{\\}% \bez&\npnoround\numprint{\anz}\nprounddigits{2}&\numprint{\ep}&\numprint{\gp}% }\\ \midrule \if\mwst0\else Zwischensumme&&&\numprint{\Zwischensumme}\\ Mehrwertsteuer (\mwst\,\%)&&&\numprint{\MWSt}\\ \midrule \fi Summe&&&\numprint{\Summe}\\ \bottomrule \end{tabularx} \par } \setkomavar{fromname}{Max Mustermann} \setkomavar{fromaddress}{Musterstraße 1\\12345 Musterstadt} \newkomavar{bank} \setkomavar{bank}{Meine Bank\\BLZ 123 456 78\\Kontonummer 123 456 789 00} \renewcommand\raggedsignature{\raggedright} \begin{document} \begin{letter}{Firma Freundlich\\Rechnungstraße 12\\45678 Ortsname} \setkomavar{invoice}{xxyyzz-2013} \opening{Sehr geehrte Damen und Herren,} hiermit berechnen wir \begin{rechnung}{19} \Posten{Material}{2}{24.95} \Posten{weiteres Material}{8}{18} \Posten{Arbeitsstunden}{0.75}{30.50} \end{rechnung} Bitte überweisen Sie den Rechnungsbetrag von \EUR{\numprint{\Summe}} unter Angabe von Rechnungsnummer und -datum auf das folgende Konto: \usekomavar{bank} \closing{Mit freundlichen Grüßen} \end{letter} \end{document} ![alt text][2] [1]: http://www.ctan.org/pkg/datatool [2]: http://texwelt.de/wissen/upfiles/rechnung.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

02 Jun '15, 16:05

esdd's gravatar image

esdd
17.8k304257

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

24 Mai '14, 17:56

esdd's gravatar image

esdd
17.8k304257