Hallo,

ich nutze zur Zeit eine .sty-Datei die ich online gefunden habe, um eine Tabelle für meine Rechnungen anzulegen. Jetzt ist meine Standard-Briefvorlage in Helvetica formatiert:

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault} 
\usepackage[T1]{fontenc}

Wenn ich alles so lasse sind aber die Rechnungsbeträge und die Summe noch in der Standardschriftart von LaTeX. Jetzt habe ich schon im TeX-Stackexchange gefragt und mir wurde geraten

\makeatletter
\renewcommand*{\format@float}[1]{\FPround{\invoice@t}{#1}{2}\invoice@t}
\renewcommand*{\format@int}[1]{#1}
\makeatother

direkt nach dem Einbinden der .sty-Datei einzufügen. Das behebt zwar mein Problem mit der Schriftart, jedoch werden dann wieder Dezimalpunkte (13.99€) statt dem „korrekten“ Komma (13,99€) benutzt.

Wie bekomme ich beides zum laufen?

Package rechnung.sty:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{rechnung}

\RequirePackage{fp}
\RequirePackage{calc}
\RequirePackage{array}
\RequirePackage{booktabs}

% Commas instead of dot in mathmode
\mathchardef\period=\mathcode`.
\DeclareMathSymbol{.}{\mathord}{letters}{"3B}

\newcounter{invoice@cost}
\newcounter{invoice@vat}

\newcommand*{\format@float}[1]{\FPround{\invoice@t}{#1}{2}$\invoice@t$}
\newcommand*{\format@int}[1]{$#1$}
\newcommand*{\total}[1]{\FPdiv{\invoice@t}{\arabic{#1}}{1000}\format@float{\invoice@t}}
\newcommand*\textPosten{\bfseries Posten}
\newcommand*\textPreis{St\"uckpreis}
\newcommand*\textAnzahl{Anzahl}
\newcommand*\textBetrag{Betrag}

\newenvironment*{invoice}[1]{
  \setcounter{invoice@cost}{0}
  \setcounter{invoice@vat}{0}
  \def\invoice@VATval{#1}%
  % 
  \newcommand*{\Fee}[3]{%
    \addtocounter{invoice@cost}{1000 * \real{##2} * \real{##3}}%
    \addtocounter{invoice@vat}{10 * \real{#1} * \real{##2} * \real{##3}}%
    {##1} & \format@float{##2} & \format@int{##3} & \FPmul{\invoice@cost}{##2}{##3}\format@float{\invoice@cost} \cr%
  }%
  % 
  ~\par\noindent
  \begin{tabular}{p{\dimexpr0.49\linewidth-2\tabcolsep}*{3}{>{\hfill}p{\dimexpr0.17\linewidth-2\tabcolsep}}}%
    \toprule%
    {\textPosten} & {\textPreis} & {\textAnzahl} & {\textBetrag} \cr%
    \midrule%
  }{%
    \if\invoice@VATval0\else%
    \midrule%
    {Zwischensumme} & & & {\total{invoice@cost}} \cr%
    {MWSt. (\invoice@VATval\,\%)} & & & {\total{invoice@vat}} \cr%
    \fi%
    \midrule%
    \setcounter{invoice@cost}{\theinvoice@cost + \theinvoice@vat}%
    {\bfseries Summe} & & & {\boldmath \total{invoice@cost}} \cr%
    \bottomrule%
  \end{tabular}%
  \par~%
}

MWE (main.tex):

\documentclass[
    fontsize=12pt,    
    parskip=full,
    paper=A4,
    fromalign=right,
    fromphone=true,
    fromfax=false,
    fromemail=true,
    fromurl=false,
    foldmarks=true,
    version=last
]{scrlttr2}
% \KOMAoptions{enlargefirstpage=true}

\usepackage{rechnung}

\setlength{\parindent}{0pt}

\renewcommand*{\raggedsignature}{\raggedright}

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault} 
\usepackage[T1]{fontenc}

\usepackage[utf8]{inputenc}

\usepackage{eurosym}
\DeclareUnicodeCharacter{20AC}{\euro}

\usepackage[ngerman]{babel}

\usepackage[hidelinks]{hyperref}

\begin{document}

\setkomavar{fromname}{John Doe}
\setkomavar{fromaddress}{LaTeX Street}
\setkomavar{date}{\today}
\setkomavar{subject}{Invoice0001}

% Empfänger
\begin{letter}{
    Your Company Ltd.\\
    Companyst. 4
}

\opening{Hi,}

\begin{invoice}{0}
    \Fee{All the things}{987654321}{1}
\end{invoice}\\
Noch ‘ne Zeile

\closing{KR}

\end{letter}

\end{document}

gefragt 16 Sep '22, 10:25

timlwsk's gravatar image

timlwsk
111
Akzeptiert-Rate: 0%

Sorry, aber dein beispiel funktioniert bei mir nicht, sondern liefert:

! Dimension too large.
<recently read> \calc@B

Ich kann daher nur vermuten, dass du einfach nur $\mathsf{\invoice@t}$ suchst.

Bitte versuche immer, ein fehlerfreies beispiel zu liefern. Damit das ganze im online-compiler funktioniert, sei außerdem die umgebung filecontents für zusatzdateien wie eigene pakete oder die verschiebung des codes in die dokumentpräambel des beispiels empfohlen.

(16 Sep '22, 12:26) huibub

Das Paket ist ziemlich schrecklich (was man auch an dem \par~ am Ende sieht, der die Einrückung verursacht). Suche was besseres oder schreibe dir eigenen Code, der auf xfp basiert. Dann kannst du siunitx und \num für die Formatierung verwenden.

(18 Sep '22, 17:10) Ulrike Fischer
Deine Antwort auf die Frage: (Bemerkungen bitte oben als Kommentar)
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×130
×77
×4

gestellte Frage: 16 Sep '22, 10:25

Frage wurde gesehen: 379 Mal

zuletzt geändert: 18 Sep '22, 17:10