KOMA-Script kontra longtable

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: KOMA-Script kontra longtable

von Noch so einer » Di 8. Okt 2013, 13:06

Im konkreten Fall wäre eine Anpassung von footskip=5mm in einen tauglicheren (siehe frühere Anmerkungen) eine Möglichkeit des Eingriffs gewesen.

von Besserwisser » Di 8. Okt 2013, 13:05

Du musst einfach lernen, dass es Situationen gibt, in denen TeX nicht genug Freiheiten hat, um eine nach den Einstellungen passable Lösung zu finden. Beispielsweise müssen Gruß und Signatur immer eine Einheit bilden. Wenn nun mitten darin ein Umbruch erfolgen müsste, dann gibt es je abhängig von den weiteren Umständen entweder einen zu frühen Umbruch oder einen zu späten. Normalerweise gibt es bei Briefen eher einen zu frühen. Bei einem Zusammentreffen mit besonderen Umgebungen wie einer longtable kann es aber auch einen zu späten Umbruch geben. Das geschieht aber nicht stillschweigend, sondern mit einer entsprechenden Meldung, wie die bereits genannte "overfull \vbox". In dem Fall sollte man dann gezielt eingreifen. Mittel dafür gibt es angefangen von einem \newpage an geeigneter Stelle bis hin zu einer Umformulierung des Textes eine ganze Menge.

Andere Fälle, in denen solche Meldungen auftreten sind beispielsweise zu große Boxen oder allgemein Boxen im Bereich des Seitenumbruchs im doppelseitigen Satz.

Übrigens gibt es auch "underfull \vbox", "overfull \hbox" und "underfull \hbox". Siehe auch »Was bedeuten \underfull/\overfull \hbox?«

von eckart » Di 8. Okt 2013, 09:45

Das erneute Auftreten der Misslichkeit lag im Verwenden von 'signature'. Dessen Inhalt wurde in den Fußbereich geschoben. Wenn ich alle drei Unterschriftenzeilen ins 'closing' lege. funktioniert der Umbruch einwandfrei. Damit ist der Fall erst mal erledigt. Nochmals vielen Dank und vielleicht bis zum nächsten Mal.

von eckart » Di 8. Okt 2013, 09:33

Ich habe mal in deinem Vorschlag die Longtable durch Auskommentieren 6 Zeilen kürzer gemacht und der anfangs beschriebene Effekt des Hineinschreibens in den Fußbereich ist wieder da.
\documentclass[paper=a4, version=last,fontsize=12pt,   % Format A4, generelle Schriftgröße 12pt 
   foldmarks=true,foldmarks=bmp,         % Faltmarken, nur links oben 
   locfield=wide,                     % location-Feld breit 
   refline=nodate, % Kein automatisches Datum setzen 
   numericaldate=true]                  % Datum voll numerisch darstellen 
{scrlttr2} 


\usepackage[ngerman]{babel} 
\usepackage{ltxtable} 

\usepackage{geometry} 

\geometry{% Das macht man alles in einer geometry-Anweisung! 
  top=24mm,% Oberer Rand generell auf 24 mm gesetzt 
  bottom=20mm,% Unteren Rand generell auf 20 mm gesetzt 
  left=24.1mm,% Linker Rand generell auf 24.1 mm gesetzt 
  right=15.9mm,% Rechter Rand generell auf 15.9 mm gesetzt 
  footskip=5mm,% Abstand zwischen Textende und Fuß-Grundlinie! 
} 

% Setzen von Pseudolängen (internen Abständen) 
\makeatletter 

%************ Die folgende Pseudolänge ändert den Fuß für die erste Seite. 
%************ Diese Angabe scheint die Longtable zu irnorieren! 
% Fuß der ersten Seite nach oben ziehen 
\@setplength{firstfootvpos}{264mm} 
\makeatother 

% Variable für den Fuß vereinbaren 
\newkomavar{fussspaltelinks} 
\newkomavar{fussspaltemitte} 
\newkomavar{fussspalterechts} 

\begin{document} 

\newkomavar{kostentabelleninhalt} 
\newkomavar{testkostentabelle} 


% Variable für den Fuß setzen 
\setkomavar{fussspaltelinks}{% 
Fußspalte links 1 \\ 
Fußspalte links 2 \\ 
Fußspalte links 3 
}% 
\setkomavar{fussspaltemitte}{% 
Fußspalte mitte 1 \\ 
Fußspalte mitte 2 \\ 
Fußspalte mitte 3 
}% 

\setkomavar{fussspalterechts}{% 
Fußspalte rechts 1 \\ 
Fußspalte rechts 2 \\ 
Fußspalte rechts 3 
}% 

\setkomavar{firstfoot}{% 
   \hrule   % horizontale Linie 
      \begin{minipage}[t]{0.33\textwidth} 
         \usekomavar{fussspaltelinks}   
      \end{minipage} 
      \begin{minipage}[t]{0.33\textwidth} 
         \usekomavar{fussspaltemitte} 
      \end{minipage} 
      \begin{minipage}[t]{0.33\textwidth} 
         \usekomavar{fussspalterechts} 
      \end{minipage} 
}% 


\setkomavar{signature}{% 
   Unterzeichner \\ 
   Amtsbezeichnung 
}% 
\let\raggedsignature\raggedright 

\begin{letter}{% 
    Anschrift 
}% 

\opening{Hallo,} 
\begin{longtable}{| c | c | c | c | c | c |} 
1&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
2&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
3&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
4&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
5&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
6&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
6&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
7&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
8&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
9&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
10&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
11&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
12&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
13&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
14&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
15&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
%16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
%16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
%16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
%16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
%16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
%16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline 
\end{longtable} 
\closing{Bis dann} 

\end{letter} 

\end{document}

von Noch so einer » Mo 7. Okt 2013, 18:21

Die overfull \vbox, die gemeldet wird, zeigt, dass das schon beachtet wird, aber ein Umbruch an entsprechender Stelle schlicht nicht möglich ist. Das hat vermutlich etwas damit zu tun, dass Du zu wenig Absätze machst. Mir ist ehrlich gesagt auch nicht klar, warum Du das Briefende nicht mit \closing{…} und ggf. mit signature statt mit einer eigenen Variable machst und warum Du überhaupt diese Variablenorgie anstellst. Wenn man das halbwegs normal macht, wie das in der KOMA-Script-Anleitung angegeben ist, dann funktioniert es nämlich:
\documentclass[visualize,                  % Wird unbedinbgt für PDF/A-Erzeugung gebraucht!
   paper=a4, version=last,fontsize=12pt,   % Format A4, generelle Schriftgröße 12pt
   foldmarks=true,foldmarks=bmp,         % Faltmarken, nur links oben
   locfield=wide,                     % location-Feld breit
   refline=nodate, % Kein automatisches Datum setzen
   numericaldate=true]                  % Datum voll numerisch darstellen
{scrlttr2}


\usepackage[ngerman]{babel}
\usepackage{ltxtable}

\usepackage{geometry}

\geometry{% Das macht man alles in einer geometry-Anweisung!
  top=24mm,% Oberer Rand generell auf 24 mm gesetzt
  bottom=20mm,% Unteren Rand generell auf 20 mm gesetzt
  left=24.1mm,% Linker Rand generell auf 24.1 mm gesetzt
  right=15.9mm,% Rechter Rand generell auf 15.9 mm gesetzt
  footskip=5mm,% Abstand zwischen Textende und Fuß-Grundlinie!
}

% Setzen von Pseudolängen (internen Abständen)
\makeatletter

%************ Die folgende Pseudolänge ändert den Fuß für die erste Seite.
%************ Diese Angabe scheint die Longtable zu irnorieren!
% Fuß der ersten Seite nach oben ziehen
\@setplength{firstfootvpos}{264mm}
\makeatother

% Variable für den Fuß vereinbaren
\newkomavar{fussspaltelinks}
\newkomavar{fussspaltemitte}
\newkomavar{fussspalterechts}

\begin{document}

\newkomavar{kostentabelleninhalt}
\newkomavar{testkostentabelle}


% Variable für den Fuß setzen
\setkomavar{fussspaltelinks}{%
Fußspalte links 1 \\
Fußspalte links 2 \\
Fußspalte links 3
}%
\setkomavar{fussspaltemitte}{%
Fußspalte mitte 1 \\
Fußspalte mitte 2 \\
Fußspalte mitte 3
}%

\setkomavar{fussspalterechts}{%
Fußspalte rechts 1 \\
Fußspalte rechts 2 \\
Fußspalte rechts 3
}%

\setkomavar{firstfoot}{%
   \hrule   % horizontale Linie
      \begin{minipage}[t]{0.33\textwidth}
         \usekomavar{fussspaltelinks}  
      \end{minipage}
      \begin{minipage}[t]{0.33\textwidth}
         \usekomavar{fussspaltemitte}
      \end{minipage}
      \begin{minipage}[t]{0.33\textwidth}
         \usekomavar{fussspalterechts}
      \end{minipage}
}%


\setkomavar{signature}{%
   Unterzeichner \\
   Amtsbezeichnung
}%
\let\raggedsignature\raggedright

\begin{letter}{%
    Anschrift
}%

\opening{Hallo,}
\begin{longtable}{| c | c | c | c | c | c |}
1&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
2&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
3&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
4&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
5&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
6&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
6&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
7&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
8&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
9&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
10&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
11&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
12&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
13&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
14&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
15&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline
\end{longtable}
\closing{Bis dann}

\end{letter}

\end{document}
Übrigens ist ein \footskip-Wert von 5mm sehr wenig. Das ist nämlich der Abstand zwischen der letzten Grundlinie des Textbereichs und der ersten Grundlinie des Fußes. Die Seitenzahl liegt dann also in diesen 5mm, nicht darunter. Du siehst das, wenn Du mal auf der zweiten Seite mit Hilfe des Pakets lipsum ein \lipsum vor \closing einfügst. Auch auf der ersten Seite täte mehr Abstand Not (min. 10mm).

Hier das Minimalbeispiel

von eckart » Mo 7. Okt 2013, 17:50

\documentclass[visualize,						% Wird unbedinbgt für PDF/A-Erzeugung gebraucht!
	paper=a4, version=last,fontsize=12pt,	% Format A4, generelle Schriftgröße 12pt
	foldmarks=true,foldmarks=bmp,			% Faltmarken, nur links oben
	locfield=wide,							% location-Feld breit
	numericaldate=true]						% Datum voll numerisch darstellen
{scrlttr2}


\usepackage[ngerman]{babel}
\usepackage{ltxtable}

\usepackage{geometry}


% Oberer Rand generell auf 24 mm gesetzt
\geometry{top=24mm}
% Unteren Rand generell auf 20 mm gesetzt
\geometry{bottom=20mm}
% Linker Rand generell auf 24.1 mm gesetzt
\geometry{left=24.1mm}
% Rechter Rand generell auf 15.9 mm gesetzt
\geometry{right=15.9mm}

% Setzen von Pseudolängen (internen Abständen)
\makeatletter

%************ Die folgende Pseudolänge ändert den Fuß für die erste Seite.
%************ Diese Angabe scheint die Longtable zu irnorieren!
% Fuß der ersten Seite nach oben ziehen
\@setplength{firstfootvpos}{265mm}
\makeatother


%Anschriftenfeld
\newkomavar{addressblock}

% Variable für den Fuß vereinbaren
\newkomavar{fussspaltelinks}
\newkomavar{fussspaltemitte}
\newkomavar{fussspalterechts}

% Variable für den Briefinhalt
\newkomavar{brieftext}

% Variable für den Briefschluss
\newkomavar{briefschluss}

\begin{document}

\newkomavar{kostentabelleninhalt}
\newkomavar{testkostentabelle}


% Variable für den Fuß setzen
\setkomavar{fussspaltelinks}{%
Fußspalte links 1 \\
Fußspalte links 2 \\
Fußspalte links 3
}%
\setkomavar{fussspaltemitte}{%
Fußspalte mitte 1 \\
Fußspalte mitte 2 \\
Fußspalte mitte 3
}%

\setkomavar{fussspalterechts}{%
Fußspalte rechts 1 \\
Fußspalte rechts 2 \\
Fußspalte rechts 3
}%


%Anschriftenblock
\setkomavar{addressblock}{%
Anschrift
}%


% Datum rechts oberhalb der Anredefloskel leer setzen
\setkomavar{date}{}


% Abstand zwischen letzter Textzeile und Fußzeile
\setlength{\footskip}{5mm}

\setkomavar{firstfoot}{%
	\hrule	% horizontale Linie
		\begin{minipage}[t]{0.33\textwidth}
			\usekomavar{fussspaltelinks}	
		\end{minipage}
		\begin{minipage}[t]{0.33\textwidth}
			\usekomavar{fussspaltemitte}
		\end{minipage}
		\begin{minipage}[t]{0.33\textwidth}
			\usekomavar{fussspalterechts}
		\end{minipage}
}%


\setkomavar{briefschluss}{%
	Unterzeichner \\
	Amtsbezeichnung
}%


\setkomavar{kostentabelleninhalt}{1&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline2&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline3&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline4&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline5&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline6&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline6&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline7&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline8&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline9&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline10&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline11&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline12&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline13&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline14&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline15&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline16&1234.2&Gegenstand 1&20,00&10,00&5,00\\ \hline}


\setkomavar{testkostentabelle}{%
		\begin{longtable}{| c | c | c | c | c | c |}
			\usekomavar{kostentabelleninhalt}
		\end{longtable}
}%


% Briefinhalt
\setkomavar{brieftext}{%
	\usekomavar{testkostentabelle}
}%

\begin{letter}{%
	\usekomavar{addressblock}
}%

\opening{}

\usekomavar{brieftext}

\usekomavar{briefschluss}

\end{letter}

\end{document}

von eckaart » Mo 7. Okt 2013, 16:07

ok, mache ich. Kann aber etwas dauern.

von Johannes_B » Mo 7. Okt 2013, 12:54

Könntest du das eventuell in Form eines vollständigen Minimalbeispiels reproduzieren?

Momentan ist dein Problem, zumindest für mich, nicht nachvollziehbar.

KOMA-Script kontra longtable

von eckart » Mo 7. Okt 2013, 12:51

Ich habe unter Verwednung des KOMA-Scripts (package scrlttr2) in einer Briefvorlage auf der ersten Seite einen abweichenden Dokumentenfuß vereinbart Er ist höher als auf den Folgeseiten, wodurch der Text auf der ersten Seite eher umbricht als auf den Folgeseiten. Verwende ich nun als Text eine Longtable, irgnoriert diese beim Umbruch auf der ersten Seite, dass der Umbruch eher erfolgen muss. Die Tabelle bricht am generellen Seitenende um. Damit ragt die Tabelle in den Fuß der ersten Seite hinein. Wie kann man das ändern?

Nach oben