带表格的表格分页符

带表格的表格分页符

我陷入了表格地狱。当我开始在 Latex 中实现表格时,我意识到有些表格太大,无法放在一页上。不幸的是,它根本没有分页符。

我找到了longtable替代的建议,尽管我无法获得与 相同的布局tabularx。有没有办法应用相同的设置等,以便我的表格看起来完全一样......

有人能给我提供一些关于如何实现这一点的建议吗?最后,我不在乎包裹,我的桌子太长了就会坏掉……

例子:

在此处输入图片描述

我的乳胶代码:


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%           Präambel                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{scrreprt}

%%%%%%%%%%%%%%%%%%%%%%%%%
%       Packages        %
%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[bmargin=1.5cm,tmargin=1.5cm, headheight=1cm, includehead, includefoot]{geometry} %Seitenränder definieren
\usepackage[T1]{fontenc}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{colortbl}
\usepackage{tablestyles}
\usepackage{adjustbox}
\usepackage{lmodern}
\usepackage[ngerman, english]{babel}
\usepackage[toc]{glossaries}
\usepackage{float} %Unterdrückt das Fliessen eines Bildes wenn statt "h" "H" als float angegeben wird.
\usepackage{pdfpages}
\usepackage{amstext}
\usepackage{lineno}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage[square,sort&compress,comma,numbers]{natbib}
\usepackage[manualmark]{scrlayer-scrpage}
\usepackage{lipsum}
\usepackage{fontspec}
\usepackage{listings}
\usepackage{svg}
\usepackage{import}
\usepackage[font=small]{caption}
\usepackage{pdfpages}
\usepackage[colorlinks, urlcolor=blue, linkcolor=black, citecolor=black]{hyperref}
\usepackage[german, noabbrev, nameinlink]{cleveref} %Automatische Verweise mit \cref{} oder \cpageref{} auf \label{}. Bei englischer Arbeit muss "german" durch "english" ersetzt werden.
\usepackage [english]{babel}
\usepackage [autostyle, english = american]{csquotes}
\usepackage{colortbl}
%%%%%%%%%%%%%%%%%%%%%%%%%
%   Konfigurationen     %
%%%%%%%%%%%%%%%%%%%%%%%%%

%Kopfzeile und Fusszeile
\ihead*{\hspace{-0.7cm}\raisebox{-0.1\height}[-0pt][0pt]{\includegraphics{Bilder/FHNWLogo.jpg}}}
\cfoot*{\pagemark}

%Kapitel-Abstand zu Kopfzeile verkleinern
\RedeclareSectionCommand[beforeskip=-.2cm, afterindent=false]{chapter}

%Inhaltsverzeichnis
\setcounter{secnumdepth}{2}
\setcounter{tocdepth}{1}
\DeclareTOCStyleEntry[linefill=\TOCLineLeaderFill]{tocline}{chapter}

%Bibliografie-Stil
\bibliographystyle{ieeetr}
\urlstyle{same}

%Glossar
\makeglossaries
\renewcommand*\glspostdescription{\dotfill}

%Quellcode
\import{Code/}{Codestyle}
\renewcommand\lstlistingname{Quellcode}
\renewcommand\lstlistlistingname{Quellcodes}

%Paragraph-Indent%
\setlength{\parindent}{0pt}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%           Dokument                %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\selectlanguage{ngerman}

%%%%%%%%%%%%%%%%%%%%%%%%%
%       Kapitel         %
%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table} [!htbp]
%
\tablestyle[sansbold]
%
\begin{longtable}
{*{2}{p{0.2\textwidth}p{0.8\textwidth}}}
\theadstart
    \thead Bezeichner &
    \thead UC02: MultiSelectionField (Desktop) \\ 
\tbody
 Beschreibung & Das bestehende SelectionField soll so erweitert werden, dass im Dropdown, abhängig von der Eingabe, entsprechende Vorschläge zur Auswahl angezeigt werden und mehrere Auswahlen möglich sind und wieder entfernt werden können. \\
 Akteure & Anwendungsbenutzer \\
 Vorbedingungen & Das \texttt{MultiSelectionField} ist noch leer. \\
 Nachbedingung & Eine Auswahl von 1-n Elementen wurde durch den Anwendungsbenutzer getätigt. Die Auswahl ist im \texttt{MultiSelectionField} sichtbar. Das \texttt{MultiSelectionField} wird als valid angezeigt. \\
 Hauptszenario & 
    \begin{enumerate}
        \item Der Anwendungsbenutzer fokussiert das \texttt{MultiSelectionField}.
        \item Das Dropdown erscheint, mit allen Auswahlsmöglichkeiten.
        \item Der Anwendungsbenutzer tippt eine Eingabe ins Textfeld des SelectionFields.
        \item Das Dropdown filtert die Auswahlsmöglichkeiten anhand der Eingabe im Textfeld des \texttt{MultiSelectionField}.
        \item Der Anwendungsbenutzer wählt ein Element per Mausklick im Dropdown an.
        \item Das \texttt{MultiSelectionField} leert alle Texteingaben und das selektierte Element wird anschliessend darin angezeigt.
        \item Der Anwendungsbenutzer wiederholt Schritt 2-5 solange bis die gewünschte Auswahl getroffen wurde.
        \item Das \texttt{MultiSelectionField} zeigt alle ausgewählten Elemente an.
    \end{enumerate} \\
 Alternativszenarien & 
    \textbf{2a: Anwendungsbenutzer tippt eine nicht vorhandene Auswahlsmöglichkeit ins Textfeld des \texttt{MultiSelectionFields}}
    \begin{enumerate}
        \item Das Dropdown erscheint mit einer Hinweismeldung dass keine passenden Auswahlmöglichkeiten zur Eingabe vorhanden sind.
        \item Das \texttt{MultiSelectionField} wird als invalid markiert.
        \item Ende (keine Auswahl getätigt).
    \end{enumerate}
    \textbf{3a: Anwendungsbenutzer möchte das Dropdown schliessen}
    \begin{enumerate}
        \item Der Anwendungsbenutzer klickt ausserhalb des \texttt{MultiSelectionField} oder drückt die Taste "Escape".
        \item Das Dropdown schliesst sich.
        \item Ende (keine Auswahl getätigt).
    \end{enumerate}
    \textbf{4a: Anwendungsbenutzer navigiert durch Auswahlsmöglichkeiten im Dropdown}
    \begin{enumerate}
        \item Der Anwendungsbenutzer drückt die "Pfeil nach oben"- oder die "Pfeil nach unten"-Taste.
        \item Das selektierte Element im Dropdown passt sich entsprechend an.
        \item Der Anwendungsbenutzer drückt die Taste "Enter" oder "Escape".
        \item Das Dropdown schliesst sich.
        \item Weiter mit Schritt 5 im Hauptszenario.
    \end{enumerate}
    \textbf{6a: Anwendungsbenutzer löscht ausgewähltes Element}
    \begin{enumerate}
        \item Der Anwendungsbenutzer drückt das "X"-Symbol oberhalb eines ausgewählten Elementes.
        \item Das \texttt{MultiSelectionField} entfernt das entsprechend ausgewählte Element.
        \item Weiter mit Schritt 6 im Hauptszenario.
    \end{enumerate}
    \textbf{6b: Anwendungsbenutzer löscht zuletzt ausgewähltes Element durch "Backspace"-Taste}
    \begin{enumerate}
        \item Der Anwendungsbenutzer platziert den Maus-Cursor hinter dem zuletzt ausgewählten Element.
        \item Der Anwendungsbenutzer drückt die "Backspace"-Taste.
        \item Das \texttt{MultiSelectionField} entfernt das zuletzt ausgewählte Element.
        \item Weiter mit Schritt 6 im Hauptszenario.
    \end{enumerate} \\
 Bemerkungen & - \\
 \tend
\end{longtable}
\caption{tbd}
\end{table} 

\end{document}


答案1

一种方法是拆分长单元格,即制作更多行,减少\itemseplinespread缩小为lists, reduce font size to\small`,例如像这样:

在此处输入图片描述

它(仍然)不完美,但表格下方的空白空间已大大减少。MWE,其中是用于表格的tabularray包,我们

\documentclass{scrreprt}
\usepackage[vmargin=1.5cm, 
            headheight=1cm, 
            includehead, 
            includefoot]{geometry} 
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman, english]{babel}

\usepackage[table,xcdraw]{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs,varwidth}  % <===
\usepackage{ragged2e}
\usepackage{enumitem}

\usepackage{lipsum}

\begin{document}
\selectlanguage{ngerman}

\begingroup
\setlist[enumerate]{nosep,
                    leftmargin=*,
                    itemsep=2pt,
                    before=\begin{minipage}[t]{\linewidth}\RaggedRight, % <---
                    after=\end{minipage},                   % <---
                    }
%
\small
    \begin{longtblr}[
caption = {tbd},
  label = {tab:longtblr}
                    ]{colsep  = 3pt,
                      colspec = {@{} l X[l,font=\linespread{0.84}\selectfont] @{}},
                      row{1}  = {font=\bfseries},
                      row{odd}= {bg=gray!30},
                      rowhead = 1,
                      measure = vbox
                      } 
    \toprule                                        
Bezeichner 
    &   UC02: MultiSelectionField (Desktop)             \\
    \midrule
Beschreibung 
    & Das bestehende SelectionField soll so erweitert werden, dass im Dropdown, abhängig von der Eingabe, entsprechende Vorschläge zur Auswahl angezeigt werden und mehrere Auswahlen möglich sind und wieder entfernt werden können.             \\
 Akteure 
    & Anwendungsbenutzer                                \\
 Vorbedingungen 
    & Das \texttt{MultiSelectionField} ist noch leer.   \\
 Nachbedingung 
    & Eine Auswahl von 1-n Elementen wurde durch den Anwendungsbenutzer getätigt. Die Auswahl ist im \texttt{MultiSelectionField} sichtbar. Das \texttt{MultiSelectionField} wird als valid angezeigt.                                          \\
Hauptszenario 
    &   \begin{enumerate}
    \item Der Anwendungsbenutzer fokussiert das \texttt{MultiSelectionField}.
    \item Das Dropdown erscheint, mit allen Auswahlsmöglichkeiten.
    \item Der Anwendungsbenutzer tippt eine Eingabe ins Textfeld des SelectionFields.
    \item Das Dropdown filtert die Auswahlsmöglichkeiten anhand der Eingabe im Textfeld des \texttt{MultiSelectionField}.
    \item Der Anwendungsbenutzer wählt ein Element per Mausklick im Dropdown an.
    \item Das \texttt{MultiSelectionField} leert alle Texteingaben und das selektierte Element wird anschliessend darin angezeigt.
    \item Der Anwendungsbenutzer wiederholt Schritt 2-5 solange bis die gewünschte Auswahl getroffen wurde.
    \item Das \texttt{MultiSelectionField} zeigt alle ausgewählten Elemente an.
        \end{enumerate}     \\
 Alternativszenarien 
    &  \textbf{Anwendungsbenutzer tippt eine nicht vorhandene Auswahlsmöglichkeit ins Textfeld des \texttt{MultiSelectionFields}}
        \begin{enumerate}
    \item Das Dropdown erscheint mit einer Hinweismeldung dass keine passenden Auswahlmöglichkeiten zur Eingabe vorhanden sind.
    \item Das \texttt{MultiSelectionField} wird als invalid markiert.
    \item Ende (keine Auswahl getätigt).
        \end{enumerate}         \\
    & \textbf{3a: Anwendungsbenutzer möchte das Dropdown schliessen}
        \begin{enumerate}
    \item Der Anwendungsbenutzer klickt ausserhalb des \texttt{MultiSelectionField} oder drückt die Taste "Escape".
    \item Das Dropdown schliesst sich.
    \item Ende (keine Auswahl getätigt).
        \end{enumerate}         \\
    & \textbf{4a: Anwendungsbenutzer navigiert durch Auswahlsmöglichkeiten im Dropdown}
        \begin{enumerate}
    \item Der Anwendungsbenutzer drückt die "Pfeil nach oben"- oder die "Pfeil nach unten"-Taste.
    \item Das selektierte Element im Dropdown passt sich entsprechend.
    \item Der Anwendungsbenutzer drückt die Taste "Enter" oder "Escape".
    \item Das Dropdown schliesst sich.
    \item Weiter mit Schritt 5 im Hauptszenario.
        \end{enumerate}     \\
    &  \textbf{6a: Anwendungsbenutzer löscht ausgewähltes Element}
        \begin{enumerate}
    \item Der Anwendungsbenutzer drückt das "X"-Symbol oberhalb eines ausgewählten Elementes.
    \item Das \texttt{MultiSelectionField} entfernt das entsprechend ausgewählte Element.
    \item Weiter mit Schritt 6 im Hauptszenario.
        \end{enumerate}     \\
    & \textbf{6b: Anwendungsbenutzer löscht zuletzt ausgewähltes Element durch "Backspace"-Taste}
        \begin{enumerate}
    \item Der Anwendungsbenutzer platziert den Maus-Cursor hinter dem zuletzt ausgewählten Element.
    \item Der Anwendungsbenutzer drückt die "Backspace"-Taste.
    \item Das \texttt{MultiSelectionField} entfernt das zuletzt ausgewählte Element.
    \item Weiter mit Schritt 6 im Hauptszenario.
        \end{enumerate}     \\
Bemerkungen 
    & - \\
    \bottomrule
\end{longtblr}
\endgroup

\lipsum[1-5]
\end{document}

相关内容