
scheint ein einfaches Problem zu sein, aber ich bin ein echter LaTeX-Neuling und kann trotz einiger Fragen und Antworten in diesem Forum, die ich gefunden habe, keine Lösung finden. Können Sie mir bitte helfen? Wie das Bild zeigt, ist die Tabelle breiter als die Textspalte und kollidiert mit der anderen Spalte. Ich verstehe, dass der Text in der Tabelle zu lang ist, aber gibt es eine einfache Möglichkeit, die Tabelle auf die gleiche Breite wie den Text zu bringen und den Text in zwei Zeilen in derselben Tabellenzeile umzubrechen, ohne unterschiedliche Pakete zu verwenden?
\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}
Antwort1
Ohne ein anderes Paket weiß ich nicht, wie ich das automatisch machen kann (aber ich habe das fehlende Paket hinzugefügtBuchtabsaus Ihrem Code, um \toprule
und \midrule
aus Ihrem Code zu verwenden).
Sie können die Spaltenspezifikation verwenden, p{<length>}
um Ihrer letzten Spalte eine Breite zu geben. Sie müssen den Wert für die Länge durch Ausprobieren herausfinden (in diesem Code habe ich die Größe von 2 cm erweitert, bis ich eineübervolle HboxWarnung; in diesem speziellen Beispiel habe ich eine Warnung mit dem Wert erhalten 2.5cm
, aber nicht mit dem Wert 2.49cm
).
Ich habe das entfernthypcapPaket, hier nicht relevant, und hinzugefügtLippenzum Füllen der Seite mit Text.
In diesem Code habe ich auch explizit das letterpaper
Papierformat in der Dokumentklasse hinzugefügt, da der für die Typspalte zu verwendende Wert p
von der Seitenbreite abhängt und dies für einige europäische Benutzer standardmäßig das a4paper
Format ist, wenn kein Papierformat explizit angegeben ist.
\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}
Mit der ursprünglichen {c|c|c|l}
tabellarischen Spezifikation:
Antwort2
- Willkommen bei TeX:SE!
- Bitte geben Sie nächstes Mal statt des Codefragments MWE (Minimal Working Example) an. Jetzt mussten wir über die Dokumentklasse und das (dadurch definierte) Seitenlayout raten. Beides beeinflusst die Tabellenformatierung
tabularray
Für Ihre Tabelle würde ich das Paket mit Bibliotheken/Paketen verwendenbooktabs
,siunitx
undragged2e
:
\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}