
parece um problema fácil, mas sou realmente um novato no LaTeX e não consigo encontrar uma solução, mesmo com alguns controles de qualidade neste fórum que encontrei. Você pode por favor ajudar? Como mostra a imagem, a tabela é mais larga que a coluna de texto e colide com a outra coluna. Entendo que o texto da tabela é muito longo, mas existe uma maneira simples de forçar a tabela a ter a mesma largura do texto e quebrar o texto em duas linhas na mesma linha da tabela sem usar pacotes diferentes?
\usepackage[table]{hypcap}
\begin{table}[ht]
\centering
\renewcommand{\arraystretch}{1.8}
\begin{tabular}{c|c|c|l}
Parameter & Value & Units & Description\\
\toprule \midrule
E & 200 & GPa & Young's modulus\\
$f_{c}$ & 30 & MPa & Ultimate compressive strength\\
$\varepsilon_{t0}$ & 805 $\cdot 10^{-4}$ & - & Initial threshold of damage for $\varepsilon_t$\\
\hline
\end{tabular}
\caption{a}
\end{table}
Responder1
Sem um pacote diferente, não sei como fazer isso automaticamente (mas adicionei o pacote que faltavaguias de livrosdo seu código para usar o \toprule
e \midrule
do seu código).
Você pode usar a p{<length>}
especificação da coluna para dar uma largura à sua última coluna. Você precisa encontrar o valor do comprimento com tentativas e erros (neste código, ampliei o tamanho de 2cm até obter umhbox lotadoaviso; neste exemplo específico, recebi um aviso com o valor 2.5cm
, mas não com o valor 2.49cm
).
Eu removi ohipcappacote, não relevante aqui, e adicionadolábiospara preencher a página com texto.
Neste código, também adicionei explicitamente o letterpaper
formato de papel na classe de documento, porque o valor a usar para a p
coluna de tipo depende da largura da página e, por padrão, para alguns usuários europeus, é o a4paper
formato quando nenhum formato de papel é dado explicitamente.
\documentclass[10pt,twocolumn]{article}
\usepackage{lipsum}
\usepackage{booktabs}
\begin{document}
\lipsum[1-7]
\begin{table}[ht]
\centering
\renewcommand{\arraystretch}{1.8}
\begin{tabular}{c|c|c|p{2.49cm}}
Parameter & Value & Units & Description\\
\toprule \midrule
E & 200 & GPa & Young's modulus\\
$f_{c}$ & 30 & MPa & Ultimate compressive strength\\
$\varepsilon_{t0}$ & 805 $\cdot 10^{-4}$ & - & Initial threshold of damage for $\varepsilon_t$\\
\hline
\end{tabular}
\caption{a}
\end{table}
\lipsum[8-14]
\end{document}
Responder2
- Bem-vindo ao TeX:SE!
- Por favor, da próxima vez, em vez disso, forneça um fragmento de código MWE (Exemplo Mínimo de Trabalho). Agora tivemos que adivinhar a classe do documento e (por meio dela) definir o layout da página. Ambos influenciam na formatação da tabela
- Para sua tabela , eu usaria
tabularray
o pacote com bibliotecas/pacotesbooktabs
e :siunitx
ragged2e
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{ragged2e}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, siunitx}
\begin{document}
\lipsum[1]
\begin{table}[ht]
\begin{tblr}{
colsep=3pt,
colspec={@{} c Q[c,si={table-format=3.0}] Q[c,si] X[j, appto=\RaggedRight] @{}},
cell{3-Z}{1} = {mode=math},
cell{1,Z}{2,3} = {guard}
}
\toprule
Parameter & Value & Units & Description\\
\midrule
E & 200 & \unit{\giga\pascal}
& Young's modulus\\
f_{c} & 30 & \unit{\mega\pascal}
& Ultimate compressive strength\\
\varepsilon_{t_0}
& \num{805E-4}
& -- & Initial threshold of damage for $\varepsilon_t$ \\
\bottomrule
\end{tblr}
\caption{a}
\label{tab:?}
\end{table}
\lipsum[2-6]
\end{document}