
Ich möchte folgende Tabelle erstellen:
Der Code hierfür steht in der zweiten Tabelle. (Danke an Bernard dafür!) Leider erhalte ich aufgrund dieser beiden Tabellen zwei Fehlermeldungen.
Die erste lautet: Irgendetwas stimmt nicht – möglicherweise fehlt \item. \end{tabularx}
Der Zweite ist: Falsch platziert \omit. \end{tabularx}
Der Code lautet:
\documentclass[a4paper, ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[showframe]{geometry}
\usepackage[table, svgnames]{xcolor}
\usepackage{ragged2e}
\usepackage{tabularx, multirow, caption, makecell, hhline}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{ltablex}
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TABLE 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[!htbp]
\centering
\setlength\tabcolsep{3pt}
\setlist[itemize]{wide=0pt, labelsep=2pt, leftmargin=*, nosep, before
=\mbox{}\vspace*{-.7\baselineskip}, after=\vspace*{-.8\baselineskip}}
\caption{\label{tab:Gestaltungsbereiche}Gestaltungsbereiche}
%
\begin{tabularx}{\textwidth}{|c|*{3}{>{\RaggedRight}X|}}
\hhline{~|---|}
\multicolumn{1}{r|}{} & \multicolumn{3}{c|}
{\cellcolor{Gainsboro}Gestaltungsbereiche} \\
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}} &%
\multicolumn{1}{>{\centering}X}{\centering Betriebsmittel\newline \centering
(B)}
\makecell{Betriebsmittel\\ (B)} & \makecell{Organisation\\ (O)} &
\makecell{Raum- und \\Gebäudetechnik \\ (R)}\\
\hline
\multirow{11}{*}[-1ex]{\rotatebox{90}{Fabrikobjekte}}
& \begin{itemize}
\item Fertigungseinrichtungen
\item Montageeinrichtungen
\item Logistikeinrichtungen
\item Qualitätseinrichtungen
\item Informations- und
\newline Kommunikations\-einrichtungen
\item Ver- und Entsorgungs\-einrichtungen
\item Übergeordnete Systeme
\item Mobiliar
\end{itemize} %
& \begin{itemize}
\item Unternehmensstrategie
\item Logistikkonzept
\item Prozessgestaltung
\item Aufbauorganisations\-gestaltung
\item Arbeitsorganisation
\item Qualitätssicherungs\-konzept
\end{itemize} %
& \begin{itemize}
\item Grundstück
\item Bau\-konstruktion
\item Technische Anlagen
\item Außenanlagen
\item Ausstattung
\item Konzepte
\end{itemize} \\%
\hline
\end{tabularx}%
\end{table}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TABLE 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\keepXColumns
\setlength{\extrarowheight}{3pt}
\begin{tabularx}{\textwidth}{|c|*{2}{>{\RaggedRight}X|}p{9cm}|}
\caption{Betriebsmittel: Fabrikobjekte}
\label{tab:addlabel}%\\
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}}&
\multicolumn{1}{>{\centering\columncolor{Gainsboro}[\tabcolsep][1em]}X}
{\centering Fabrikobjekte 1.Ordnung}&
\multicolumn{2}{c|}{Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endfirsthead
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}}&
\multicolumn{1}{>{\centering\columncolor{Gainsboro}[\tabcolsep][1em]}X}
{\centering Fabrikobjekte 1.Ordnung}&
\multicolumn{2}{c|}{Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endhead
\multirow{45}{*}[-1ex]{\rotatebox{90}{Gestaltungsfeld: Betriebsmittel}}
%%%
& \multirow{11}{*}{Fertigungseinrichtung} & \multirow{5}{*}{Maschine} &
Gestell \\
& & & Antriebe\\
& & & Kinematisches System \\
& & & Steuerungs-/ Mess-/Regel- \&
Diagnosesysteme \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& &
\multirow{3}{*}{Vorrichtung / Hilfmittel} &
Vorrichtungs- \& Spannsysteme \\
& & & Werkstückflusssystem \\
& & & Steuerung \\[0.4ex]
\cline{3-4}& & Werkzeuge & \\[0.4ex]
\cline{2-4}& \multirow{9}{*}{Montageeinrichtungen} & {\multirow{5}{*}
{Montagegrundplatz}} & {Gestell} \\
& & & Antriebe\\
& & & Kinematisches System \\
& & & Steuerungs-/ Mess-/Regel- \& Diagnosesysteme \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & \multirow{3}{*}{Vorrichtung / Hilfmittel} & {Vorrichtungs- \&
Spannsysteme} \\
& & &{Werkstückflusssystem} \\
& & & {Steuerung} \\[0.4ex]
\cline{3-4}& & {Werkzeuge} & \\[0.4ex]
\cline{2-4}& \multirow{25}{*}{Logistikeinrichtungen} & {\multirow{6}{*}
{Transporteinrichtungen}} & {Gestell} \\
& & & Transportvorrichtung\\
& & & Antriebe\\
& & & Kinematisches System \\
& & & Steuerung \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & {\multirow{6}{*}{Handhabungseinrichtungen}} & {Gestell} \\
& & & Handhabungsvorrichtung\\
& & & Antriebe\\
& & & Kinematisches System \\
& & & Steuerung \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
\end{tabularx}%
\end{document}
Ich freue mich über jeden Kommentar.
Mein aktuelles Ergebnis für die zweite Tabelle ist folgendes:
Antwort1
\centering
wird für ein nicht benötigt longtable
: es wird standardmäßig automatisch zentriert. Sie müssen keine Tabularx-Umgebung in eine Longtable einfügen, um zu sagen, dass sie sich über Seiten erstreckt. Sie müssen einfach ein Paket laden, das die Funktionalität (und die Syntax) von longtable
zu hinzufügt tabularx
. Ich schlage vor, zu verwenden ltablex
.
Die Syntax ist die von longtable: Sie setzen den \captioninnentabularx, vor der Deklaration für first table head
(diese Deklarationen enden mit „\endfirsthead“).
Dann schlage ich vor, die Spaltenüberschriften mit den Deklarationen für die Überschriften der folgenden Überschriften (die mit enden \endhead
) zu ergänzen.
In der letzten Spalte habe ich alle entfernt \multicolumn{1}{l|}
, die einen Zeilenumbruch verhindern und einen Überlauf in den Rand erzeugen.
Hier ist der Code, den ich vorschlage:
\documentclass[a4paper, ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[showframe]{geometry}
\usepackage[table, svgnames]{xcolor}
\usepackage{ragged2e}
\usepackage{multirow, caption, makecell, hhline}
\usepackage{graphicx}
\usepackage{ltablex}
\keepXColumns
\begin{document}
%\begin{longtable}
%\centering
%\caption{Betriebsmittel: Fabrikobjekte}
\setlength{\extrarowheight}{3pt}
\begin{tabularx}{\textwidth}{|c|*{3}{>{\RaggedRight}X|}}
\caption{Betriebsmittel: Fabrikobjekte}
\label{tab:addlabel}%\\
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}}&
\multicolumn{1}{>{\centering\columncolor{Gainsboro}[\tabcolsep][1em]}X}{\centering Fabrikobjekte 1.Ordnung}&
\multicolumn{2}{c|}{Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endfirsthead
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}}&
\multicolumn{1}{>{\centering\columncolor{Gainsboro}[\tabcolsep][1em]}X}{\centering Fabrikobjekte 1.Ordnung}&
\multicolumn{2}{c|}{Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endhead
\multirow{12}{*}[-1ex]{\rotatebox{90}{Gestaltungsfeld: Betriebsmittel}}
%%%
& \multirow{11}{*}{Fertigungseinrichtung} & \multirow{5}{*}{Maschine} &
Gestell \\
& & & Antriebe\\
& & & Kinematisches System \\
& & & Steuerungs-/ Mess-/Regel- \&
Diagnosesysteme \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& &
\multirow{3}[2]{*}{Vorrichtung / Hilfmittel} &
Vorrichtungs- \& Spannsysteme \\
& & & Werkstückflusssystem \\
& & & Steuerung \\[0.4ex]
\cline{3-4}& & Werkzeuge & \\[0.4ex]
\cline{2-4}\\
%%%
\end{tabularx}%
\end{document}
Hinzugefügt:
Dieser Code lässt sich mit drei Tabellen problemlos kompilieren. Beachten Sie, dass die dritte Tabelle ein kürzerer Code ist, um die zweite Tabelle zu erhalten. Ich musste die in verwendete Zahl ändern multirow
: Sie müssen die Gesamtzahl derLinienin den Zeilen muss sich die mehrreihige Zelle ausbreiten, und nicht die Anzahl derReihen, und fügen Sie möglicherweise ein korrigierendes optionales Argument für die vertikale Platzierung des Inhalts hinzu.
Andererseits ltablex
werden beim Laden alle tabularx
Umgebungen zu einem longtable
. Hier sind sie zentriert, schweben nicht (verschachteln sie nicht in table
) und die Überschrift muss eingefügt werdeninnendie Umgebung.
\documentclass[a4paper, ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{geometry}
\usepackage[table, svgnames]{xcolor}
\usepackage{ragged2e}
\usepackage{multirow, caption, makecell, hhline}
\usepackage{ltablex}%{tabularx}%
\usepackage{graphicx}
\usepackage{enumitem}
\newcommand\mypar{ \par\hangindent=1.5em\hangafter=1}
\begin{document}
\sffamily\captionsetup{font=sf}
\setlength\tabcolsep{3pt}
\setlist[itemize]{wide=0pt, labelsep=2pt, leftmargin=*, nosep, before
=\mbox{}\vspace*{-.7\baselineskip}, after=\vspace*{-.8\baselineskip}}
\keepXColumns
%
\begin{tabularx}{\textwidth}{|c|*{3}{>{\RaggedRight\arraybackslash}X|}}
\caption{\label{tab:Gestaltungsbereiche}Gestaltungsbereiche} \\
\hhline{~|---|}
\multicolumn{1}{r|}{} & \multicolumn{3}{c|}
{\cellcolor{Gainsboro}Gestaltungsbereiche} \\
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}} & %
\makecell{Betriebsmittel \\ (B)} & \makecell{Organisation\\ (O)} &
\makecell{Raum- und \\Gebäudetechnik \\ (R)}\\
\hline
\endfirsthead
\multirow{11}{*}[-1ex]{\,\rotatebox{90}{Fabrikobjekte}\,}
&
\begin{itemize}
\item Fertigungseinrichtungen
\item Montageeinrichtungen
\item Logistikeinrichtungen
\item Qualitätseinrichtungen
\item Informations- und
Kommunikations\-einrichtungen
\item Ver- und Entsorgungs\-einrichtungen
\item Übergeordnete Systeme
\item Mobiliar
\end{itemize} %
& \begin{itemize}
\item Unternehmensstrategie
\item Logistikkonzept
\item Prozessgestaltung
\item Aufbauorganisations\-gestaltung
\item Arbeitsorganisation
\item Qualitätssicherungs\-konzept
\end{itemize} %
& \begin{itemize}
\item Grundstück
\item Bau\-konstruktion
\item Technische Anlagen
\item Außenanlagen
\item Ausstattung
\item Konzepte
\end{itemize}
\\%
\hline
\end{tabularx}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TABLE 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\setlength{\extrarowheight}{2pt}
\begin{tabularx}{\textwidth}{|c|*{2}{>{\RaggedRight}X|}>{\RaggedRight}p{4.8cm}|}
\caption{Betriebsmittel: Fabrikobjekte}
\label{tab:addlabel} \\
\hhline{~|---|}
\multicolumn{1}{r|}{\cellcolor{white}} &
\cellcolor{Gainsboro}\centering Fabrikobjekte 1.Ordnung &
\multicolumn{2}{c|}{\cellcolor{Gainsboro}Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endfirsthead
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}} &
\multicolumn{1}{>{\centering\columncolor{Gainsboro}[\tabcolsep][1em]}X}
{\centering Fabrikobjekte 1.Ordnung} &
\multicolumn{2}{c|}{Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endhead
\hhline{----}
\endfoot
\multirow{32}{*}{\,\rotatebox{90}{Gestaltungsfeld: Betriebsmittel}\,}
%
& \multirow{11}{=}{Fertigungseinrichtung} & \multirow{6}{*}{Maschine} &
Gestell \\
& & & Antriebe \\
& & & Kinematisches System \\
& & & Steuerungs-/ Mess-/Regel- \& \par\quad Diagnosesysteme \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& &
\multirow{3}{=}{Vorrichtung / Hilfmittel} &
Vorrichtungs- \& Spannsysteme \\
& & & Werkstückflusssystem \\
& & & Steuerung \\[0.4ex]
\cline{3-4} & & Werkzeuge & \\[0.4ex]
\cline{2-4} & \multirow{11}{=}[-2pt]{Montageeinrichtungen} &
\multirow{6}{=}{Montagegrundplatz} & Gestell \\
& & & Antriebe \\
& & & Kinematisches System \\
& & & Steuerungs-/ Mess-/Regel- \&\par\quad Diagnosesysteme \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & \multirow{3}{=}{Vorrichtung / Hilfmittel} & {Vorrichtungs- \& Spannsysteme} \\
& & & Werkstückflusssystem \\
& & & Steuerung \\[0.4ex]
\cline{3-4} & & {Werkzeuge} & \\[0.4ex]
\cline{2-4} & \multirow{12}{=}{Logistikeinrichtungen} &
\multirow{6}{=}{Transporteinrichtungen} & Gestell \\
& & & Transportvorrichtung \\
& & & Antriebe \\
& & & Kinematisches System \\
& & & Steuerung \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & \multirow{6}{=}{Handhabungseinrichtungen} & Gestell \\
& & & Handhabungsvorrichtung \\
& & & Antriebe \\
& & & Kinematisches System \\
& & & Steuerung \\
& & & Hilfssysteme / Peripherie \\[0.4ex]
\end{tabularx}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TABLE 2 bis
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\setlength{\extrarowheight}{3pt}
\begin{tabularx}{\textwidth}{|c|*{2}{>{\RaggedRight}X|}>{\RaggedRight\everypar{\hangindent=1.5em\hangafter=1}}p{4.8cm}|}
\caption{Betriebsmittel: Fabrikobjekte}
\label{tab:addlabel} \\
\hhline{~|---|}
\multicolumn{1}{r|}{\cellcolor{white}} &
\cellcolor{Gainsboro}\centering Fabrikobjekte 1.Ordnung &
\multicolumn{2}{c|}{\cellcolor{Gainsboro}Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endfirsthead
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}} &
\multicolumn{1}{>{\centering\columncolor{Gainsboro}[\tabcolsep][1em]}X}
{\centering Fabrikobjekte 1.Ordnung} &
\multicolumn{2}{c|}{Fabrikobjekte 2.Ordnung}
\\
\hhline{----}
\endhead
\hhline{----}
\endfoot
\multirow{27}{*}{\,\rotatebox{90}{Gestaltungsfeld: Betriebsmittel}\,}
%
& \multirow{11}{=}{Fertigungseinrichtung} & \multirow{6}{=}{Maschine}
& Gestell \par Antriebe \par Kinematisches System \par Steuerungs-/ Mess-/Regel- \& Diagnosesysteme \par Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & \multirow{3}{=}{Vorrichtung / Hilfmittel} &
Vorrichtungs- \& Spannsysteme \par Werkstückflusssystem \par Steuerung \\[0.4ex]
\cline{3-4} & & Werkzeuge & \\[0.4ex]
\cline{2-4} & \multirow{11}{=}[-2pt]{Montageeinrichtungen} & \multirow{6}{=}{Montagegrundplatz} %
& Gestell \par Antriebe \par Kinematisches System \par Steuerungs-/ Mess-/Regel- \& Diagnosesysteme \par Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & \multirow{3}{=}{Vorrichtung / Hilfmittel} &
Vorrichtungs- \& Spannsysteme \par Werkstückflusssystem \par Steuerung \\[0.4ex]
\cline{3-4} & & {Werkzeuge} & \\[0.4ex]
\cline{2-4} & \multirow{12}{=}{Logistikeinrichtungen} & \multirow{6}{*}{Transporteinrichtungen}
& Gestell \par Transportvorrichtung \par Antriebe \par Kinematisches System \par Steuerung \par Hilfssysteme / Peripherie \\[0.4ex]
\cline{3-4}
& & \multirow{6}{=}{Handhabungseinrichtungen}
& Gestell \par Handhabungsvorrichtung \par Antriebe \par Kinematisches System \par Steuerung \par Hilfssysteme / Peripherie \\[0.4ex]
\end{tabularx}%
\end{document}
Antwort2
Wenn Sie einen TeX-Fehler erhalten, sollten Sie sich das Satzergebnis eigentlich gar nicht ansehen.
Der Fehler hier ist
! Package array Error: Illegal pream-token (\centering): `c' used.
Denn nach dem optionalen Argument folgt das erste Token, \centering
wenn wie in den meisten Array-Umgebungen longtable
nach einer Spaltenspezifikation gesucht wird.
Das optionale Argument kann nur sein [c]
, [l]
oder [r]
wird [!htbp]
einfach ignoriert (aus meist historischen Gründen wird kein Fehler ausgegeben), deshalb habe ich dieses optionale Argument entfernt.
also ändern in
\begin{longtable}{ccc}
erzeugt eine Ausgabe ohne Fehler, aber die Überschrift steht links davon, tabularx
da Sie das \\
zum Beenden der longtable
Zeile weggelassen haben.
Ich höre an dieser Stelle auf, da überhaupt nicht klar ist, was Sie wollen. Derzeit longtable
hat die gesamte Tabelle nur eine einzelne Zelle in einer einzelnen Spalte, die aus einer verschachtelten besteht. tabularx
Wenn das der tatsächliche Fall ist, brauchen Sie das longtable
überhaupt nicht und könnten einfach ein ? tabularx
darin haben.table
\documentclass[a4paper, ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[showframe]{geometry}
\usepackage[table, svgnames]{xcolor}
\usepackage{ragged2e}
\usepackage{tabularx, multirow, caption, makecell, hhline}
\usepackage{graphicx}
\usepackage{longtable}
\begin{document}
\begin{longtable}{ccc}
\caption{Betriebsmittel: Fabrikobjekte}\\
\begin{tabularx}{\textwidth}{|c|*{3}{>{\RaggedRight}X|}}
\hhline{~|---|}
\rowcolor{Gainsboro} \multicolumn{1}{r|}{\cellcolor{white}} &
\multicolumn{1}{>{\centering}X}{\centering Fabrikobjekte 1.Ordnung}&
\multicolumn{2}{>{\centering}X}{\centering Fabrikobjekte 2.Ordnung}
\\
\hline
\multirow{11}{*}[-1ex]{\rotatebox{90}{Gestaltungsfeld: Betriebsmittel}}
%%%
& \multirow{9}{*}{Fertigungseinrichtung} & \multirow{5}{*}{Maschine} &
\multicolumn{1}{l|}{Gestell} \\
& & & \multicolumn{1}{l|}{Antriebe} \\
& & & \multicolumn{1}{l|}{Kinematisches System} \\
& & & \multicolumn{1}{l|}{Steuerungs-/ Mess-/Regel- \&
Diagnosesysteme} \\
& & & \multicolumn{1}{l|}{Hilfssysteme / Peripherie} \\
\cline{3-4}
& &
\multirow{3}[2]{*}{Vorrichtung / Hilfmittel} &
\multicolumn{1}{l|}{Vorrichtungs- \& Spannsysteme} \\
& & & \multicolumn{1}{l|}{Werkstückflusssystem} \\
& & & \multicolumn{1}{l|}{Steuerung} \\
\cline{3-4}& & Werkzeuge & \\
\cline{2-4}\\
%%%
\end{tabularx}%
\label{tab:addlabel}%
\end{longtable}%
\end{document}
Antwort3
haben Sie versucht, nach der Mehrfachspalte leere Zeilen einzufügen? Ich hatte das gleiche Problem und mir wurde klar, dass es ausreichte, leere Zeilen hinzuzufügen, um genügend Platz für die andere Zeile zu schaffen.
& & & \multicolumn{1}{l|}{Werkstückflusssystem} \\
& & & \\
& & & \multicolumn{1}{l|}{Steuerung} \\
& & & \\