Правильно выровняйте заголовок по верхнему краю таблицы threeparttable с помощью скрипта KOMA

Правильно выровняйте заголовок по верхнему краю таблицы threeparttable с помощью скрипта KOMA

Без этого все выглядит довольно хорошо 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}                 

введите описание изображения здесь

Связанный контент