Я знаю, что этот вопрос задают довольно часто, но каким-то образом этот способ, похоже, мне подходит.
У меня есть шаблон из моего университета, показывающий, как должны выглядеть мои таблицы:
\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-токен, что \hline находится за пределами таблицы. И я цитирую:
Вкладка «Дополнительное выравнивание» изменена на \cr.
Вы написали слишком много выравнивающих вкладок в таблице, из-за чего одна из них превратилась в разрыв строки. Убедитесь, что вы указали правильное количество столбцов в таблице.
хотя я почти уверен, что это неправильно или имеет другую причину, поскольку эта ошибка не возникает с обычным боковым столом.
Извините за длинный текст. Любая помощь будет оценена по достоинству!
решение1
Жду комментария:
- Извините, честно говоря, ваш код - бардак. Из него невозможно понять, что вы хотели бы иметь в таблице
- Любая длинная таблица (
longtable
,xltabuilar
,longtblr
изtabularray
и т.д.) = не должна была быть инкапсулирована для плаванияtable
. - Тип столбца
X
доступен только вtabularx
,xltabular
,longtblr, etc. tables and not in
longtable`. - Согласно спецификации столбцов, ваша таблица довольно широкая. Поэтому ее размещение на
landscape
странице является хрупким - Из вашего MWE не очевидно, что такое содержимое столбцов. Возможно, было бы лучше, чтобы некоторые столбцы имели естественную ширину (в MWE ниже ˙
Q
columns вместо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}
Пожалуйста, отредактируйте свой вопрос, устраните все вышеупомянутые недостатки и предоставьте больше (фиктивных) данных в вашей таблице, которые имитируют реальные данные. Также уточните, в чем ваша проблема, или где вы застряли при написании вашей таблицы. После этого можно будет лучше вам помочь.