如何从 tabularray 设置 longtblr 中的标题宽度?

如何从 tabularray 设置 longtblr 中的标题宽度?

我有一个细长的长表,但想要一个全文本宽度的标题。长表在表格环境中不起作用。我尝试了一条额外的线,\SetCell[c=5]{c}\hspace{0.9\textwidth}\\但这会奇怪地移动所有内容,并且所有行也变成全宽,这很有意义,但不是我想要的。

有人有想法吗?

\documentclass[11pt,a4paper]{scrreprt}
%\usepackage[T1]{fontenc}
%\usepackage[ngerman]{babel}
%\usepackage{scrhack}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\begin{document}
    
\begin{longtblr}[
        caption = {Variation der Steuerungs-Simulationsversuche. Test 1-9 mit der neuer Steuerung, Test 1-14 mit Steuerung~1 und Test 15-19 mit Steuerung~2 durchgeführt. \(n_{fc}\) = Anzahl {FC} im {FC}-System, WD = Wintertag, SD = Sommertag},
        entry = {Steuerungs-Simulationsversuche},
        label = {tab:sim:steuerung_versuche},
        ]{
            colspec =ccccc,   
            rowhead = 1,     
        }
        \toprule
        Num. &  \(n_{fc}\) & Lasttag & Heizung & {PV}\\
        \midrule
        1 & 100 & WD& ein& aus\\*
        2 & 99  & WD& ein& aus \\*
        3 & 101 & WD& ein& aus \\
        4 & 200 & WD& ein& aus\\
        5 & 199 & WD& ein& aus\\
        6 & 201 & WD& ein& aus\\
        7 & 100 & SD& aus& Juli\\
        8 & 200 & SD& aus& Juli\\*
        9 & 300 & WD& aus& aus\\
        \midrule
        10& 100 & WD& ein& aus\\*
        11& 200 & WD& ein& aus\\*
        12& 300 & WD& ein& aus\\
        13& 100 & SD& aus& Juli\\*
        14& 200 & SD& aus& Juli\\
        \midrule
        15& 100 & WD& ein& aus\\*
        16& 200 & WD& ein& aus\\*
        17& 300 & WD& ein& aus\\
        18& 100 & SD& aus& Juli\\*
        19& 200 & SD& aus& Juli\\*
        \bottomrule
        
\end{longtblr}

\end{document}

答案1

一个选项是使用caption包和\captionof命令。另请参阅发布。您可以为所有标题指定width。这还有一个优点,即您的longtblr表格将具有与常规表格相同的格式。

\documentclass[11pt,a4paper]{scrreprt}
%\usepackage[T1]{fontenc}
%\usepackage[ngerman]{babel}
%\usepackage{scrhack}
\usepackage{caption}
\captionsetup{format=plain,labelfont=bf,font=small, width=\linewidth}

\usepackage{tabularray}
\UseTblrLibrary{booktabs}

% modifying the captions of tabularray
\DefTblrTemplate{firsthead}{default}{\addtocounter{table}{-1}\captionof{table}[\InsertTblrText{entry}]{\InsertTblrText{caption}}}
\DefTblrTemplate{middlehead,lasthead}{default}{\addtocounter{table}{-1}\captionof{table}[]{\InsertTblrText{caption}~(Continued)}}
\SetTblrTemplate{caption-lot}{empty}

\begin{document}
    
    \listoftables
    
    \begin{longtblr}[
        caption = {Variation der Steuerungs-Simulationsversuche. Test 1-9 mit der neuer Steuerung, Test 1-14 mit Steuerung~1 und Test 15-19 mit Steuerung~2 durchgeführt. \(n_{fc}\) = Anzahl {FC} im {FC}-System, WD = Wintertag, SD = Sommertag},
        entry = {Steuerungs-Simulationsversuche},
        label = {tab:sim:steuerung_versuche},
        ]{
            colspec =ccccc,
            rowhead = 1,     
        }
        \toprule
        Num. &  \(n_{fc}\) & Lasttag & Heizung & {PV}\\
        \midrule
        1 & 100 & WD& ein& aus\\*
        2 & 99  & WD& ein& aus \\*
        3 & 101 & WD& ein& aus \\
        4 & 200 & WD& ein& aus\\
        5 & 199 & WD& ein& aus\\
        6 & 201 & WD& ein& aus\\
        7 & 100 & SD& aus& Juli\\
        8 & 200 & SD& aus& Juli\\*
        9 & 300 & WD& aus& aus\\
        \midrule
        10& 100 & WD& ein& aus\\*
        11& 200 & WD& ein& aus\\*
        12& 300 & WD& ein& aus\\
        13& 100 & SD& aus& Juli\\*
        14& 200 & SD& aus& Juli\\
        \midrule
        15& 100 & WD& ein& aus\\*
        16& 200 & WD& ein& aus\\*
        17& 300 & WD& ein& aus\\
        18& 100 & SD& aus& Juli\\*
        19& 200 & SD& aus& Juli\\*
        \bottomrule 
    \end{longtblr}
        
\end{document}

longtblr 全宽标题

如果要在本地指定,请从加载选项中width删除并使用width=\linewidht

\captionsetup{width=\linewidth}

在一个封闭环境的本地组中longtblr

我还会将变量含义的解释移到里面remark,这也会让你的标题变得更短一些。

答案2

您也可以tabularray使用主题来执行此操作。

\documentclass[11pt,a4paper]{scrreprt}
%\usepackage[T1]{fontenc}
%\usepackage[ngerman]{babel}
%\usepackage{scrhack}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}

\DefTblrTemplate{caption}{wide}{%
  \makebox[\hsize][c]{%
    \parbox{\textwidth}{%
      \UseTblrTemplate {caption-tag}{default}%
      \UseTblrTemplate {caption-sep}{default}%
      \UseTblrTemplate {caption-text}{default}%
    }
  }
}
\NewTblrTheme{widecaption}{%
    \SetTblrTemplate{caption}{wide}%
}
\begin{document}
    
\begin{longtblr}[
        theme = widecaption,
        caption = {Variation der Steuerungs-Simulationsversuche. Test 1-9 mit der neuer Steuerung, Test 1-14 mit Steuerung~1 und Test 15-19 mit Steuerung~2 durchgeführt. \(n_{fc}\) = Anzahl {FC} im {FC}-System, WD = Wintertag, SD = Sommertag},
        entry = {Steuerungs-Simulationsversuche},
        label = {tab:sim:steuerung_versuche},
        ]{
            colspec =ccccc,   
            rowhead = 1,     
        }
        \toprule
        Num. &  \(n_{fc}\) & Lasttag & Heizung & {PV}\\
        \midrule
        1 & 100 & WD& ein& aus\\*
        2 & 99  & WD& ein& aus \\*
        3 & 101 & WD& ein& aus \\
        4 & 200 & WD& ein& aus\\
        5 & 199 & WD& ein& aus\\
        6 & 201 & WD& ein& aus\\
        7 & 100 & SD& aus& Juli\\
        8 & 200 & SD& aus& Juli\\*
        9 & 300 & WD& aus& aus\\
        \midrule
        10& 100 & WD& ein& aus\\*
        11& 200 & WD& ein& aus\\*
        12& 300 & WD& ein& aus\\
        13& 100 & SD& aus& Juli\\*
        14& 200 & SD& aus& Juli\\
        \midrule
        15& 100 & WD& ein& aus\\*
        16& 200 & WD& ein& aus\\*
        17& 300 & WD& ein& aus\\
        18& 100 & SD& aus& Juli\\*
        19& 200 & SD& aus& Juli\\*
        \bottomrule
        
\end{longtblr}

\end{document}

在此处输入图片描述

相关内容