tabularx 垂直线

tabularx 垂直线

我在使用 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}

相关内容