
沒有 的話,事情看起來還不錯threeparttable
。
取消註解 Threeparttable 和 tablenotes 會導致標題進入上一段。
\documentclass{scrbook}
%
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{threeparttable}
\usepackage{lipsum}
%
\KOMAoptions{captions=topbeside}
\setcapindent*{0pt}%
\begin{document}
\chapter{Crapper}
\lipsum[1]
\begin{table}[h]%
\label{tab:psource:final-params}%
\begin{captionbeside}{This is the captions which should be top aligned}[l]%
\raisebox{\dimexpr0.5\baselineskip-0.5\totalheight\relax}{%
%\begin{threeparttable}
\begin{tabular}{cccc}
\hline
Test & Test & Test & Test \\
Test & Test & Test & Test\tnote{1} \\
Test & Test & Test & Test \\
Test & Test & Test & Test \\
Test & Test & Test & Test\tnote{2} \\
\hline
\end{tabular}
% \begin{tablenotes}
% \item[1]{Test note}
% \item[2]{Test note}
% \end{tablenotes}
%\end{threeparttable}%
}%
\end{captionbeside}
\end{table}
\end{document}
答案1
不需要\raisebox
;t
在 的可選參數中使用(頂部對齊) tabular
,並且\firsthline
(來自array
包)而不是第一個\hline
:
\documentclass{scrbook}
%
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{threeparttable,array}
\usepackage{lipsum}
%
\KOMAoptions{captions=topbeside}
\setcapindent*{0pt}%
\begin{document}
\chapter{Test}
\lipsum[1]
\begin{table}%
\label{tab:psource:final-params}%
\begin{captionbeside}{This is the caption which is now top aligned}[l]%
\begin{threeparttable}
\begin{tabular}[t]{cccc}
\firsthline
Test & Test & Test & Test \\
Test & Test & Test & Test\tnote{1} \\
Test & Test & Test & Test \\
Test & Test & Test & Test \\
Test & Test & Test & Test\tnote{2} \\
\hline
\end{tabular}
\begin{tablenotes}
\item[1]{Test note}
\item[2]{Test note}
\end{tablenotes}
\end{threeparttable}%
\end{captionbeside}
\end{table}
\end{document}
如果您決定在表中使用該booktabs
套件(我建議這樣做),則必須完成一些額外的工作:在下面的範例中,我定義了一個混合了和\firsttoprule
的功能的命令:\firsthline
\toprule
\documentclass{scrbook}
%
\usepackage[english]{babel}
\usepackage{caption}
\usepackage{threeparttable,array,booktabs}
\usepackage{lipsum}
%
\KOMAoptions{captions=topbeside}
\setcapindent*{0pt}%
\makeatletter
\newcommand\firsttoprule{%
\multicolumn1c{%
\global\backup@length\ht\@arstrutbox
\global\advance\backup@length\dp\@arstrutbox
\global\advance\backup@length\arrayrulewidth
\raise\extratabsurround\copy\@arstrutbox
}\\[-\backup@length]\toprule
}
\makeatother
\begin{document}
\chapter{Test}
\lipsum[1]
\begin{table}[h]%
\label{tab:psource:final-params}%
\begin{captionbeside}{This is the caption which is now top aligned}[l]%
\begin{threeparttable}[t]
\begin{tabular}[t]{cccc}
\firsttoprule
Test & Test & Test & Test \\
Test & Test & Test & Test\tnote{1} \\
Test & Test & Test & Test \\
Test & Test & Test & Test \\
Test & Test & Test & Test\tnote{2} \\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[1]{Test note}
\item[2]{Test note}
\end{tablenotes}
\end{threeparttable}%
\end{captionbeside}
\end{table}
\end{document}