複数列のヘッダーと複数行での改行の問題のある長い表

複数列のヘッダーと複数行での改行の問題のある長い表

次のような表を作成したいと思います。

ここに画像の説明を入力してください

このコードは 2 番目の表にあります。(これについては Bernard に感謝します!) 残念ながら、この 2 つの表が原因で 2 つのエラーが発生します。

1 つ目は、何かがおかしい - おそらく \item が欠落している。\end{tabularx}

2 番目は: 誤った位置にある \omit。\end{tabularx}

コードは次のとおりです:

\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}

すべてのコメントに感謝します。

2 番目の表の現在の結果は次のとおりです。

ここに画像の説明を入力してください

答え1

\centeringは には必要ありませんlongtable。デフォルトで自動的に中央揃えされます。longtable に tabularx 環境を挿入しなくても、ページを横に広げることができます。 の機能 (および構文) を追加するパッケージを にロードするだけですlongtabletabularxを使用することをお勧めしますltablex

構文はlongtableと同じです。\caption内部tabularx の宣言の前first table head(これらの宣言は `\endfirsthead) にあります。

次に、次の見出し ( で終わる) の見出しの宣言を含む列見出しを追加することをお勧めします\endhead

最後の列の をすべて削除しました\multicolumn{1}{l|}。これにより、改行が防止され、余白へのオーバーフローが生成されなくなります。

そこで私が提案するコードは次のとおりです。

\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} 

ここに画像の説明を入力してください

追加した:

このコードは3つのテーブルで問題なくコンパイルされます。3番目のテーブルは2番目のテーブルを取得するための短いコードであることに注意してください。私はで使用されている数値を変更しましたmultirow行では、複数行のセルが広がる必要があり、、コンテンツの垂直配置を修正するためのオプションの引数を追加することもできます。

一方、ロードするとltablexすべてのtabularx環境が になりますlongtable。ここでは、中央に配置され、フロートされず( にネストされませんtable)、キャプションが挿入される必要があります。内部環境。

\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} 

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

答え2

TeX エラーが発生した場合は、タイプセット結果をまったく確認しないでください。

ここでのエラーは

! Package array Error:  Illegal pream-token (\centering): `c' used.

オプションの引数の後の最初のトークンは\centering、ほとんどの配列環境と同様に、longtable列の指定を探すときです。

オプション引数は のみであるため、[c]単に無視されます (主に歴史的な理由によりエラーは表示されません)。そのため、そのオプション引数を削除しました。[l][r][!htbp]

次のように変更します

\begin{longtable}{ccc}

エラーなしで出力が生成されますが、行の終了に をtabularx省略したため、キャプションが の左側に表示されます。\\longtable

この時点で止めます。何が必要か全く明確ではないからです。現在、longtableテーブル全体には、ネストされた 1 つの列に 1 つのセルがあるだけです。tabularx実際のケースではまったく必要ないので、 内部に?longtableを入れるだけで済みます。tabularxtable

\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} 

答え3

複数列の後に空の行を挿入してみましたか? 私も同じ問題を抱えていましたが、他の列に十分なスペースを確保するには空の行を追加するだけで十分だとわかりました。

 &       &       & \multicolumn{1}{l|}{Werkstückflusssystem} \\
    &       &       & \\
    &       &       & \multicolumn{1}{l|}{Steuerung} \\
    &       &       & \\

関連情報