Как нарисовать внутреннюю вертикальную линию по центру в таблице?

Как нарисовать внутреннюю вертикальную линию по центру в таблице?

Я хочу, чтобы внутренняя вертикальная линия в таблице была выровнена по центру.

Пример кода:

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|c|}
  \hline
  \multirow{2}{*}{R} & \multicolumn{2}{c|}{No. Jobs Completed/Submitted} \\ \cline{2-3}
                     & C1 & C2                                           \\ \hline
  r1                 & a  & b                                            \\ \hline
  r2                 & a  & b                                            \\ \hline
\end{tabular}
\end{document}

Его вывод:

введите описание изображения здесь


Требуемый результат: Если возможно, я хочу, чтобы столбцы C1 и C2 были разделены поровну.

---------------------------------
|R |No. Jobs Completed/Submitted|
|r1|     C1      |     C2       |
|-------------------------------|
|r2|      a      |      b       |
--------------------------------

решение1

Вы можете использовать wтип -column из arrayпакета:

\documentclass{article}
\usepackage{multirow,array}
\begin{document}
\setlength{\extrarowheight}{1pt}
\begin{tabular}{|c|w{c}{3cm}|w{c}{3cm}|}
  \hline
  \multirow{2}{*}{R} & \multicolumn{2}{c|}{No. Jobs Completed/Submitted} \\ \cline{2-3}
                     & C1 & C2                                           \\ \hline
  r1                 & a  & b                                            \\ \hline
  r2                 & a  & b                                            \\ \hline
\end{tabular}
\end{document}

введите описание изображения здесь PS: Рекомендуется использовать \extrarowheightпредоставленный array, чтобы таблица выглядела лучше.

решение2

С помощью tabularrayпакета вы можете использовать hspan=evenопцию равномерного распределения столбцов:

\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
  colspec={|c|c|c|},
  hspan=even
}
  \hline
  \SetCell[r=2]{} R & \SetCell[c=2]{} No. Jobs Completed/Submitted & \\ \cline{2-3}
                     & C1 & C2                                           \\ \hline
  r1                 & a  & b                                            \\ \hline
  r2                 & a  & b                                            \\ \hline
\end{tblr}
\end{document}

введите описание изображения здесь

решение3

с nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}
    
    \begin{NiceTabular}[width=0.6\linewidth]{cX[c]X[c]}[hvlines,cell-space-limits=2pt]
        \Block{2-1}{R} & \Block{1-2}{No. Jobs Completed/Submitted} & \\
        & C1 & C2 \\
        r1 & a & b \\
        r2 & a & b \\
    \end{NiceTabular}
    
    \vspace{\baselineskip}
    or
    
    \vspace{\baselineskip}
    \begin{NiceTabular}{c W{c}{3cm} W{c}{3cm}}[hvlines,cell-space-limits=2pt]
        \Block{2-1}{R} & \Block{1-2}{No. Jobs Completed/Submitted} & \\
        & C1 & C2 \\
        r1 & a & b \\
        r2 & a & b \\
    \end{NiceTabular}
    
\end{document}

введите описание изображения здесь

решение4

По духу то же самое, что иответ Стивена, но используя естественную ширину заголовка вашей таблицы, измерив ее:

\documentclass{article}

\usepackage{multirow, array}

\newlength\mylength

\begin{document}
\settowidth\mylength{No. Jobs Completed/Submitted}
\mylength=.5\dimexpr\mylength-\arrayrulewidth-2\tabcolsep\relax
\begin{tabular}{|c|*2{w{c}{\mylength}|}}
  \hline
  \multirow{2}{*}{R} & \multicolumn{2}{c|}{No. Jobs Completed/Submitted} \\ \cline{2-3}
                     & C1 & C2                                           \\ \hline
  r1                 & a  & b                                            \\ \hline
  r2                 & a  & b                                            \\ \hline
\end{tabular}
\end{document}

введите описание изображения здесь


На мой взгляд, это улучшенная версия вашей таблицы, в которой все вертикальные линии удалены, а горизонтальные заменены на booktabsгоризонтальные:

\documentclass{article}

\usepackage{multirow, booktabs, array}

\newlength\mylength

\begin{document}
\settowidth\mylength{No. Jobs Completed/Submitted}
\mylength=.5\dimexpr\mylength-2\tabcolsep\relax
\begin{tabular}{c*2{w{c}{\mylength}}}
  \toprule
  \multirow{2}{*}{R} & \multicolumn{2}{c}{No. Jobs Completed/Submitted} \\
                     & C1 & C2                                          \\
  \midrule
  r1                 & a  & b                                           \\
  r2                 & a  & b                                           \\
  \bottomrule
\end{tabular}
\end{document}

введите описание изображения здесь

Связанный контент