Torne o tabularx mais largo que os valores textwidth .pt

Torne o tabularx mais largo que os valores textwidth .pt

eu tenho uma mesa

\begin{table}[ht]
\caption{Caption} 
\label{Lable} \\
\begin{tabularx}{\textwidth}{@{}  LLLL @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
\end{table}

Existe uma maneira de tornar esta tabela um pouco mais larga que a minha textwidth, sem retirá-la do meu fluxo de texto, usando .ptvalores? Não quero que a tabela comece em uma nova página/ocupe uma página inteira depois de defini-la mais larga que o arquivo textwidth.

Responder1

Você precisa envolver o tabularxambiente em um minipageambiente que seja maior \textwidthdo que centralizado ou contornado minipage. A maneira mais simples é usar o adjustboxpacote para isso:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{adjustbox}

\usepackage{lipsum}% only for example text 

\begin{document}
\lipsum

\begin{table}[ht]
\caption{Caption}\label{Lable} 
\begin{adjustbox}{minipage=18cm, center}
\begin{tabularx}{\textwidth}{@{} llll @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
\end{adjustbox}
\end{table}

\lipsum
\end{document}

Observe que mudei os caracteres da coluna de Lpara lporque não tinha a Ldefinição em mãos.

Observação:Se você deseja apenas adicionar algum ptvalor à largura de texto atual, use, por exemplo minipage=\textwidth+20pt,center. Isso adiciona 10 pontos à esquerda e à direita.

Se você quiser que a mesa entre 10 pontos nocertouso apenas de margem minipage=\textwidth+10pt,left.

Se você quiser que a mesa entre 10 pontos noesquerdauso apenas de margem minipage=\textwidth+10pt,right.

insira a descrição da imagem aqui

Responder2

eu suponho...

insira a descrição da imagem aqui

linhas vermelhas indicam o layout da página.

com uso do changepagepacote:

\begin{table}[ht]
    \begin{adjustwidth}{}{-12pt}
\caption{Caption}
\label{Lable}
\begin{tabularx}{\linewidth}{@{}  LLLL @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
    \end{adjustwidth}
\end{table}

ou se você gosta daquela tabela espalhada em ambos os lados do corpo do texto:

insira a descrição da imagem aqui

para isso você só muda

\begin{adjustwidth}{-12pt}{-12pt}

você não fornece um pequeno documento completo, então eu testo a solução acima na minha "tabela testbad", que não pretende mostrar aqui ...

Responder3

Eu seguiria o caminho simples \makebox[\textwidth]{table of \textwidth + xpt},. Isso centralizará automaticamente a tabela, além de aumentar a largura em 0,02 xpt.

\documentclass{article}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{lipsum}% only for example text 
\begin{document}

\lipsum

\begin{table}[ht]
\caption{Caption}\label{Lable} 
\makebox[\textwidth]{%
\begin{tabularx}{\dimexpr\textwidth+50pt}{@{} llll @{}}
\toprule
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
\bottomrule
& 10 & 11 & 12
\end{tabularx}
}
\end{table}

\lipsum

\end{document}

insira a descrição da imagem aqui

Responder4

Se você tiver um tabularx quebrando páginas, você pode carregar o ltablexpacote, que combina longtablee tabularx, para que você possa usar os parâmetros longtable dentro do tabularx:

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{ltablex}
\usepackage{adjustbox}

\usepackage{lipsum}% only for example text

\begin{document}

\lipsum[1-4]
\begingroup
\setlength\LTleft{-40pt}
\setlength\LTright{-40pt}
\keepXColumns
\begin{tabularx}{1.2\textwidth}{@{}*{4}{X}@{}}
\caption{Caption}\label{Lable} \\
\toprule
\endfirsthead
\multicolumn{4}{c}{\tablename~\thetable: Caption (continued)}\smallskip \\
\midrule
\endhead
\midrule
\multicolumn{4}{r@{}}{to be continued}\\
\endfoot
\bottomrule
\endlastfoot
& \textbf{Col 1} & \textbf{Col 2} & \textbf{Col3} \\
\midrule
A & 1 & 2 & 3 \\
B & 4 & 5 & 6 \\
C & 7 & 8 & 9 \\
D & 10 & 11 & 12 \\
E = & 13 & 14 & 15 \\
F = & 16 & 17 & 18 \\
\midrule
T & 51 & 57 & 63
\end{tabularx}
\endgroup

\lipsum[5]

\end{document} 

insira a descrição da imagem aqui

informação relacionada