Tabellenbreite auf Textspaltenbreite erzwingen

Tabellenbreite auf Textspaltenbreite erzwingen

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?Bildbeschreibung hier eingeben

\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 \topruleund \midruleaus 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 letterpaperPapierformat in der Dokumentklasse hinzugefügt, da der für die Typspalte zu verwendende Wert pvon der Seitenbreite abhängt und dies für einige europäische Benutzer standardmäßig das a4paperFormat 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: Bildbeschreibung hier eingeben

Mit der {c|c|c|p{2.49cm}}tabellarischen Angabe: Bildbeschreibung hier eingeben

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
  • tabularrayFür Ihre Tabelle würde ich das Paket mit Bibliotheken/Paketen verwenden booktabs, siunitxund 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}

Bildbeschreibung hier eingeben

verwandte Informationen