使用longtable將table分割成兩頁,但報錯

使用longtable將table分割成兩頁,但報錯

我想在我的 LaTeX 文件中顯示一個表格。我希望表格可以分成兩頁。我的程式碼在 lorem ipsum 之後給出了空白空間,並且表格從新頁面開始。這是我的程式碼。

\documentclass[a4paper,oneside,11pt]{article}
\usepackage[left=2.5cm,right=2.5cm,top=4cm,bottom=2.7cm]{geometry}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{array}
\usepackage{newtxtext,newtxmath}
\usepackage{lipsum}
%\usepackage{longtable}

\begin{document}
\theoremstyle{definition}%tegak hurufnya
\newtheorem{theorem}{Theorem}[section]
\newtheorem{example}[theorem]{Example}
\lipsum[1-3]
\begin{example}
    This is the examples of t-norm and t-conorm.
    \begin{table}[h!]
        \centering
        \caption{Example of t-norm and t-conorm}
        \resizebox{\textwidth}{!}{
            \renewcommand{\arraystretch}{1.5}
            \begin{tabular}{|m{2cm}|c|c|}
                \hline
                \hfill \textbf{Name}\hfill \strut&\textbf{t-norm}&\textbf{t-conorm}\\
                \hline
                Standard intersection/ standard union&\newline$T_m(x,y)=\min(x,y)$&$C_m(x,y)=\max(x,y)$\\
                \hline
                Bounded sum&$T_b(x,y)=\max(0,x+y-1)$&$C_b(x,y)=\min(1,x+y)$\\
                \hline
                Algebraic product/ Algebraic sum&$T_p(x,y)=xy$&$C_p(x,y)=x+y-xy$\\
                \hline
                Drastic&$T_D(x,y)=
                \begin{cases}
                    y&\text{if }x=1\\
                    x&\text{if }y=1\\
                    0&\text{otherwise}
                \end{cases}$
                &
                $C_D(x,y)=
                \begin{cases}
                    y&\text{if }x=0\\
                    x&\text{if }y=0\\
                    1&\text{otherwise}
                \end{cases}
                $
                \\
                \hline
                Nilpotent minimum/ Nilpotent maximum&$T_{nM}(x,y)=
                \begin{cases}
                    \min(x,y)&\text{if }x+y> 1\\
                    0&\text{otherwise}
                \end{cases}$&
                $
                C_{nM}(x,y)=
                \begin{cases}
                    \max(x,y)&\text{if }x+y<1\\
                    1&\text{otherwise}
                \end{cases}
                $
                \\
                \hline
                Hamacher product/ Einstein sum&$T_{H_0}(x,y)=
                \begin{cases}
                    0&\text{if }x=y=0\\
                    \dfrac{xy}{x+y-xy}&\text{otherwise}
                \end{cases}$&
                $
                C_{H_2}(x,y)=\dfrac{x+y}{1+xy}
                $
                \\
                \hline
            \end{tabular}
        \label{tabelnorma}
        }
    \end{table}
\end{example}
\end{document}

我讀過有關將表格分成兩頁的信息使表格跨越多個頁面。我嘗試使用longtable如下。

\documentclass[a4paper,oneside,11pt]{article}
\usepackage[left=2.5cm,right=2.5cm,top=4cm,bottom=2.7cm]{geometry}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{array}
\usepackage{newtxtext,newtxmath}
\usepackage{lipsum}
\usepackage{longtable}

\begin{document}
\theoremstyle{definition}%tegak hurufnya
\newtheorem{theorem}{Theorem}[section]
\newtheorem{example}[theorem]{Example}
\lipsum[1-3]
\begin{example}
    This is the examples of t-norm and t-conorm.
    %\begin{table}[h!]
        %\centering
        %\caption{Example of t-norm and t-conorm} moved into longtable
        \resizebox{\textwidth}{!}{
            \renewcommand{\arraystretch}{1.5}
            \begin{longtable}{|m{2cm}|c|c|}
                \caption{Example of t-norm and t-conorm}
                \hline
                \hfill \textbf{Name}\hfill \strut&\textbf{t-norm}&\textbf{t-conorm}\\
                \hline
                Standard intersection/ standard union&\newline$T_m(x,y)=\min(x,y)$&$C_m(x,y)=\max(x,y)$\\
                \hline
                Bounded sum&$T_b(x,y)=\max(0,x+y-1)$&$C_b(x,y)=\min(1,x+y)$\\
                \hline
                Algebraic product/ Algebraic sum&$T_p(x,y)=xy$&$C_p(x,y)=x+y-xy$\\
                \hline
                Drastic&$T_D(x,y)=
                \begin{cases}
                    y&\text{if }x=1\\
                    x&\text{if }y=1\\
                    0&\text{otherwise}
                \end{cases}$
                &
                $C_D(x,y)=
                \begin{cases}
                    y&\text{if }x=0\\
                    x&\text{if }y=0\\
                    1&\text{otherwise}
                \end{cases}
                $
                \\
                \hline
                Nilpotent minimum/ Nilpotent maximum&$T_{nM}(x,y)=
                \begin{cases}
                    \min(x,y)&\text{if }x+y> 1\\
                    0&\text{otherwise}
                \end{cases}$&
                $
                C_{nM}(x,y)=
                \begin{cases}
                    \max(x,y)&\text{if }x+y<1\\
                    1&\text{otherwise}
                \end{cases}
                $
                \\
                \hline
                Hamacher product/ Einstein sum&$T_{H_0}(x,y)=
                \begin{cases}
                    0&\text{if }x=y=0\\
                    \dfrac{xy}{x+y-xy}&\text{otherwise}
                \end{cases}$&
                $
                C_{H_2}(x,y)=\dfrac{x+y}{1+xy}
                $
                \\
                \hline
                \label{tabelnorma}
            \end{longtable}
        }
    %\end{table}
\end{example}
\end{document}

我已經使用了longtable,但在這段程式碼中給了我一個錯誤,我無法將表格分成兩頁。

有人可以幫我嗎?

答案1

在下面的 MWE 中,我使用xltabular而不是調整longtable.此外,我還添加了缺失的內容\\以使程式碼可以編譯。下面的範例程式碼中註解了一些進一步的變更:

在此輸入影像描述

\documentclass[a4paper,oneside,11pt]{article}
\usepackage[left=2.5cm,right=2.5cm,top=4cm,bottom=2.7cm]{geometry}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx}
%\usepackage{array} % already loaded by xltabular
\usepackage{newtxtext,newtxmath}
\usepackage{lipsum}
\usepackage{xltabular} % Replaced longtable with xltabular to make table as wide as the textwidth.
\renewcommand{\tabularxcolumn}[1]{m{#1}} % To vertically center the contents of the cells
\usepackage[column=0]{cellspace} % improved vertical spacing around cell's contents
\setlength{\cellspacetoplimit}{\tabcolsep}
\setlength{\cellspacebottomlimit}{\cellspacetoplimit}
\addparagraphcolumntypes{X}

\begin{document}
\theoremstyle{definition}%tegak hurufnya
\newtheorem{theorem}{Theorem}[section]
\newtheorem{example}[theorem]{Example}
\lipsum[1-4]
\begin{example}
    This is the examples of t-norm and t-conorm.
%        \resizebox{\textwidth}{!}{ % removed resizebox
%            \renewcommand{\arraystretch}{1.5}
{\setlength{\tabcolsep}{3pt}
            \begin{xltabular}{\textwidth}{|>{\raggedright\arraybackslash}0{X}|0c|0c|} % Replaced longtable with xltabular to make table as wide as the textwidth.
                \caption{Example of t-norm and t-conorm}\label{tabelnorma} \\ % added missing \\ here.
                \hline
                \centering \textbf{Name}&\textbf{t-norm}&\textbf{t-conorm}\\ % replaced \hfill with \centering
                \hline
                Standard intersection/ standard union&\newline$T_m(x,y)=\min(x,y)$&$C_m(x,y)=\max(x,y)$\\
                \hline
                Bounded sum&$T_b(x,y)=\max(0,x+y-1)$&$C_b(x,y)=\min(1,x+y)$\\
                \hline
                Algebraic product/ Algebraic sum&$T_p(x,y)=xy$&$C_p(x,y)=x+y-xy$\\
                \hline
                Drastic&$T_D(x,y)=
                \begin{cases}
                    y&\text{if }x=1\\
                    x&\text{if }y=1\\
                    0&\text{otherwise}
                \end{cases}$
                &
                $C_D(x,y)=
                \begin{cases}
                    y&\text{if }x=0\\
                    x&\text{if }y=0\\
                    1&\text{otherwise}
                \end{cases}
                $
                \\
                \hline
                Nilpotent minimum/ Nilpotent maximum&$T_{nM}(x,y)=
                \begin{cases}
                    \min(x,y)&\text{if }x+y> 1\\
                    0&\text{otherwise}
                \end{cases}$&
                $
                C_{nM}(x,y)=
                \begin{cases}
                    \max(x,y)&\text{if }x+y<1\\
                    1&\text{otherwise}
                \end{cases}
                $
                \\
                \hline
                Hamacher product/ Einstein sum&$T_{H_0}(x,y)=
                \begin{cases}
                    0&\text{if }x=y=0\\
                    \dfrac{xy}{x+y-xy}&\text{otherwise}
                \end{cases}$&
                $
                C_{H_2}(x,y)=\dfrac{x+y}{1+xy}
                $
                \\
                \hline
%                \label{tabelnorma} % moved label to the caption to avoid overly long vertical lines
            \end{xltabular}
        }
\end{example}
\end{document}

相關內容