在 LaTeX 中创建长表

在 LaTeX 中创建长表

我想创建一个三列的长表,第二列和第三列都有项目,如下图所示,并且可以固定为论文格式并在需要时延伸到下一页。

在此处输入图片描述

我正在使用以下代码:

    { 


\begingroup
\small % optional
\begin{longtblr}[
caption = The benefits and drawbacks of various gait analysis systems,
  label = {tab:b1}
  ]{
    rowhead = 1,
    hlines, vlines,
    colspec = {X[0.55,c,m] X[h,j] X[h,j]},
    colsep  = 4pt,
    row{1}  = {font=\small\bfseries, c},
   }

Technologies \& Ref. & Remarks & Limitations \\

% first major block
    Motion capture camera \newline
    [2], [9], [50]
    &   
    \begin{itemize}
    \item Gold standard gait analysis system
    \item Over virtual modeling, it provides strong and exact capture of real motions
    \item \dots
    \end{itemize}   
    &   
    \begin{itemize}
    \item Only for experiments with active line-of-sight, a particular setup is required
    \item Faster movement needs a higher sampling rate
    \item \dots
    \end{itemize}   \\
   
% next major block 
    \dots \newline [4], [5], [6]
    & 
    \begin{itemize}
    \item \dots here some indication
    \item \dots here some indication
    \end{itemize}
    & 
    \begin{itemize}
    \item \dots here some indication
    \item \dots here some indication
    \item \dots here some indication
    \end{itemize}

\end{longtblr}
\endgroup


}

它产生了黑色背景的表格,如下所示: 在此处输入图片描述

答案1

  • 您的问题实际上与您的问题重复上一个问题。回答它解决了您的问题以及您再次在这里重复的问题。让我重复一下,MWE 提供了建议,如何解决您的问题。

编辑:

  • 最后,您提供了有关如何编写文档的部分基本信息(通过向标签中添加˙Overleaf`标签),但我们仍然不知道您的文档布局、使用的文档类等。(所以我打开了您的问题)
  • 不幸的是,Overleaf 使用旧的tabularray package (from July 2021), which not jet definedj` 列形成选项。
  • 您有两种方法可以解决此问题
  • 暂时等到 Overleaf 升级其 LaTeX 安装(TeXLive 2022)时删除选项j。列表中的列中的文本itemize将变得可见,但格式会稍微不那么好看。
    • 询问 Overleaf 支持如何将最新版本 (2022A) 的软件包添加到您的tabularray帐户
\documentclass{article}
\usepackage[margin=25mm]{geometry} 

%%%% begin of required preamble
\usepackage{tabularray}
\UseTblrLibrary{varwidth}                       % <---

\usepackage{enumitem}
\usepackage{etoolbox}
\AtBeginEnvironment{longtblr}%
{
\setlist[itemize]{nosep,
                  label=\textbullet,
                  leftmargin=*,
                  after=\end{minipage},
                  before=\begin{minipage}[t]{\linewidth}
                    }
}
\usepackage{lipsum} % for dummy text filler
%%%% end of required preamble

\begin{document}

%%%% begin of the table code
\begin{longtblr}[
caption = caption text,
  label = {tab:?}
                ]{
    rowhead = 1,
    hlines, vlines,
    colspec = {X[0.5,c,m] X[h] X[h]}, % temporary until tabularray
                                      % version 2022A will not be 
                                      % available in Overleaf
    % colspec = {X[0.5,c,m] X[h,j] X[h,j]},
    colsep  = 4pt,
    row{1}  = {font=\small\bfseries, c},
    measure = vbox,
                }
text    &   text        &   text    \\
%
text
    &   \begin{itemize}
    \item \lipsum[1][1-3]
    \item \lipsum[1][1-3]
        \end{itemize}   
        &   \begin{itemize}
        \item \lipsum[1][1-3]
        \item \lipsum[1][1-3]
            \end{itemize}   \\
text
    &   \begin{itemize}
    \item \lipsum[1][1-3]
    \item \lipsum[1][1-3]
        \end{itemize}
        &   \begin{itemize}
        \item \lipsum[1][1-3]
        \item \lipsum[1][1-3]
            \end{itemize}   \\
text
    &   \begin{itemize}
    \item \lipsum[1][1-3]
    \item \lipsum[1][1-3]
        \end{itemize}
        &   \begin{itemize}
        \item \lipsum[1][1-3]
        \item \lipsum[1][1-3]
            \end{itemize}   \\
text
    &   \begin{itemize}
    \item \lipsum[1][1-3]
    \item \lipsum[1][1-3]
        \end{itemize}
        &   \begin{itemize}
        \item \lipsum[1][1-3]
        \item \lipsum[1][1-3]
            \end{itemize}   \\
text
    &   \begin{itemize}
    \item \lipsum[1][1-3]
    \item \lipsum[1][1-3]
        \end{itemize}
        &   \begin{itemize}
        \item \lipsum[1][1-3]
        \item \lipsum[1][1-3]
            \end{itemize}   \\
text
    &   \begin{itemize}
    \item \lipsum[1][1-3]
    \item \lipsum[1][1-3]
        \end{itemize}
        &   \begin{itemize}
        \item \lipsum[1][1-3]
        \item \lipsum[1][1-3]
            \end{itemize}   \\
\end{longtblr}
%%%% end of the table code

\end{document}

-所有答案通常以 MWE (最小工作形式) 给出,这是一个虽小但完整的文档,其中包含:

  • \documentclass{...}
  • 包含软件包的序言,必须加载这些软件包才能编译 MWE,如果这些软件包尚未加载,则必须将其添加到文档序言中
  • begin{document},其中星号文件主体
  • 文档主体包含如何解决您的问题的建议
  • \end{document}
  • 从上文可知,在您的文档中,您只需添加所提供文档的正文,并检查文档前言是否加载了所有需要的包。您的前言的答案中遗漏了一个副本。
  • 从你的问题中我可以看出,你需要让自己更熟悉 LaTeX。阅读一些关于它的介绍性文字,例如LATEX 2ε 的简短介绍,将帮助你更好地理解 LaTeX。
  • 最后,请始终提供可重现您问题的 MWE。这样,您就能帮助我们帮助您。而且不要重复同一个问题三次。一次就足够了。

我的回答中生成的表格的图像,其中 MWE 被复制到上面:

在此处输入图片描述

答案2

如果需要长桌,可以使用套餐longtable

您必须将其包含\usepackage{longtable}在序言中。稍后,您必须使用\begin{longtable}并以 结束它\end{longtable}

一个非常简单的例子,

\documentclass[landscape,12pt]{article}
 \usepackage{longtable}
  \begin{document}
     \centering
     \renewcommand{\arraystretch}{1.5}
      \begin{longtable}{|p{2in}|p{2in}|p{2in}|}\hline
      First Column Content & Second Column Content & Third Column Content\\\hline
      \end{longtable}

上面的代码将帮助您获得您想要的结果。

祝您 TeXting 愉快!

相关内容