我经常看到标题居中且描述完全对齐的表格。以下是示例。
我知道如何使用caption
包来更改标签和标题,但我不知道如何让描述完全对齐。相反,我的描述采用了\centering
我用来使表格居中的。
最好的方法是什么?这是我最好的尝试。
\documentclass{article}
\usepackage[font=sc]{caption}
\usepackage{booktabs}
\usepackage{lipsum}
\begin{document}
\begin{table}
\centering
\caption{This could win me the Nobel Prize in Economics.}
{\noindent Fine, this could win me the Nobel \emph{Memorial} Prize in Economic Sciences.~\lipsum[1]}
\begin{tabular*}{\textwidth}{c @{\extracolsep{\fill}} ccc}
\toprule
xx&1&2&3\\
xx&1&2&3\\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
但这给了我一个集中的描述。
我看到有一个threeparttable
包,但我不需要脚注。我希望描述紧跟在标题后面。
答案1
由于你可能经常使用这样的描述来描述数字,定义一个宏来处理格式化;这包括使用以下方法保持文本对齐\justifying
(从ragged2e
):
\documentclass{article}
\usepackage[font=sc]{caption}
\usepackage{lipsum,ragged2e}
\newcommand{\figuredesc}[1]{% Figure description
\begingroup
\par
\justifying\small
\noindent #1
\par
\endgroup}
\begin{document}
\begin{table}[htb]
\centering
\caption{This could win me the Nobel Prize in Economics.}
\figuredesc{Fine, this could win me the Nobel \emph{Memorial} Prize in Economic Sciences.~\lipsum[1]}
\begin{tabular}{ *{4}{c} }
\hline
A & 1 & 2 & 3 \\
B & 1 & 2 & 3 \\
\hline
\end{tabular}
\end{table}
\end{document}
答案2
像这样?
在我看来,最简单的方法是将这个长解释移到表格的第一行:
\documentclass{article}
\usepackage[font=sc]{caption}
\usepackage{booktabs}
\usepackage{lipsum}
\usepackage{showframe}
\renewcommand*\ShowFrameColor{\color{red}}
\begin{document}
\begin{table}[htb]
\centering
\caption{This could win me the Nobel Prize in Economics.}
\begin{tabular*}{\textwidth}{c @{\extracolsep{\fill}} ccc}
\multicolumn{4}{@{}p{\textwidth}@{}}{\footnotesize
Fine, this could win me the Nobel \emph{Memorial} Prize in Economic Sciences.~\lipsum[1]}\\
\toprule
xx & 1 & 2 & 3\\
xx & 1 & 2 & 3\\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
答案3
您可以使用threeparttablex
的扩展threeparttable
,它允许您在 中的任何位置插入表格注释longtable
,以及ltablex
将 longtable 的功能带到tabularx
。
注意 的语法threeparttablex
与 略有不同threeparttable
。使用 时ltablex
,标题必须插入表格中,就像 一样longtable
。
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[font=sc]{caption}
\usepackage{booktabs, threeparttablex, ltablex}
\usepackage{lipsum}
\keepXColumns
\begin{document}
\begin{ThreePartTable}
\setTableNoteFont{\footnotesize}
\begin{TableNotes}[flushleft]
\item[\hskip-\fontdimen2\font]Fine, this could win me the Nobel \emph{Memorial} Prize in Economic Sciences.~\lipsum[1]
\end{TableNotes}
\begin{tabularx}{\textwidth}{*{4}{>{\centering\arraybackslash}X}}%
\caption{This could win me the Nobel Prize in Economics.}\\
\insertTableNotes\\
\addlinespace%
\toprule
\endfirsthead
xx & 1 & 2 & 3 \\
xx & 1 & 2 & 3 \\
\bottomrule
\end{tabularx}
\end{ThreePartTable}
\end{document}