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

Как нарисовать боковую линию в таблице
\documentclass{article}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}

\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\textwidth}{c X | c | c | c |}
    \cline{3-5}
    &  & \multicolumn{3}{c|}{Paired Differences} \\
    \cline{3-5}
     & & Mean &  Std. Deviation & Std. Error Mean \\
         \hline
    Pair 1 & Testing 1 and Testing 2 and Testing 3 & 4.20\% & 44.6\% & 4.54\%  \\
    \hline
      \end{tabularx}
\caption{Testing 123}
\end{table}

\end{document}

Исход:

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

Я не могу понять. Если я добавлю, \begin{tabularx}{\textwidth}{|c X | c | c | c |} это не будет работать.

решение1

так?

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

\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{xparse}
\NewExpandableDocumentCommand\mcc{O{1}m}
    {\multicolumn{#1}{c|}{#2}}
\usepackage{siunitx}     \begin{document}
    \begin{table}[ht]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\linewidth}{|c X |                % <---
                             *{3}{S[table-format=2.2,  % <---
                                    table-space-text-post=\,\%]<{\,\%}|}} 
    \cline{3-5}
\mcc[2]{} % <---
        & \mcc[3]{Paired Differences}       \cr
    \cline{3-5}
\mcc[2]{} % <---
        & \mcc{Mean} & \mcc{Std. Deviation} & \mcc{Std. Error Mean} \cr
         \hline
Pair 1 & Testing 1 and Testing 2 and Testing 3
        & 4.20  & 44.6  & 4.54                          \cr
    \hline
      \end{tabularx}
\caption{Testing 123}
    \end{table}
\end{document}

Приложение: Менее сложная версия ответа выше:

\documentclass{article}
\usepackage{multirow, tabularx}
\usepackage{siunitx}     


\begin{document}
    \begin{table}[ht]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\linewidth}{|c X |                % <---
                             *{3}{S[table-format=2.2,  % <---
                                    table-space-text-post=\,\%]<{\,\%}|}}
    \cline{3-5}
\multicolumn{2}{c|}{} 
        & \multicolumn{3}{c|}{Paired Differences}               \cr
    \cline{3-5}
\multicolumn{2}{c|}{} 
        & \multicolumn{1}{c|}{Mean} 
                & \multicolumn{1}{c|}{Std. Deviation} 
                        & \multicolumn{1}{c|}{Std. Error Mean}  \cr
         \hline
Pair 1 & Testing 1 and Testing 2 and Testing 3
        & 4.20  & 44.6  & 4.54                                  \cr
    \hline
      \end{tabularx}
\caption{Testing 123}
    \end{table}
\end{document}

где Sтип столбца определен в siunitxпакете. Подробности его опций и использования см. в документации пакета, (под)раздел5.14 Табличный материал, стр. 44. Краткое содержание:

  • в tabularпреамбуле определены количество столбцов их типы:

    • cтип столбца центрирует содержимое ячеек (и он широкий, поскольку текст длинный)
    • XТип столбца существует в tabularxтабличной среде. Его ширина рассчитывается пакетом, содержимое в нем устанавливается как абзац, что означает, что автоматически переносятся строки
    • Вертикальные полосы |определяют вертикальные линии в таблице. Они присутствуют во всех ячейках, которыенетперезаписать \multicolumnячейками.
  • \multicolumnкоманда объединяет смежные ячейки в одну ячейку (или определяет новый тип столбца для отдельных ячеек)

  • table-format=2.2средства <integer part>.<decimal part>числа. Числа в столбце выравниваются по десятичной точке
  • table-space-text-post=\,\%определить дополнительный к горизонтальному пробел после числа (зарезервирован для небольшого пробела \,и символа%

Для получения дополнительной информации я настоятельно рекомендую вам прочитать вводный текст о написании таблиц. НапримерВики-книга: Таблицыи, конечно, в документации пакетов. Они являются частью вашей установки LaTeX (в latex/docпапке) или они доступны в архиве CTAN.

Относительно оригинального ответа: - пакет xparse(хранится в doc/genericпапке, как указано в его документации):

Пакет xparse предоставляет высокоуровневый интерфейс для создания команд на уровне документа. Таким образом, он предназначен для замены макроса LATEX 2ε \newcommand. Однако xparse работает так, что интерфейс к функции (например, необязательные аргументы, звездочки и обязательные аргументы) отделен от внутренней реализации. xparse предоставляет нормализованный ввод для внутренней формы функции, независимо от расположения аргументов на уровне документа.

так с \NewExpandableDocumentCommand\mcc{O{1}m}{...}определена новая команда, которая позволяет писать более короткий код. Например:

  • O{1}— параметр 1(в нашем случае количество столбцов. Параметр не используется, количество столбцов равно 1 . m— обязательный аргумент, который в нашем случае представляет собой текст в ячейке с несколькими столбцами.
  • Примеры его использования:
    • \mcc{text}определяется как эквивалент кода \multicolumn{1}{c|}{text}(см. преамбулу в исходном ответе)
    • \mcc[r]{text over three columns}эквивалентно \multicolumn{3}{c|}{текст в трех столбцах}`

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