厳密な書式指定で横長の表を作成する

厳密な書式指定で横長の表を作成する

この質問はかなり頻繁に聞かれることは知っていますが、どういうわけか、今のところその方法が私にとってはうまく機能しているようです。

私の大学では、表の外観を示すテンプレートを用意しています。

\documentclass[%
    fontsize=11pt, 
    twoside=off 
]{scrbook}

\usepackage{tabularx} 
\usepackage[tablewithout, figurewithout]{caption} 

\renewcommand{\arraystretch}{1.8} 
\newcolumntype{M}{X<{\vspace{4pt}}} 

\begin{document}

\vspace{\parskip}
\section*{Überschrift Tabelle 1}

\begin{table}[!h]
\fontsize{9pt}{13pt}\selectfont
\begin{tabularx}{\textwidth}{ M | M }
\multicolumn{1}{X}{\textbf{Spalte 1}}%
& \multicolumn{1}{X}{\textbf{Spalte 2}} \\
\hline
Nummer 1,\newline\,mehrzeilig in Schriftgröße 9 pt & Nummer 2 \\
\hline
Nummer 1 & Nummer 2 \\
\hline
Nummer 1 & Nummer 2 \\
\hline
\end{tabularx}

\caption{}
\end{table}



\vspace{\parskip}
\section*{Überschrift Tabelle 2}

\begin{table}[!h]
\fontsize{9pt}{13pt}\selectfont
\begin{tabularx}{\textwidth}{| M | M |}
\hline
\textbf{Spalte 1} & \textbf{Spalte 2} \\
\hline
Nummer 1 & Nummer 2 \\
\hline
Nummer 1 & Nummer 2 \\
\hline
Nummer 1 & Nummer 2 \\
\hline
\end{tabularx}
\caption{}
\end{table}


\vspace{\parskip}
\section*{Überschrift Tabelle 3}

\begin{table}[!h]
\fontsize{9pt}{13pt}\selectfont
\begin{tabularx}{\textwidth}{@{} M  M @{}}
\textbf{Spalte 1} & \textbf{Spalte 2} \\
Nummer 1 & Nummer 2 \\
Nummer 1 & Nummer 2 \\
Nummer 1 & Nummer 2 \\
\end{tabularx}
\caption{}
\end{table}
\end{document}

ここに画像の説明を入力してください (ドイツ語なのでごめんなさい)

これで、横向きで表示した方が見やすい表ができました。sidewaystable で動作するようにしましたが、ここでは表が 1 ページ分しか表示されません。

全体を数ページにわたって書こうとする私の試みは、いつもかなり前から失敗します。

これは私の現在の試みです(列幅はカスタマイズされています):

\documentclass[%
    fontsize=11pt, 
    twoside=off 
]{scrbook} 

\usepackage{longtable}
\usepackage{rotating}
\usepackage{pdflscape}

\usepackage{tabularx} % Flexiblere Tabellen
\usepackage[tablewithout, figurewithout]{caption}

\renewcommand{\arraystretch}{1.8} 
\newcolumntype{M}[1]{X<{\vspace{4pt}\hsize=#1\hsize}}

\begin{document}
\begin{table}[!h]
\fontsize{9pt}{13pt}\selectfont
\begin{longtable}{\textwidth}{| M{0.5} | M{1} | M{1} | M{0.5} | M{0.5} | M{0.5} | M{1} |  M{1} | M{1} | M{3} |}

\hline
\textbf{id}  & \textbf{Label}                        & \textbf{Grund}                      & \textbf{Offen}   & \textbf{Durchfluss} & \textbf{Durchlass} & \textbf{Rückstau} & \textbf{HQ-Marken\footnote{Beachte: \gls{hq}}} & \textbf{Parkplatz}  &  \textbf{Notizen} \\
\hline
1 & & xy & xy & 0 & 0 & Ja & 0 & &  xxxxyyyyyy\\
\hline
*unbelivebale amount of data*
507 & xy  &  & xy & 0 & 0 & xy & 0  & xy & xxxxyyyyyy\\                  
\hline
\end{longtable}
\caption{xy \cite{xy}}
\label{xy}
\end{table}
\end{landscape}
\end{document}

今では、エラー メッセージが増え続けています。\texdwidth が不正なプレアム トークンであることから始まり、\hline がテーブル外にあります。引用します:

追加の配置タブが \cr に変更されました。

表に記述した配置タブが多すぎるため、そのうちの 1 つが改行に変わってしまいました。表に正しい列数を指定していることを確認してください。

ただし、このエラーは通常の横向きテーブルでは発生しないため、これは正しくないか、別の原因があるはずだと確信しています。

長文で申し訳ありませんが、ご協力いただければ幸いです。

答え1

コメントを待ち望んでいます:

  • 申し訳ありませんが、率直に言って、あなたのコードはめちゃくちゃです。テーブルに何を入れたいのか理解するのは不可能です
  • あらゆる種類の長いテーブル ( longtablexltabuilarlongtblrなどtabularray) は、フロートするためにカプセル化する必要はありませんでしたtable
  • 列タイプは、、longtable`Xでのみ使用できます。tabularxxltabularlongtblr, etc. tables and not in
  • 列の仕様によると、テーブルの幅がかなり広いので、landscapeページに収まりにくいです
  • MWE からは、列の内容が何であるかは明らかではありません。一部の列に自然な幅を持たせた方がよい場合があります (MWE では ˙Q列以下) X

出発点として使用できる可能性のあるテーブルの例:

\documentclass[11pt]{scrbook}
\usepackage[margin=25mm]{geometry}% define page layout

\usepackage{pdflscape}
\usepackage{rotating}
\usepackage{tabularray}


\begin{document}
    \begin{landscape}
    \footnotesize
\begin{longtblr}[
caption = {xy},
  label = {xy},
note{a} = {Beachte: {hq}},  
                ]{hlines, vlines,
                  colspec = {X[0.5,l, font=\bfseries] 
                             *{8}{X[l]} 
                                  X[3,l]},
                  row{1}  = {font = \bfseries, m},
                  rowhead = 1}
% column deaders
i.d &   Label       &   Grund       &   Offen   &   Durchfluss  
    &   Durchlass   &   Rückstau    &   {HQ-\\Marken}\TblrNote{a}
                                                &   Parkplatz  
    &   Notizen     \\
1   & 2             & 3             & 4         & 5 
    & 6             & 7             & 8         & 9
    &  10: xxxxyyyyyy   \\
%*unbelivebale amount of data*
507 & xy            &               & xy        & 0 
    & 0             & xy            & 0         & xy 
    & xxxxyyyyyy        \\
\end{longtblr}
    \end{landscape}
\end{document}

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

質問を編集し、前述の欠陥をすべて削除し、実際のデータを模倣した (ダミーの) データをテーブルにさらに追加してください。また、問題が何であるか、またはテーブルの作成中にどこで行き詰まったかを明確にしてください。その後、より適切にサポートできるようになります。

関連情報