PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Buchhaltungssätze mit Array



Maverick
11-09-2016, 16:57
Guten Tag,

ich möchte gerne Buchungssätze aus dem Rechnungswesen darstellen. Also bspw.:

(7700) Versicherungsaufwand 1.000 / (2800) Bank 1.000

Ich habe es über die Array-Umgebung gelöst (bzw. ehrlich gesagt ergoogelt):


\begin{equation*}
\begin{array}{ll}
\text{(6451) Aufwendungen aus Rückdeckungsversicherungen} & \text{1.000)}\\
\end{array}
\left\slash
\begin{array}{ll}
\text{(2800) Bank}& \text{1.000)}\\
\end{array}
\right. % "Blinde Klammer" zu, zur Größenanpassung des Trennstriches
\end{equation*}

Der Code funktioniert soweit.

Meine Fragen: Gibt es keine Möglichkeit, der Umgebung mitzuteilen, dass es sich ausschließlich um Text handelt (auch die Zahlen)? Dann würde ich mir das \text{} ersparen.

Wäre es besser, den Buchungssatz über eine Tabelle darzustellen? Bei den Array-Umgebung habe ich nämlich das Problem, wenn bspw. der Kontenname der linken Seite (Soll) zwei Zeilen hat (da zu lang), ich dann diese zweite Zeile mit \qquad hinreinrücken muss. Da muss ich dann immer probieren, wie viele \qquad es benötigt.

Schöne Grüße

Christoph

cookie170
12-09-2016, 10:34
Hallo!

Mir ist nicht klar, warum Du so eine komplizierte Konstruktion wählst. Mit einer Tabelle, bei der sogar ein Feld eine variable Breite haben kann, ließe sich das alles auch erreichen, oder? Ich habe zur vereinfachten Eingabe die Tabellenspalten etwas komplizierter gewählt: es gibt nun beim Tabellentyp N ein Tausendertrennzeichen und die Nummern der Konten werden selbstständig in Klammern gesetzt, sodass man nicht jedes Mal daran denken muss. Wenn ich falsch liege oder Du noch Fragen hast, melde Dich.


\documentclass[ngerman]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel, amsmath, tabularx, array, numprint}

\npthousandsep{.}
%\npdecimalsign{,}
\renewcommand{\tabularxcolumn}[1]{m{#1}}


\begin{document}


\begin{equation*}
\begin{array}{ll}
\text{(6451) Aufwendungen aus Rückdeckungsversicherungen} & \text{1.000)}\\
\end{array}
\left\slash
\begin{array}{ll}
\text{(2800) Bank}& \text{1.000)}\\
\end{array}
\right. % "Blinde Klammer" zu, zur Größenanpassung des Trennstriches
\end{equation*}

\begin{center}\itshape{}
\begin{tabularx}{1.0\linewidth}{%
>{(}l<{)}% Spalte 1: Konto
X% Spalte 2: Text, variable Breite
N{4}{0}% Spalte 3: Betrag mit Tausendertrennzeichen
c% Spalte 4 Trennungszeichen "/"
>{(}r<{)}% Spalte 5: Gegenkonto
l% Spalte 6: Text Gegenkonto
N{4}{0}% Spalte 7: Betrag mit Tausendertrennzeichen
}

6451 &Aufwendungen aus Rückdeckungsversicherungen& 1000 &/&2800 &Bank& 1000\\
\end{tabularx}
\end{center}
\end{document}

Maverick
12-09-2016, 15:19
Hallo cookie170,

vielen herzlichen Dank für deine Bemühungen! Dein Minibeispiel funktioniert bestens.

Ich hätte noch folgende Fragen:

Wenn ich einen Buchungssatz mit zwei Zeilen erstelle, schaut es im kompilierten Dokument dergestalt aus:

https://www.dropbox.com/s/658bw1qp2y0nekn/minibeispiel.png?dl=0

Ist es möglich, dass der Text "Aufwendungen aus Leasingverträge LKW" auf der gleichen Höhe wie das Konto (6451) und der Betrag 10.000 zu liegen kommt? Ferner reicht der Trennstrich / nur über die erste Zeile. Er müsste über beide Zeilen (wie bei der Array-Umgebung) reichen.

Eigenartigerweise kommt es in meinem Dokument (also nicht im Minimalbeispiel) dann zu dieser Ausgabe, beim selben Code. Die Zeile mit dem langen Text wird nicht mehr umgebrochen. Kommt es hier mit einem anderen Package zu Konflikten? (Die drei oberen Buchungssätze kommen aus der alten Array-Umgebung.)

https://www.dropbox.com/s/vtekct0sq9ret4n/dokument.png?dl=0

Schöne Grüße

Christoph

cookie170
13-09-2016, 13:04
Ist es möglich, dass der Text "Aufwendungen aus Leasingverträge LKW" auf der gleichen Höhe wie das Konto (6451) und der Betrag 10.000 zu liegen kommt?


Ja, dazu musst Du nur den \renewcommand Befehl auskommentieren, dann verhält sich die X-Spalte wieder wie eine p-Spalte, wie gesagt, wirf dazu mal 'nen Blick in die Anleitungen.



Ferner reicht der Trennstrich / nur über die erste Zeile. Er müsste über beide Zeilen (wie bei der Array-Umgebung) reichen.


Das geht vielleicht, aber ganz bestimmt über meinen Horizont. Sorry.

Daniel
13-09-2016, 23:02
Willst Du eine Buchung darstellen? Das kann Exxel besser.