当我有一个手动换行在表格的单元格中tabularx
,垂直线就会消失。
\documentclass{article}
\usepackage{tabularx}
\usepackage[sfdefault]{cabin}
% https://tex.stackexchange.com/questions/89166
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{tabularx}{\textwidth}{lc|l|Y|Y|Y|Y}
\hline
% Row
Text & & & & & & \\ \hline
% Row
Text\\ Text & & & & & & \\ \hline
\end{tabularx}
\end{document}
有关的
答案1
如果您希望在某一列类型中使用换行符l, c, r
,则必须加载 makecell
包并使用其同名命令。否则,\\
将被视为行更改。使用此代码,就可以了:
\documentclass{article}
\usepackage{tabularx, makecell}
\usepackage{fontawesome}
\usepackage[sfdefault]{cabin}
% https://tex.stackexchange.com/questions/89166
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{tabularx}{\textwidth}{lc|l|Y|Y|Y|Y}
\hline
% Row
Text & & & & & & \\ \hline
% Row
\makecell[l]{Text\\ Text} & & & & & & \\ \hline
\end{tabularx}
\end{document}
答案2
您始终可以在表格中放置框,但\\
不会结束表格行。一个方便的命令是,\pbox
因为它不会占用比必要更多的空间,但具有最大宽度。不幸的是,垂直间距不适合\pbox
。以下是一个例子:
\documentclass{article}
\usepackage{tabularx}
\usepackage{pbox}
% https://tex.stackexchange.com/questions/89166
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{tabularx}{\textwidth}{lc|l|Y|Y|Y|Y}
\hline
% Row
Text & & & & & & \\ \hline
% Row
\pbox{\textwidth}{Text\\ Text} & & & & & & \\ \hline
\end{tabularx}
\end{document}
可以清楚地看到,上图中的垂直间距不正确。