如何垂直对齐 PgfplotsTable 标题中的文本?

如何垂直对齐 PgfplotsTable 标题中的文本?

我使用这个宏来堆叠一个标题:\newcommand*{\textstackrel}[2]{\ensuremath{\stackrel{\hbox{#1}}{\hbox{#2}}}}。这会使其他单行标题底部对齐,看起来很糟糕。

因此,我尝试了一些我知道但无济于事的多行技巧,例如: assign column name/.code={\multicolumn{1}{c}{\multirow{2}{*}{#1}}}

大多数时候我都会遇到这个错误信息:

! siunitx error: "duplicate-exponent-token"
! Duplicate exponent marker token '\token_to_str:N d' in input.

我该如何正确地做到这一点?

附言:当我有(更多)时间并且在此之前没有答案时,MWE 将会跟进。

答案1

在准备 MWE 时,我发现了一个可能的解决方案。欢迎改进它或发布另一个解决方案。

\documentclass{article}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepackage{pgfplotstable}

\begin{document}

\pgfplotstableread{
size        min         max         avg         med
1           2e-03       3e-03       2.5e-03     2.4e-03
10          2.02e-03    3.02e-03    2.72e-03    2.32e-03
123456789   2.02        123.72e9    2.72e9      2.32e-03
}{\loadedtable}

\pgfplotstableset{
    begin table=\begin{longtable},
    end table=\end{longtable},
}
\sisetup{
    table-format = 3.2e+3,
    round-precision=2,
    round-mode=places,
    scientific-notation=engineering,
    group-digits=integer,
    group-separator={,},
    exponent-product = \cdot,
}

\pgfplotstabletypeset[
    header=true,
    string type,
    multicolumn names,
    columns={size,med,min,avg,max},
    assign column name/.code={%
        \pgfkeyssetvalue{/pgfplots/table/column name}{\multicolumn{1}{c}{\multirow{2}{*}{#1}} }%
    },
    columns/size/.style ={column name={\shortstack{Instance\\Size}}, column type={S[scientific-notation=false,table-format=9]}, int detect},
    columns/min/.style ={column name=Minimum,   column type=S},
    columns/avg/.style ={column name=Average,   column type=S},
    columns/med/.style ={column name=Median,    column type=S},
    columns/max/.style ={column name=Maximum,   column type=S},
    every head row/.style={before row=\toprule, after row=\\\midrule\endhead},
    every last row/.style={after row=\bottomrule},
]{\loadedtable}

\end{document}

重点是:

  • 使用\pgfkeyssetvalueassign column name/.code,和
  • 样式中的附加\\换行符。after rowevery head row

相关内容