我目前使用该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}