我正在以该模式使用该apa6
课程doc
来完成我的论文。
现在,当我创建一个表格并尝试将其置于页面中央时,表格就正确居中了。但是,标题仍然浮动在页面左侧表格原来的位置。
它看起来是这样的:
我希望标题与表格左侧对齐。
这基本上就是我的 .tex 文件的样子:
\documentclass[doc]{apa6}
\usepackage[american,ngerman]{babel}
\usepackage[style=apa,sortcites=true,sorting=nyt]{biblatex}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\shorttitle{Some title}
\begin{document}
\begin{table}[htbp]
\center
\caption{Some caption}
\label{table1}
\begin{tabular}{lcc}
\toprule
Test1 & 1 & 2\\
Test2 & 1 & 2\\
Test3 & 1 & 2\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案1
这caption
包由类加载apa6
,因此您可以使用其命令来设置标题格式。添加:
\captionsetup{justification=centering}
将导致标题居中。但是,这似乎不是您想要的确切格式。您想要的是左对齐标题,与表格的自然宽度对齐。正如 Axel Sommerfeldt 在评论中指出的那样,包中有一个命令caption
允许您将表格及其标题放在一个框中。这将允许您非常轻松地完成您想要的操作。该命令尚未进入caption
(v3.2) 的文档。
该命令的语法是:
\captionbox[⟨list entry⟩]{⟨heading⟩}[⟨width⟩][⟨inner-pos⟩]{⟨contents⟩}
\captionbox*{⟨heading⟩}[⟨width⟩][⟨inner-pos⟩]{⟨contents⟩}
(引用subcaption
同一作者的包:)
参数
⟨list entry⟩
&⟨heading⟩
将用于排版\caption
。⟨width⟩
是结果的宽度\parbox
;默认值是内容的宽度。
⟨inner-pos⟩
指定内容在结果 中的对齐方式\parbox
;它可以是c
(对于\centering
)、l
(对于\raggedright
)、r
(对于\raggedleft
)或s
(对于无特殊对齐)。默认值为c
。(但您\DeclareCaptionJustification
也可以使用 定义的任何对齐方式,例如centerlast
。)
\documentclass[doc]{apa6}
\usepackage[american,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\shorttitle{A title}
\begin{document}
Example of a table:
\begin{table}[htbp]
\centering
\captionbox{Some caption\label{table1}}{%
\begin{tabular}{lcc}
\toprule
Test1 & 1 & 2\\
Test2 & 1 & 2\\
Test3 & 1 & 2\\
\bottomrule
\end{tabular}
}
\end{table}
\end{document}
除非您有非常严格的格式要求,否则我会坚持使用居中字幕而不是这样做。
(感谢 Werner 和 Axel 对这个答案的评论。)
答案2
您可以加载zref
包裹使用savepos
模块。这允许您使用保存页面上的\zsavepos{<label>}
(x,y) 坐标的模块,可通过和中的caled oints(或)检索。这至少需要两次编译。<label>
\zposx{<label>}
\zposy{<label>}
s
p
sp
\documentclass[doc]{apa6}% http://ctan.org/pkg/apa6
%\usepackage[american,ngerman]{babel}% http://ctan.org/pkg/babel
%\usepackage[style=apa,sortcites=true,sorting=nyt]{biblatex}% http://ctan.org/pkg/biblatex
%\usepackage[utf8]{inputenc}% http://ctan.org/pkg/inputenc
%\usepackage[T1]{fontenc}% http://ctan.org/pkg/fontenc
\usepackage[savepos]{zref}% http://ctan.org/pkg/zref
\shorttitle{Some title}
\begin{document}
\begin{table}[htbp]
\centering
\begin{minipage}{\dimexpr\zposx{tabR}sp-\zposx{tabL}sp\relax}
\caption{Some caption}
\label{table1}
\zsavepos{tabL}\begin{tabular}{lcc}% Save tabular LEFT coordinate
\toprule
Test1 & 1 & 2\\
Test2 & 1 & 2\\
Test3 & 1 & 2\\
\bottomrule
\end{tabular}\zsavepos{tabR}% Save tabular RIGHT coordinate
\end{minipage}
\end{table}
\end{document}
你在环境的左边放置一个标签tabular
(比如tabL
),在右边放置一个标签(比如tabR
)。然后,给出和\dimexpr\zposx{tabR}sp-\zposy{tabL}sp\relax
之间的精确水平距离,你将其用作 的长度限制。tabL
tabR
minipage
您需要为每个tabular
要强制执行的方式设置不同的标签。可以通过定义您自己的环境(例如)mytable
和 来自动执行此过程mytabular
,您可以使用它们来代替table
。