У меня есть следующая таблица:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage[flushleft]{threeparttable}
\usepackage{tablefootnote}
\usepackage[margin=2cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}% raggedleft column X
\begin{document}
\begin{table}[htb!]
\caption{Unit root tests}
\label{tbl:unitroot}
\renewcommand{\arraystretch}{1.2}%
\begin{tabularx}{\textwidth}{l*{7}{Y}}
\toprule
\multicolumn{8}{l}{\textbf{Confidence Indicators}} \\
\midrule
Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\
\hline
Market & 360 & 101.77 & 10.71 & $\Delta$ Market & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Manufacturing & 360 & -7.33 & 12.63 & $\Delta$ Manufacturing & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Construction & 360 & -17.23 & 23.43 & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71 \\
Services & 216 & 3.99 & 19.19 & $\Delta$ Services & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Consumer & 360 & -9.31 & 8.64 & $\Delta$ Consumer & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\end{tabularx}
\begin{tabularx}{\linewidth}{l*{7}{Y}}
\toprule
\multicolumn{8}{l}{\textbf{Stock Returns}} \\
\midrule
Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\
\hline
Market & 360 & 101.77 & 10.71 & $\Delta$ Market & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Manufacturing & 360 & -7.33 & 12.63 & $\Delta$ Manufacturing & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Construction & 360 & -17.23 & 23.43 & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71 \\
Services & 216 & 3.99 & 19.19 & $\Delta$ Services & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Consumer & 360 & -9.31 & 8.64 & $\Delta$ Consumer & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\hline
\end{tabularx}
\end{table}
\end{document}
Мне интересно подогнать пятый столбец под его текст. Просто чтобы он выглядел как первый столбец. Я пытался изменить некоторые параметры, tabularx
но не смог сделать желаемый вывод.
решение1
Не использоватьtabularx
для числовых таблиц, он предназначен для установки целевой ширины дляразрыв строкивнутри клетки.
Если вы просто используете tabular
и r
все подходит, вы можете улучшить его с c
помощью заголовков и других небольших улучшений, но просто не использовать мой код — это основное улучшение, которое вам нужно здесь,
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage[flushleft]{threeparttable}
\usepackage{tablefootnote}
\usepackage[margin=2cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tabularx}% http://ctan.org/pkg/tabularx
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}% raggedleft column X
\begin{document}
\begin{table}[htb!]
\caption{Unit root tests}
\label{tbl:unitroot}
\renewcommand{\arraystretch}{1.2}%
\begin{tabular}{l*{7}{r}}
\toprule
\multicolumn{8}{l}{\textbf{Confidence Indicators}} \\
\midrule
Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\
\hline
Market & 360 & 101.77 & 10.71 & $\Delta$ Market & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Manufacturing & 360 & -7.33 & 12.63 & $\Delta$ Manufacturing & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Construction & 360 & -17.23 & 23.43 & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71 \\
Services & 216 & 3.99 & 19.19 & $\Delta$ Services & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Consumer & 360 & -9.31 & 8.64 & $\Delta$ Consumer & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\end{tabular}
\begin{tabular}{l*{7}{l}}
\toprule
\multicolumn{8}{l}{\textbf{Stock Returns}} \\
\midrule
Level & ADF & PP & KPSS& Differenced& ADF& PP& KPSS\\
\hline
Market & 360 & 101.77 & 10.71 & $\Delta$ Market & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Manufacturing & 360 & -7.33 & 12.63 & $\Delta$ Manufacturing & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Construction & 360 & -17.23 & 23.43 & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71& (p-value) & 360 & 101.77 & 10.71 \\
Services & 216 & 3.99 & 19.19 & $\Delta$ Services & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
Consumer & 360 & -9.31 & 8.64 & $\Delta$ Consumer & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\hline
\end{tabular}
\end{table}
\end{document}
решение2
Для таблицы с числовыми данными я рекомендую использовать siunitx
. Нет необходимости искусственно расширять таблицу, чтобы покрыть всю ширину текста (но вы можете использовать форму , tabular*
если вам это действительно нужно).
Единственная сложная настройка находится в третьем столбце, где формат -2.2
кажется лучше (знак минус шире цифры). Синтаксис прост: -
означает, что в какой-то строке присутствует знак минус, 2.2
означает, что числа имеют две цифры в целой части и две в десятичной части. Выравнивание по десятичной точке происходит автоматически. Обратите внимание также, что заголовки в столбцах S должны быть заключены в скобки.
Я думаю, что лучше использовать одну таблицу.
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage[flushleft]{threeparttable}
\usepackage{tablefootnote}
\usepackage[margin=2cm]{geometry}
\usepackage{siunitx}
\begin{document}
\begin{table}[htb!]
\centering
\caption{Unit root tests} \label{tbl:unitroot}
\begin{tabular}{
@{}
l
S[table-format=3.0]
S[table-format=-2.2]
S[table-format=2.2]
l
S[table-format=3.0]
S[table-format=3.2]
S[table-format=2.2]
@{}
}
\toprule
\textit{Level} & {ADF} & {PP} & {KPSS} &
\textit{Differenced} & {ADF} & {PP} & {KPSS} \\
\midrule
\multicolumn{8}{c}{\textbf{Confidence Indicators}} \\
\midrule
Market & 360 & 101.77 & 10.71 & $\Delta$ Market & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Manufacturing & 360 & -7.33 & 12.63 & $\Delta$ Manufacturing & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Construction & 360 & -17.23 & 23.43 & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Services & 216 & 3.99 & 19.19 & $\Delta$ Services & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Consumer & 360 & -9.31 & 8.64 & $\Delta$ Consumer & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\midrule[\heavyrulewidth]
\multicolumn{8}{c}{\textbf{Stock Returns}} \\
\midrule
Market & 360 & 101.77 & 10.71 & $\Delta$ Market & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Manufacturing & 360 & -7.33 & 12.63 & $\Delta$ Manufacturing & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Construction & 360 & -17.23 & 23.43 & $\Delta$ Retail trade & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Services & 216 & 3.99 & 19.19 & $\Delta$ Services & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\addlinespace
Consumer & 360 & -9.31 & 8.64 & $\Delta$ Consumer & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & (p-value) & 360 & 101.77 & 10.71 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
решение3
Я бы полностью удалил один столбец из таблицы и перестроил бы заголовок так, чтобы читателю было понятно, как организованы тесты отчета. Я бы также использовал пакет dcolumn
для выравнивания числовых записей по соответствующим десятичным точкам. Чтобы табличный материал охватывал ширину текстового блока, рассмотрите возможность использования окружения tabular*
.
Примечание: как специалист по эконометрике временных рядов, я сразу заметил, что «P» в «KPSS», а также первая «P» в «PP» обозначают первую букву имени моего научного руководителя — «Phillips». :-)
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs,array, caption,fixltx2e}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}
\usepackage[margin=2cm]{geometry}%
\begin{document}
\begin{table}[htb!]
\caption{Unit root tests}
\label{tbl:unitroot}
\renewcommand{\arraystretch}{1.2}
\setlength\tabcolsep{0pt}
\begin{tabular*}{\textwidth}{@{}
l @{\extracolsep{\fill}} c *{2}{d{3.2}} c *{2}{d{3.2}} @{} }
\toprule
Variable & \multicolumn{3}{c}{Level} & \multicolumn{3}{c}{Differenced}\\
\cmidrule{2-4} \cmidrule{5-7}
& \mc{ADF} & \mc{PP} & \mc{KPSS}
& \mc{ADF} & \mc{PP} & \mc{KPSS}\\
\midrule
\addlinespace
\multicolumn{7}{l}{\textbf{Confidence Indicators}} \\[0.5ex]
Market & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
Manufacturing & 360 & -7.33 & 12.63 & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
Construction & 360 & -17.23 & 23.43 & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71& 360 & 101.77 & 10.71 \\
Services & 216 & 3.99 & 19.19 & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
Consumer & 360 & -9.31 & 8.64 & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\[2ex]
\multicolumn{7}{l}{\textbf{Stock Returns}} \\[0.5ex]
Market & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
Manufacturing & 360 & -7.33 & 12.63 & 360 & 7.33 & 12.63 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
Construction & 360 & -17.23 & 23.43 & 360 & 3.40 & 13.84 \\
(p-value) & 360 & 101.77 & 10.71& 360 & 101.77 & 10.71 \\
Services & 216 & 3.99 & 19.19 & 216 & 3.99 & 19.19 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
Consumer & 360 & -9.31 & 8.64 & 360 & -9.31 & 8.64 \\
(p-value) & 360 & 101.77 & 10.71 & 360 & 101.77 & 10.71 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}