Longtable und Zwischensumme pro Seite

Tabellen und Grafiken erstellen und anordnen


axlwoz
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: So 20. Nov 2011, 11:59
Wohnort: passau

Longtable und Zwischensumme pro Seite

Beitrag von axlwoz »

Hallo zusammen,

ich bin am Suchen wie ich in einer Longtable eine Zwischensumme pro Seite hinbekomme.
Im Netz habe ich bis jetzt nix verwertbares gefunden. Was ich mir aber gedacht habe, was funktionieren könnte
(es leider aber wegen mangelnder TeX-Programmierkenntnisse nicht ausprobieren konnte) wäre folgendes:

Ich probier's mal mit einem Pseudocode zu beschreiben.
\\ Ich definiere ein Array mit Anzahl Seiten des Dokumentes, mit Inhalt  Double

declare Double pagearray[LastPage]


\newcommand\mySaveandOut[#1]{

	// Dann addiere ich die Werte. Der Index ist die aktuelle Seite.
	pagearray[current_page] += #1;

	// und Den Wert auch ausgeben, damit die Zahl auch in der Tabelle erscheint.
	#1
}


\begin{longtable}[l]{l}

Page-Total: pagearray[current_page] \endfoot

\mySaveandOut{15.5} \\
\mySaveandOut{2.3} \\
\mySaveandOut{4.5} \\

\end{longtable}

Meine Frage wäre: Ist es Wert den Ansatz weiter zu verfolgen oder wird das ohnehin nicht funktionieren.
Danke euch.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

So einfach geht es nicht. Der Fuß einer longtable ist eine fest abgespeicherte Box, die auf jeder Seite gleich ist.

Man muss die Outputroutine von longtable ändern, wenn man variable Boxen will: http://tex.stackexchange.com/questions/ ... long-table.

Alternativ kann man auch mit labels die letzte Zeile identifizieren und dort dann die Zwischensumme reinschmuggeln (tikz oder \raisebox).

axlwoz
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: So 20. Nov 2011, 11:59
Wohnort: passau

Beitrag von axlwoz »

Hallo Ulrike,

vielen Dank für die Antwort. Habe ich mir schon gedacht, dass es nicht ganz so trivial zu lösen ist. Ich habe einige Ansätze ausprobiert, die ich in diversen Foren oder unter deinem Link gefunden habe, aber leider funktionieren diese nur so halbwegs.

Da wir in unserem Betrieb alles auf LaTex umgestellt haben, nur halt den Rechnungsdruck noch nicht, wäre es schön gewesen diesen auch noch umstellen zu können. Aber dann muß es zu 100% sicher laufen, sonst zieh ich mir den Zorn der Anwender zu.

Gruß Axel

Noch so einer

Beitrag von Noch so einer »

Wenn man bei einer Rechnung nicht mit einer Tabelle mit variablen Spaltenbreiten arbeitet, kann man übrigens auch auf longtable verzichten und stattdessen für jede Zeile eine eigene Tabelle (mit festen Spaltenbreiten) erstellen. Das macht man in einer Box und ermittelt vor dem Setzen der Box, ob auf der Seite noch genügend Platz dafür und für eine Zwischensumme ist. Wenn das nicht der Fall ist, erzeugt man die Zwischensumme und einen Seitenumbruch und gibt die Box erst dann aus. Wenn es der Fall ist, setzt man nur die Box.

Das nur als grober Hinweis, da eine Implementierung einen gewissen Aufwand darstellt. Daher will ich das nicht einfach ins Blaue weiterverfolgen.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

u willst eine rechnung erstellen? Sag das doch.
Rechnungen schreiben mit KOMA-Script.

Du kannst die Berechnung auch mit Lua machen (entweder direkt über LuaLaTeX oder über shell-esxape).
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4267
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Johannes_B hat geschrieben:u willst eine rechnung erstellen? Sag das doch.
Rechnungen schreiben mit KOMA-Script.

Du kannst die Berechnung auch mit Lua machen (entweder direkt über LuaLaTeX oder über shell-esxape).
Da Problem ist ja nicht das Berechnen der Summen, sondern die Zwischensummen pro Seite.

Antworten