Estou tentando fazer uma tabela usando o siunitx
pacote. No entanto, cada coluna é preenchida com uma grande quantidade de espaços em branco. Ao alterar tabcolsep
, posso reduzir a quantidade de espaços em branco à direita de cada coluna, mas não posso alterar a quantidade de espaços em branco à esquerda. A alteração table-column-width
apenas causa estouro de hbox, preservando o excesso de espaço em branco.
Aqui está um MWE:
\documentclass{article}
\usepackage{siunitx}
\usepackage{lscape}
\begin{document}
\setlength{\tabcolsep}{0.2em}
\begin{landscape}
\centerline{
\begin{tabular}{
S |
S |
S |
S |
S |
S |
S |
S |
S |
S |
S
}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
}%//centerline
\end{landscape}
\end{document}
E aqui está a versão table-column-width
definida explicitamente:
\documentclass{article}
\usepackage{siunitx}
\usepackage{lscape}
\begin{document}
\setlength{\tabcolsep}{0.2em}
\begin{landscape}
\centerline{
\begin{tabular}{
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em] |
S[table-column-width=8em]
}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
}%//centerline
\end{landscape}
\end{document}
Por favor, informe como remover o espaço em branco à esquerda de cada número para que a tabela caiba em uma única página. Obrigado.
Responder1
A seguir usei o mesmo formato para todas as colunas, o que significa que há supérfluos em torno de números mais curtos como o 3
. Se quiser ainda mais próximos, ajuste o formato de cada coluna individualmente.
O formato atual 1.2e-1
significa
1
dígito na frente do sinal decimal2
dígitos atrás do sinal decimale
precisa de espaço-
precisa de espaço1
dígito no expoente
ComoMico sugeriunos comentários: Para obter um espaçamento ainda menor você pode usar tight-spacing=true
como opção da siunitx
embalagem ou na S
coluna.
\documentclass{article}
\usepackage[tight-spacing=true]{siunitx}
\usepackage{lscape}
\begin{document}
\setlength{\tabcolsep}{0.2em}
\begin{landscape}
\centering
\begin{tabular}{
c|
*{10}{S[table-format=1.2e-1]|}
}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
\end{landscape}
\end{document}
Responder2
Também podemos brincar com diferentes formatos de números: alguns têm expoente negativo, outros não. Se o conteúdo de cada célula for representativo de sua coluna, isso leva à segunda tabela:
\documentclass{article}
\usepackage{siunitx}
\usepackage{lscape}
\begin{document}
\begin{landscape}
\centering
\setlength{\tabcolsep}{4pt}
\sisetup{table-format=1.2e-1,table-number-alignment=center}
\begin{tabular}{|l |*{10}{S|}}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
\vspace*{1cm}
\begin{tabular}{|l|S[table-format =1.2e1]|*{2}{S|}*{3}{S[table-format =1.2e1]|}*{2}{S|}*{2}{S[table-format =1.2e1]|}}
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 & 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular}
\end{landscape}
\end{document}
Responder3
Aqui vai mais uma sugestão: (a) Empregue um tabular*
ambiente (com largura alvo de \textwidth
), (b) defina as opções tight-spacing
e exponent-product={\mkern1mu\cdot}
(para economizar espaço), (c) livre-se de todas as regras verticais (ainda para economizar espaço), e (d) usar a table-format
opção para especificar a formatação de largura mínima para cada coluna.
Com esta configuração, pode não ser necessário alternar para o modo paisagem para compor a tabela.
\documentclass{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{array,siunitx}
\newcolumntype{T}[1]{S[tight-spacing,
exponent-product={\mkern1mu\cdot},
table-format=1.2e#1]}
\begin{document}
\begingroup % localize the scope of the next instruction
\setlength{\tabcolsep}{0pt}
\noindent
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
l T{1} *{2}{T{-1}} *{3}{T{1}} *{2}{T{-1}} *{2}{T{1}} }
3 & 3.20E+01 & 3.13E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05
& 1.50E+01 & 6.67E-02 & 1.25E-01 & 3.75E+08 & 5.07E+05 \\
\end{tabular*}
\endgroup
\end{document}