tabularx mit multicolumn läuft, aber erzeugt Fehler

Tabellen und Grafiken erstellen und anordnen


LatexNeuling
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 2. Jul 2014, 13:41

tabularx mit multicolumn läuft, aber erzeugt Fehler

Beitrag von LatexNeuling »

Hallo,

ich habe folgendes Problem. Ich möchte eine Tabelle erzeugen, die unter der \bottomrule noch einen Text enthält der sich über alle Spalten erstreckt. Nach allerhand Zeit vor Google habe ich es nun soweit hinbekommen, dass es funktioniert wie ich es mir vorstelle. Er gibt mir beim Kompilieren jedoch 8 Fehlermeldungen aus :"Missing number, treated as zero" und "Illegal unit measure (pt inserted)".
Ich habe nun herausgefunden, dass genau mein Problem auftritt wenn man \\ verwendet und direkt eckige Klammern folgen, die aber nichts mit dem Spaltenabstand zu tun haben. Jedoch verwende ich keine eckigen Klammern und bin nun etwas ratlos.

Die Konstruktion: \multicolumn{3}{p{\columnwidth\tabcolsep}} habe ich mir ergoogelt. Bei meinen Versuchen wurde entweder die letzte Zeile in eine Zelle gequetscht oder kein Zeilenumbruch erzeugt.
\documentclass[12pt, a4paper, liststotoc]{scrreprt}[2007/10/19]
\usepackage[ngerman]{babel}		% neue deutsche Rechtschreibung
\usepackage{ucs}
\usepackage[latin9]{inputenc}	% Umwandlung für Sonderzeichen
\usepackage[T1]{fontenc}			% Silbentrennung bei Sonderzeichen
\usepackage{textcomp}					% Zusätzliche Symbolzeichen
\usepackage{cite}							% Zitieren
\usepackage{graphicx}					% Einbinden von Grafiken
\usepackage{tabularx}		% Tabellen mit definierter Breite
\usepackage{array,ragged2e}
\usepackage{booktabs}					% Linien für Tabellen
\usepackage[justification=RaggedRight, singlelinecheck=false]{caption} 			% captions werden linksbündig gesetzt
\usepackage{bibgerm}
\usepackage{multirow}
\usepackage{blindtext}
\usepackage[ 
nonumberlist, %keine Seitenzahlen anzeigen 
acronym,      %ein Abkürzungsverzeichnis erstellen 
toc,
section=chapter]           %Einträge im Inhaltsverzeichnis 
{glossaries} 
\usepackage[printonlyused]{acronym}
\usepackage[colorlinks=false]{hyperref}		% Muss als letztes eingebunden werden

\title{Minimalbeispiel zu tabularx und multicolumn.}
\author{Latex-Neuling}
\date{\today}
%
\begin{document}

\begin{table}[htp]
\begin{tabularx}{\textwidth}{XXl}
\toprule
A & B & C \\ \midrule
AA & BB & CC \\
\bottomrule
\multicolumn{3}{p{\columnwidth\tabcolsep}}{Text der über alle Spalten geht und dementsprechend umgebrochen werden soll, wenn er das Seitenende erreicht.} \\
\end{tabularx}
\caption{Minimalbeispiel Tabelle}
\label{Tabelle-Minimal}
\end{table}

\end{document}
Ich hätte sicher ein paar packages rausnehmen können, aber ich dachte mir falls es evtl. mit diesen zu tun hat ist es besser ich lasse alles drin.
Vielen Dank schon mal!

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

Beitrag von Johannes_B »

Du hast viiiiel zu komplisiert gedacht.
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[justification=RaggedRight, singlelinecheck=false]{caption}
\usepackage{blindtext}

\begin{document}
\blindtext
\begin{table}
\begin{tabularx}{\textwidth}{XXl}
\toprule
A & B & C \\ \midrule
AA & BB & CC \\
\bottomrule
\end{tabularx}
Text der über alle Spalten geht und dementsprechend umgebrochen werden soll, wenn er das Seitenende erreicht. 
\caption{Minimalbeispiel Tabelle}
\label{Tabelle-Minimal}
\end{table}

\end{document}
 
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.

LatexNeuling
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 2. Jul 2014, 13:41

Beitrag von LatexNeuling »

Ach guck an...
ja das ist natürlich echt easy :shock:
:D Danke dir, so mach ichs

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Nimm
\multicolumn{3}{p{\dimexpr\linewidth-2\tabcolsep\relax}}{...}
Dabei wird von der zur Verfügung stehenden Breite der links und rechts eingefügte Abstand \tabcolsep abgezogen. \dimexpr leitet die Längenberechnung ein und \relax beendet sie.

Und dann würde ich \bottomrule unbedingt durch
\midrule[\heavyrulewidth]
ersetzen, da sonst der Text unter dieser Linie viel zu dicht an dieser dran ist. Das gilt auch, falls du die einfachere Lösung von Johannes wählst.

Gruß
Elke

PS: Ersetze bei den Klassenoptionen liststotoc durch listof=totoc.
Zuletzt geändert von esdd am Mi 2. Jul 2014, 14:58, insgesamt 1-mal geändert.

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

Beitrag von u_fischer »

{p{\columnwidth\tabcolsep}}
Das ist Quatsch. Das ergibt keine sinnvoll Länge. Wahrscheinlich ist da ein Minuszeichen verloren gegangen. Und das Paket calc brauchen solche Rechnungen außerdem:
\documentclass{article}
\usepackage{calc}

\begin{document}
\begin{tabular}{lll}
\multicolumn{3}{p{\columnwidth-\tabcolsep}}{blub}
\end{tabular}
\end{document}

LatexNeuling
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mi 2. Jul 2014, 13:41

Beitrag von LatexNeuling »

Vielen Dank für die rege Unterstützung!

Habe nun doch die Variante von esdd übernommen. Damit ist der Text unter der Linie genauso eingerückt wie die Zeilen drüber. Sieht super aus! \bottomrule ist genau wie listoftoc rausgeflogen und ersetzt!

Antworten