我在使用 latex - texmaker 上的表格时遇到了一些问题,我希望有一条垂直线来划分 c 和 p,谢谢。
\documentclass[a4paper, 12 pt]{report}
\usepackage{booktabs, multirow, tabularx}
\newcolumntype{L}{>{\RaggedRight}X}
\usepackage{graphicx}%tabelle
\begin{document}
\begin{table}[h]
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\caption{}
\begin{tabularx}{\textwidth}{@{}lYYYY@{}}
\toprule
&P
&
& C\\
\cmidrule{1-5}
&English
&Original
&English
&Original\\
\cmidrule{1-5}
& 1- not p
& 1- non p
& 1- not c
&1- non c\\
& 2- l p
&2-l p
& 2- c
& 2- c\\
& 3- p e
& 3- a p
& 3- ce
& 3- a c\\
& 4- d p
& 4- d p
& 4- d c
& 4- d c\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}}
如果您能告诉我如何命名表格,我通常可以做到,但在这种情况下我会避免。提前谢谢您
答案1
您实际上并不想要垂直规则:空间也可以起到同样的作用,实际上效果更好。
我提出了该表的三种实现方式;第一种基本上是相同的就像 Mico 的。
我会考虑第二种,其中空间更明显;第三种可能是我排版的方式,而无需人为地扩大表格。
\documentclass[a4paper, 12 pt]{report}
\usepackage{booktabs,tabularx}
\begin{document}
\begin{table}[htp] % <----- not just h
\caption{Some caption}
\begin{tabularx}{\textwidth}{@{} *{4}{>{\centering\arraybackslash}X} @{}}
\toprule
\multicolumn{2}{c}{P} & \multicolumn{2}{c}{C} \\
\cmidrule(r){1-2} \cmidrule(l){3-4}
English & Original & English & Original \\
\midrule
1- not p & 1- non p & 1- not c & 1- non c \\
2- l p & 2- l p & 2- c & 2- c \\
3- p e & 3- a p & 3- ce & 3- a c \\
4- d p & 4- d p & 4- d c & 4- d c \\
\bottomrule
\end{tabularx}
\end{table}
\begin{table}[htp] % <----- not just h
\caption{Some caption}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}cccc@{}}
\toprule
\multicolumn{2}{c}{P} & \multicolumn{2}{c}{C} \\
\cmidrule{1-2} \cmidrule{3-4}
English & Original & English & Original \\
\midrule
1- not p & 1- non p & 1- not c & 1- non c \\
2- l p & 2- l p & 2- c & 2- c \\
3- p e & 3- a p & 3- ce & 3- a c \\
4- d p & 4- d p & 4- d c & 4- d c \\
\bottomrule
\end{tabular*}
\end{table}
\begin{table}[htp] % <----- not just h
\centering
\caption{Some caption}
\begin{tabular}{@{}cc c cc@{}}
\toprule
\multicolumn{2}{c@{}}{P} &\qquad & \multicolumn{2}{c}{C} \\
\cmidrule(r){1-2} \cmidrule(l){4-5}
English & Original && English & Original \\
\midrule
1- not p & 1- non p && 1- not c & 1- non c \\
2- l p & 2- l p && 2- c & 2- c \\
3- p e & 3- a p && 3- ce & 3- a c \\
4- d p & 4- d p && 4- d c & 4- d c \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
我使用了 4 列,但它不起作用,所以我使用它有效的
4 列不起作用的原因在于您以虚假&
标记开始每一行 —— 实际上创建了一个全空白的第一列(其类型为l
)。解决方案?摆脱虚假&
标记。
以下布局可能接近您想要实现的效果——没有垂直线。
\documentclass[a4paper, 12pt]{report}
\usepackage{booktabs, tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}[h]
\caption{Caption Text}
\begin{tabularx}{\textwidth}{@{} YYYY @{}}
\toprule
\multicolumn{2}{@{}c}{P} & \multicolumn{2}{c@{}}{C}\\
\cmidrule(r){1-2} \cmidrule(l){3-4}
English & Original & English & Original \\
\midrule
1- not p & 1- non p & 1- not c & 1- non c\\
2- l p & 2- l p & 2- c & 2- c\\
3- p e & 3- a p & 3- ce & 3- a c\\
4- d p & 4- d p & 4- d c & 4- d c\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}