表格内自动换行

表格内自动换行

我目前使用该tabular包来创建表格。我的其中一列有几行文本,所以我需要一个换行机制。我目前有一个有效的机制。

\usepackage{makecell}
...
\begin{center}
    \begin{tabular}{ |c|c|c|c|c| }
        \hline
        \textbf{Name} & \textbf{Goal} & \textbf{Results} & \textbf{Methods used} & \textbf{Validity} \\
        \hline
        VS Code       & \makecell[l]{Desktop-\acs{IDE} with plugin\\mechanism and language server\\integration \cite{vscode01, vscode02}.} & ? & ? & ? \\
        \hline
        Cloud9 IDE    & \makecell[l]{Cloud-based \acs{IDE} with real time\\team collaboration capabilities with\\a computation and storage based\\pricing system \cite{cloud-ide02, cloud9ide01}.} & ? & ? & ? \\
        \hline
    \end{tabular}
\end{center}

令人烦恼的是,我必须手动进行换行。因此,如果我在中间更改了文本,我必须重新调整所有内容。更好的是,像\makecell{...}这样的函数可以根据需要自动进行换行。

Latex 中是否有自动换行的功能?

答案1

有多种方法可以实现自动换行

  • 使用固定列,例如p{1cm}
  • 使用tabularx包和X列将自动选择列宽以填充整个表格所需的宽度

此外,我建议使用该booktabs包来获得漂亮的表格布局。

\documentclass{article}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{array}


\begin{document}

\begin{center}
    \begin{tabularx}{\linewidth}{@{}p{1.2cm}Xc>{\centering\arraybackslash}p{1.6cm}c@{}}
        \toprule
        \textbf{Name} & \textbf{Goal} & \textbf{Results} & \textbf{Methods used} & \textbf{Validity} \\
      \midrule
      VS Code  & Desktop-IDE with plugin mechanism and language server integration. & ? & ? & ? \\
      \addlinespace
            Cloud9 IDE & Cloud-based IDE with real time team collaboration capabilities with a computation and storage based pricing system. & ? & ? & ? \\
      \bottomrule
    \end{tabularx}
\end{center}

\end{document}

enter image description here

相关内容