Warum bekomme ich die Fehlermeldung: File ended while scanning use of \TX@get@body?

Open in Online-Editor
\documentclass[preview,border=5pt]{standalone}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{array,multirow,graphicx}
\begin{document}
\begin{tabularx}{\textwidth}{|*{3}{X|}}
\multirow{2}{\textwidth\textbf{\rotatebox{90}{1}}}
& \multirow{2}{\textwidth\textbf{\rotatebox{90}{2}}
& \multirow{2}{\textwidth\textbf{\rotatebox{90}{3}}}
& \multirow{2}{\textwidth\textbf{\rotatebox{90}{Hallo}}}
\\ 
& & & \\ \hline

\end{tabularx}
\end{document}

gefragt 19 Okt '15, 10:24

Otto's gravatar image

Otto
1111
Akzeptiert-Rate: 0%

bearbeitet 19 Okt '15, 10:51

saputello's gravatar image

saputello
11.1k174365

beim kürzen des codes könnte so wie ich es sehe ein fehler passiert sein... ich kann aber leider nicht mehr kompilieren...

(19 Okt '15, 10:30) Otto
1

Willkommen. Wichtiger als das zu fixen wäre zu wissen, was du vor hast und dir eine geeignete Lösung zu präsentieren.

(19 Okt '15, 10:46) Johannes

Es ist immer sinnvoll die Fehlermeldung im Titel anzugeben, damit man sie bereits in der Übersicht (beispielsweise bei der Suche) sehen kann,

(19 Okt '15, 11:04) saputello

Das Beispiel enthält gleich mehrere Fehler:

  • Du definierst eine Tabelle mit 3 Spalte, verwendest aber in jeder Tabellenzeile 4 Spalten.
  • Die Tabelle soll die Gesamtbreite \textwidth haben, in jeder Spalte wird aber eine \multirow-Anweisung mit einer Breite von \textwidth verwendet: 4 * \textwidth + 8 * \tabcolsep > \textwidth.
  • In der zweiten Spalte der ersten Zeile fehlt eine schließende } am Ende. Dadurch ist der gesamte Rest des Dokuments Teil des Arguments von \multirow, die Tabelle wird also nie beendet, was letztlich die Fehlermeldung verursacht.
  • Das Längenargument von \multirow wurde nicht korrekt beendet, sondern mit dem Inhaltsargument vermischt.

Formal korrekt, aber noch immer nicht schön wäre:

Open in Online-Editor
\documentclass[preview,border=5pt]{standalone}
%\usepackage{multicol}% wird gar nicht verwendet
\usepackage{multirow}
\usepackage{tabularx}
%\usepackage{rotating}% wird gar nicht verwendet, würde graphicx bereits laden
\usepackage{graphicx}% array wird von tabularx geladen, multirow bereits oben
\begin{document}
\begin{tabularx}{\textwidth}{|*{4}{X|}}
\multirow{2}{*}{\textbf{\rotatebox{90}{1}}}
& \multirow{2}{*}{\textbf{\rotatebox{90}{2}}}
& \multirow{2}{*}{\textbf{\rotatebox{90}{3}}}
& \multirow{2}{*}{\textbf{\rotatebox{90}{Hallo}}}
\\ 
& & & \\ \hline

\end{tabularx}
\end{document}
Permanenter link

beantwortet 19 Okt '15, 11:03

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 19 Okt '15, 11:08

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256
×128
×32
×9

gestellte Frage: 19 Okt '15, 10:24

Frage wurde gesehen: 13,431 Mal

zuletzt geändert: 19 Okt '15, 11:08