创建具有严格格式规范的长横表

创建具有严格格式规范的长横表

我知道这些问题经常被问到,但不知何故,现在他们的方法似乎对我有用。

我有一个大学提供的模板,上面列出了我的表格的样子:

\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 使其工作,但此处表格仅占一页。

我试图让整个内容超过几页,但总是提前失败。

这是我目前的尝试(自定义列宽):

\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 是非法的 Illegal pream-token,其次是 \hline 超出了表格范围。我引用了以下内容:

额外的对齐标签已更改为 \cr。

您在表格中写入了过多的对齐制表符,导致其中一个制表符变成了换行符。请确保您在表格中指定了正确的列数。

虽然我很确定这是不正确的或者必须有其他原因,因为这个错误不会在正常的侧向表中发生。

抱歉,文字太长了,如果能提供任何帮助我将不胜感激!

答案1

渴望评论:

  • 抱歉,坦白说,你的代码很乱。从根本上来说,你不可能弄清楚你想在表中放什么
  • 任何类型的长表(longtablexltabuilarlongtblr等等tabularray)都不必封装到浮点中table
  • 列类型仅在、、 longtableX中可用。tabularxxltabularlongtblr, etc. tables and not in
  • 根据您的列规范,您的表格非常宽。因此它适合landscape页面很脆弱
  • Q从您的 MWE 中无法看出列的内容是什么。一些列具有自然宽度(在 MWE 下方˙列而不是)可能更好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}

在此处输入图片描述

请编辑您的问题,删除上述所有缺陷,并在您的表格中提供更多(虚拟)数据,以模拟真实数据。同时澄清您的问题是什么,或者您在编写表格时遇到什么困难。这样我们才能更好地帮助您。

相关内容