调整 siuntix 表中的列宽

调整 siuntix 表中的列宽

我有一张表格,我想调整其列宽,使其稍微小一点。我习惯\renewcommand{\tabcolsep}{.00001pt}这样做。但是,有一列似乎对这种调整没有反应。

下表:

\documentclass[11pt. oneside]{article} 
\usepackage{geometry}
\geometry{landscape}  
\geometry{letterpaper}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{siunitx}            
\usepackage{array}                              
\usepackage{changepage}
\usepackage[
singlelinecheck=false 
]{caption}



\usepackage[
singlelinecheck=false
]{caption}


\newcommand{\boldentry}[2]{%
  \multicolumn{1}{S[table-format=#1,
                   mode=text,
                    text-rm=\fontseries{b}\selectfont
                   ]}{#2}}

\begin{document}
\thispagestyle{empty} %Removes page number
\begin{table}[h]

\renewcommand{\tabcolsep}{.00001pt}
 \begin{adjustwidth}{-3cm}{} %Adjusts table to the left, so all can be seen
\caption{This is the caption}
\begin{tabular}{lSSSSSSSSSSl} \toprule
{Header 1} & {\shortstack{Header (\textit{2})}} & {\shortstack{Header\\number 3}} & {\shortstack{Header\\ number 4}} &{ \shortstack{Header\\ 5}} & {\shortstack{Header\\number 6}} & {\shortstack{Header\\number 7}} & {Header number (8)}   & {\shortstack{Header\\number (9)}} & {Header number 10} & {Header number 11} & {\shortstack{Header \textit{Number 12}}} \\
\midrule
{TLR1234}       & {Total (10)}  & {100 mm}  & 100   & 200   & 300   & 400   & 500       & 600 {(700)}   &               &               &                 \\
& {ST (10)}         &               & 100           & 200           & 300           & 400       & 500       & 600   & 700           & 800   & 900 \\
& {FG (10)}         &               & 100       & 200           & 300        & 400      & 500       & 600       & 700           & 800   & {900 (1000)} \\
& {SN (10)}             &           & 100           & 200        & 300            & 400     & 500       & 600       & 700           & 800       & 900                \\
 \\ \bottomrule
\end{tabular}
 \end{adjustwidth}
\end{table}

\end{document}

我发现是该条目600 {(700)}导致了问题。如果我删除{},列会按照宽度调整,但这会导致 600 和 (700) 之间没有空格的问题。如果我删除{600 (700)},列仍会调整宽度,但条目不会居中对齐。你能给我解决这个问题的办法吗?表中另一个也包含括号的条目{900 (1000)}似乎不会造成问题。

- - 编辑 - -

有了 Zarko 提供的解决方案,我仍然遇到一些问题。

    \documentclass[11pt,oneside]{article}
    \usepackage{geometry}
    \geometry{landscape,letterpaper}
    \usepackage{array,booktabs,makecell}
    \usepackage{changepage}
    \usepackage[singlelinecheck=false]{caption}
    \usepackage{siunitx}
    \sisetup{table-number-alignment=center,
         table-format=3.0}

    \begin{document}
        \thispagestyle{empty} %Removes page number
    \begin{table}[h]
    %    \renewcommand{\tabcolsep}{.00001pt}
    \begin{adjustwidth}{-1.5cm}{} %Adjusts table to the left, so all can be seen
        \caption{This is the caption}
        \begin{tabular}{lcc*{9}{S}} 
            \toprule
    \thead{Header\\ 1} 
        &   \thead{Header\\ 2}
        &   {\thead{Header\\number 3}} 
            &   {\thead{Header\\ number 4}} 
                &   {\thead{Header\\ 5}} 
                    &   {\thead{Header\\number 6}} 
                        &   {\thead{Header\\ number 7}} 
                            &   {\thead{Header\\ number (8)}}   
                                &   {\thead{Header\\number (9)}} 
                                    &   {\thead{Header\\ number 10}} 
                                        &   {\thead{Header\\ number 11}}
                                            &   {\thead{Header\\ Number 12}}    \\
    \midrule
    TLR1234 & Total (10) & {100 mm} & 100 & 200 & 300 & 400 & 500 
      & {600 (700)} %<--- 
        &&&     \\
        & ST (10)        &          & 100 & 200 & 300 & 400 & 500 & 600 & 700 & 800 & 900 \\
        & {FG (10)}         &               & 100       & 200           & 300        & 400      & 500       & 600       & 700           & 800   
   & {900 (1000)} % <--- (this row  was not considered in my answer) \\
        \bottomrule
    \end{tabular}
     \end{adjustwidth}
    \end{table}
        \end{document}

这给了我这个结果:

在此处输入图片描述

和我最初的问题一样,我仍然遇到值和括号中的值之间没有空格的问题。此外,我现在遇到的问题在于第 12 列中的条目现在延伸到了表格之外。

编辑: 由于您使用了我的部分答案,因此我擅自将其更正为与我(现已删除)答案的最后一个版本一致。在第二次编辑中描述了如何解决单元格中的居中问题,其中包含两个数字,即(更正了拼写错误):

在包含 600(700)的单元格中,最好将其括在花括号中,如 {600(700)},并使用此格式排除 S 格式:

TLR1234 & Total (10) & {100 mm} & 100 & 200 & 300 & 400 & 500 &
    {600 (700)}
    &&&     \\

由于(此处每个答案的意图)是展示如何做(而不是为我做这件事),我期望您将在所有其他单元格中使用此解决方案,而由于问题相同,因此我没有考虑到这些单元格。

我的所有更正均以 表示% <---。我的回答得到以下结果:

在此处输入图片描述

所以,对我来说真正的问题是:我的回答没有满足您原始问题的哪一部分?

相关内容