我的表格比我通常的边距要宽。这导致表格超出了右边距。(由于长度的原因,将表格横向放置是行不通的)我想要一个与表格大小相同的标题。我可以调整左边距,但不能调整右边距。有没有办法让它也超出右边距?或者,有一种方法可以让我的表格超出左边距而不是右边距。
\documentclass[a4paper,10pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{amssymb,amsmath, array, float, subfig}
\usepackage{ragged2e, setspace}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{graphicx, natbib, cite}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{tabularx}
\usepackage{afterpage}
\begin{document}
\begin{table}
\captionsetup{width=1.5\textwidth, margin=0em}
\setlength{\leftskip}{\captionmargin}%
\caption{Title\\ \small Columns 1 and 2 show the effect of blablablalab}
\begin{tabular}[]{p{2,15cm}p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm}} \hline
& (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) \\
Dep.Var.Name & Dep.Var.Name & \(\Delta\)Dep.Var.Name & Dep.Var.Name & Dep.Var.Name & Dep.Var.Name & Dep.Var.Name & \(\Delta\)Dep.Var.Name & \(\Delta\)Dep.Var.Name \\ \hline
& & & & & \\
LONG NAME FE & Yes & No & Yes & Yes & Yes & Yes & No & No \\ \hline
\multicolumn{9}{c}{ Robust standard errors in parentheses} \\
\multicolumn{9}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}
\end{table}
\end{document}
答案1
简单来说就是\caption
喜欢放在里面minipage
。顺便说一句,我修改了“Dep.Var.Name。”以适合该p{}
字段。
我认为所有这些包都是为了测试兼容性?
\documentclass[a4paper,10pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage{amssymb,amsmath, array, float, subfig}
\usepackage{ragged2e, setspace}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{graphicx, natbib, cite}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{tabularx}
\usepackage{afterpage}
\begin{document}
\begin{table}
\hspace*{\dimexpr -\oddsidemargin-1in}\rlap{\begin{minipage}{\paperwidth}
\caption{Title\\ \small Columns 1 and 2 show the effect of blablablalab}
\centering
\begin{tabular}[]{p{2,15cm}p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm} p{1.45cm}} \hline
& (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) \\
Dep. Var. Name & Dep. Var. Name & $(\Delta)$Dep. Var. Name & Dep. Var. Name & Dep. Var. Name & Dep. Var. Name & Dep. Var. Name & $(\Delta)$Dep. Var. Name & $(\Delta)$Dep. Var. Name \\ \hline
& & & & & \\
LONG NAME FE & Yes & No & Yes & Yes & Yes & Yes & No & No \\ \hline
\multicolumn{9}{c}{ Robust standard errors in parentheses} \\
\multicolumn{9}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}
\end{minipage}}
\end{table}
\end{document}
答案2
只需将水平边距更改为 2.5 厘米,它就可以使用tabularx
和来适应文本宽度threeparttable
:
\documentclass[a4paper, 10pt]{article}
\usepackage[hmargin=2.5cm, vmargin=3cm, showframe]{geometry}
\usepackage{amssymb,amsmath, array, float, subfig}
\usepackage{ragged2e, setspace}
\usepackage{pdflscape}
\usepackage{graphicx, natbib, cite}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{tabularx, booktabs}
\usepackage[flushleft]{threeparttable} \usepackage{afterpage}
\renewcommand{\tabularxcolumn}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{threeparttable}[flushleft]
\setlength\tabcolsep{3pt}\renewcommand\arraystretch{1.3}
\caption{Title\\ \small Columns 1 and 2 show the effect of blablablalab}
\begin{tabularx}{\linewidth}{>{\hsize=1.8\hsize\raggedright}X *{8}{>{\hsize=0.9\hsize}X}}%
\toprule
& (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) \\
Dep.Var.Name & Dep.Var.\newline Name & $ \Delta $Dep.\newline Var.Name & Dep.Var.\newline Name & Dep.Var.\newline Name & Dep.Var.\newline Name & Dep.Var.\newline Name & \(\Delta\)Dep.\newline Var.Name & \(\Delta\)Dep.\newline Var.Name \\
\midrule
LONG NAME FE & Yes & No & Yes & Yes & Yes & Yes & No & No \\
\bottomrule
\addlinespace
\end{tabularx}
\begin{tablenotes}
\small
\item[]Robust standard errors in parentheses
\item[]*** p${}<0.01$, ** p$ {}<0.05$, * p${}<0.1$
\end{tablenotes}
\end{threeparttable}
\end{document}
答案3
这并非完全解决您的问题,而是一个关于如何改善其外观并使其适合文本的建议。我意识到您可能无法使用这个,但我认为您不应该违反边距。
- 删除重复的标题
Variable
,因为它已经位于最左侧的标题中。我不明白为什么要在每一行都重复它。 - 无需指定每行的宽度,只需在此处使用
c
或l
即可。此外,对于同一类型的多行,语法*{num}{type}
会使其更加清晰。 \cemtering
在环境内使用table
。当然,如果您确实希望表格跨越外边距,则此建议毫无意义。- 您真的在使用所有这些不同且非常相关的软件包吗?考虑坚持某种风格。在任何地方都保持一致。删除未使用的软件包。
- 考虑使用
booktabs
-style。由于您没有使用垂直线,因此您已经创建了比大多数表格更好看的表格。许多人认为不同粗细的水平线可以改善外观和可读性。通过使用、和booktabs
,可以帮助保持所有表格的线宽一致。\toprule
\midrule
\bottomrule
输出
代码
\documentclass[a4paper,10pt]{article}
\usepackage[margin=3cm]{geometry}
%\usepackage{amssymb,amsmath, float, subfig}
%\usepackage{ragged2e, setspace}
%\usepackage{longtable}
%\usepackage{pdflscape}
%\usepackage{graphicx, natbib, cite}
\usepackage[utf8]{inputenc}
\usepackage{caption}
%\usepackage{tabularx}
%\usepackage{afterpage}
\usepackage{booktabs}
\begin{document}
\begin{table}
\centering
\caption{Local leverage\\ \small Columns 1 and 2 show the effect of blablablalab}
\begin{tabular}{l *{8}{c}}
\toprule
Variables & (1) & (2)\(\Delta\) & (3) & (4) & (5) & (6) & (7)\(\Delta\) & (8)\(\Delta\) \\
Long Name Fe & Yes & No & Yes & Yes & Yes & Yes & No & No \\
\bottomrule
\addlinespace
\multicolumn{9}{c}{ Robust standard errors in parentheses} \\
\multicolumn{9}{c}{ *** p$<$0.01, ** p$<$0.05, * p$<$0.1} \\
\end{tabular}
\end{table}
\end{document}