Abstand Tabelle - Text verringern/Paragraph ohne Text

Schriftbild, Absätze und Auflistungen einstellen


hsbugg
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 29. Nov 2012, 20:18

Abstand Tabelle - Text verringern/Paragraph ohne Text

Beitrag von hsbugg »

Liebe Experten,

ich bin blutiger Latex-Anfänger, habe mich aber gleich an ein größeres Projekt gewagt. Es ist ein sehr tabellenlastiger Katalog, bei dem die Tabellen immer genau an der Stelle auftauchen müssen, wo sie definiert wurden. Ich hoffe, das unten stehende, annähernd minimalisierte Beispiel zeigt, worum es geht. Im großen und ganzen funktioniert das schon ganz gut, aber es bleiben zwei Probleme mit dem Textlayout:

- ich bräuchte manchmal einfach nur eine Paragraph-Überschrift, bevor eine Tabelle beginnt. Lasse ich aber den kurzen Text unmittelbar nach"\paragraph{Lagerstätten}" weg, so taucht der Paragraphentitel auch nicht auf. Gibt es eine Möglichkeit, den Titel anzuzeigen, ohne dass (sichtbarer) Text folgt?

- die kurze Tabelle (sie kann auch länger werden) dient sozusagen als tabellarischer Header, gefolgt von einer längeren Erläuterung in Form eines Fließtexts. Ich finde den Abstand zwischen der Tabelle und dem nachfolgenden Text jedoch zu groß. Gibt es eine Möglichkeit, ihn zu reduzieren?

Vielen Dank für Eure Unterstützung!

Helge
\documentclass[11pt,a4paper]{book}
\usepackage[latin1]{inputenc}
\usepackage{float}
\usepackage{longtable}
\restylefloat{table}
\usepackage[english,ngerman]{babel}

\begin{document}

\paragraph{Lagerstätten}
Die Grube baute auf folgender Lagerstätte:

\begin{table}[H]
\begin{tabular}{p{.20\textwidth} p{.70\textwidth}}
Name: & \textbf{St. Josua}\\
Lage: &1114460/2225480-1114600/2225580\\
Literatur: &[43]\\
\end{tabular}
\end{table}

Nach dem Haldenmaterial des unteren Stollens handelt es sich bei dem Gang um eine schmale Störung in gebrächem Gneis, die mit blättrigem, weißem Baryt mineralisiert ist. Die Erzführung beschränkt sich auf Spuren von Galenit [*43*]. 

\end{document}

Noch so einer

Beitrag von Noch so einer »

Verzichte auf die table-Umgebung um die tabular-Umgebung. Die benötigt man nur, wenn die Tabellen gleiten sollen, was zwar der Normalfall wäre, in Deinem Fall aber nicht erwünscht ist. Falls Du eine Tabellenüberschrift brauchst, kannst Du \captionof verwenden, indem Du eines der unter dem Link angegebenen Pakete verwendest. Ich würde übrigens generell zu einer KOMA-Script-Klasse, also scrbook wechseln. Falls Du tatsächlich nur die \paragraph-Ebene verwenden willst, würde ich außerdem keine Buchklasse, sondern eine Artikel-Klasse wie scrartcl verwenden.

hsbugg
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 29. Nov 2012, 20:18

Abstand Tabelle - Text verringern/Paragraph ohne Text

Beitrag von hsbugg »

Hallo,

besten Dank, nach Entfernen der table-Umgebung kann ich den Leerraum nach der Tabelle nun durch \newline steuern. Hier die Frage: Ist es der "offizielle" Weg, mehrere \newline Elemente hintereinanderzuschalten, oder kann man hier die Höhe der Leerzeile steuern, so dass nur eine notwendig ist?

Außerdem habe ich das Problem mit der "alleine stehenden" Paragraph-Überschrift nicht gelöst. Das Dokument umfasst noch viele weitere Gliederungsebenen, weshalb ich den Paragraph hier brauche. Gibt es hier keine einfache Lösung? Was ist der Vorteil der angesprochenen KOMA-Script-Klasse in diesem Zusammenhang?

Vielen Dank für Eure Hilfe,
Helge

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Re: Abstand Tabelle - Text verringern/Paragraph ohne Text

Beitrag von cgnieder »

hsbugg hat geschrieben:besten Dank, nach Entfernen der table-Umgebung kann ich den Leerraum nach der Tabelle nun durch \newline steuern. Hier die Frage: Ist es der "offizielle" Weg, mehrere \newline Elemente hintereinanderzuschalten, oder kann man hier die Höhe der Leerzeile steuern, so dass nur eine notwendig ist?
Das sollte man in keinem Fall machen. Tatsächlich sollte man auf den Einsatz von \newline im Text weitestgehend verzichten. Je nachdem was Du erreichen möchtest (wie groß soll der Abstand sein? Soll er flexibel (=dehnbar) sein? Soll er über und unter der Tabelle auftauchen? Soll die Tabelle zentriert sein?) gibt es verschiedene Möglichkeiten, wie etwa das Definieren einer eigenen Umgebung.

Natürlich kann man auch \\ mit optionalem Argument verwenden, aber das sieht sehr nach manuellem Gefrickel aus, das man nur in Notfällen einsetzen sollte.
Text\\[2\baselineskip]
Text\\[2cm]
Text
Außerdem habe ich das Problem mit der "alleine stehenden" Paragraph-Überschrift nicht gelöst. Das Dokument umfasst noch viele weitere Gliederungsebenen, weshalb ich den Paragraph hier brauche. Gibt es hier keine einfache Lösung? Was ist der Vorteil der angesprochenen KOMA-Script-Klasse in diesem Zusammenhang?
Das Problem kann ich mit Deinem Minimalbeispiel nicht reproduzieren. KOMA-Script hätte jedenfalls Miniüberschriften bereit mit \minisec{}.
Clemens
Paketauthor

hsbugg
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 29. Nov 2012, 20:18

Beitrag von hsbugg »

Hallo Clemens,

super, das mit dem \\[xcm] klappt hervorragend. Das ist zwar wahrscheinlich nicht ganz die reine Lehre, aber vorerst ist dieses Problem damit wohl gelöst. Jedenfalls sieht der Abstand bei den mehreren Hundert Tabellen jetzt ziemlich gleichmäßig aus.

Dafür habe ich jetzt noch ein anderes Problem (ich hatte es auch schon vorher, hatte es aber noch nicht bemerkt):

Über weite Strecken ist meine Dokumentenstruktur nun im Prinzip so:
\paragraph{Paragraphenüberschrift1}
Text text text text:

\begin{longtable}{p{.25\textwidth} p{.60\textwidth} p{.05\textwidth}}
1111409/2222218 & Stollen & 1\\
1111519/2222000 & Schacht & \\
\end{longtable}

\paragraph{Paragraphenüberschrift2}
Text text text text:
\\[0.5cm]
\begin{tabular}{p{.20\textwidth} p{.70\textwidth}}
Name: & \textbf{Engenau} [1918]\\
Nr.: & 1\\
Lage: &1111471/2222267-1111136/2222002\\
Streichen: &60-80°/seiger\\
Literatur: &[144, 8, 264]\\
\end{tabular}
\\[0.5cm]
Text text text text text text text text text text text text text text text text text text text text...
Hier gibt es also mehrere Paragraphen, die abwechselnd

- eine longtable-Umgebung (für wirklich lange Listen, die sich über mehrere Seiten erstrecken können)
- eine tabular-Umgebung (für relativ kurze Tabellen, die NICHT umbrechen sollen) und anschließend Fließtext

enthalten. Latex macht hier nun in 90% aller Fälle alles richtig, aber: In manchen Fällen wird der Abstand zwischen der longtable und der Paragraphenüberschrift 2 sehr weit gedehnt. Dies passiert offenbar dann, wenn auf der Seite freier Platz übrigbleibt. Dann wird an der genannten Stelle eine Lücke gelassen, und der Paragraph2, tabular-Umgebung und nachfolgender Fließtext unten auf der Seite platziert. Mir wäre es lieber, wenn unten Platz bliebe, dafür aber der Abstand zwischen den anderen Elementen konstant bliebe. Kann man eine Dehnung von Abständen verhindern?

Und wie gesagt, auf den kurzen Fließtext nach den Paragraphenüberschriften würde ich gerne verzichten, aber das bekomme ich nicht hin, ohne die Paragraphenüberschrift zu verlieren (ich werde nachher mal prüfen, warum Du das nicht reproduziert bekommst).

Viele Grüße,
Helge

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

hsbugg hat geschrieben:Hallo Clemens,

super, das mit dem \\[xcm] klappt hervorragend. Das ist zwar wahrscheinlich nicht ganz die reine Lehre, aber vorerst ist dieses Problem damit wohl gelöst.
Ich würde etwas derartiges vorziehen, zumal sich damit der Abstand an einer Stelle für alle Tabellen einstellen lässt und Du nicht Gefahr läufst, den Abstand irgendwo zu vergessen:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\newlength{\tabellenabstand}
\setlength{\tabellenabstand}{.5cm}
\newenvironment{tabelle}
  {\vskip\tabellenabstand\centering}
  {\vskip\tabellenabstand}

\newcommand*\hierbittelogischennamenausdenken[1]{\textbf{#1}}
\begin{document}

\paragraph{Paragraphenüberschrift2}
Text text text text:
\begin{tabelle}
 \begin{tabular}{p{.20\textwidth} p{.70\textwidth}}
  Name:      & \hierbittelogischennamenausdenken{Engenau} [1918] \\
  Nr.:       & 1 \\
  Lage:      & 1111471/2222267-1111136/2222002 \\
  Streichen: & 60--80°/seiger \\
  Literatur: & [144, 8, 264]% wäre bibtex oder biblatex nicht sinnvoll?
 \end{tabular}
\end{tabelle}
Text text text text text text text text text text text text text text text text text text text text...

\paragraph{Titel}% verschwindet keineswegs
\end{document}
Und wie gesagt, auf den kurzen Fließtext nach den Paragraphenüberschriften würde ich gerne verzichten, aber das bekomme ich nicht hin, ohne die Paragraphenüberschrift zu verlieren (ich werde nachher mal prüfen, warum Du das nicht reproduziert bekommst.
Nun, vermutlich weil Du kein echtes Minimalbeispiel gemacht hast...

Grüße
Clemens
Paketauthor

hsbugg
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 29. Nov 2012, 20:18

Beitrag von hsbugg »

cgnieder hat geschrieben: Ich würde etwas derartiges vorziehen, zumal sich damit der Abstand an einer Stelle für alle Tabellen einstellen lässt und Du nicht Gefahr läufst, den Abstand irgendwo zu vergessen:
Bestens, diese selbst definierte Umgebung werde ich ausprobieren. Das ist doch ein bisschen sauberer.
Hast Du zufällig noch eine Idee zu dem erwähnten, manchmal "gedehnten" Abstand oberhalb von \paragraph{Paragraphenüberschrift2}? Es ist mir leider hierzu noch nicht gelungen, ein vollständiges Minimalbeispiel zusammenzusetzen (ich weiss nicht, in welcher Situation genau Latex da vertikalen Abstand einbaut, und bei mir taucht das zum ersten Mal auf Seite 126 auf ;) ).

Viele Grüsse,
Helge

hsbugg
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 29. Nov 2012, 20:18

Beitrag von hsbugg »

Hallo nochmal,

habs selbst gefunden. Die Zwischenräume lassen sich per \raggedbottom in doppelseitigem Layout unterdrücken.

Vielen Dank für die Hilfe,
Helge :)

Antworten