表の幅をテキスト列の幅に合わせる

表の幅をテキスト列の幅に合わせる

簡単な問題のように思えますが、私は LaTeX の初心者で、このフォーラムで見つけたいくつかの QA を使っても解決策が見つかりません。助けていただけないでしょうか? 画像が示すように、テーブルはテキスト列よりも幅が広く、他の列と衝突しています。テーブル内のテキストが長すぎることは理解していますが、異なるパッケージを使用せずに、テーブルをテキストと同じ幅に強制し、同じテーブル行でテキストを 2 行に折り返す簡単な方法はありますか?ここに画像の説明を入力してください

\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}

答え1

別のパッケージがなければ、これを自動的に行う方法がわかりません(ただし、不足しているパッケージを追加しましたブックタブ\topruleおよびを使用するには、\midruleコードから を削除する必要があります。

列指定を使用して、最後の列に幅を与えることができますp{<length>}。長さの値は試行錯誤して見つける必要があります(このコードでは、サイズを2cmから拡大して、オーバーフルhbox警告。この特定の例では、値 では警告が表示されました2.5cmが、値 では警告が表示されませんでした2.49cm

私は削除しましたハイキャップパッケージはここでは関係ありませんが、追加されましたリプサムページにテキストを入力するため。

letterpaperこのコードでは、ドキュメント クラスに用紙の形式も明示的に追加しました。これは、type 列に使用する値がページの幅によって異なり、一部のヨーロッパのユーザーにとっては、用紙の形式が明示的に指定されていない場合の形式がpデフォルトとなるためです。a4paper

\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}

元の{c|c|c|l}表形式の仕様: ここに画像の説明を入力してください

表形式の仕様では{c|c|c|p{2.49cm}}、次のようになります。 ここに画像の説明を入力してください

答え2

  • TeX:SE へようこそ!
  • 次回は、コードフラグメントの代わりにMWE(Minimal Working Example)を提供してください。今度は、ドキュメントクラスと(それによって)定義されたページレイアウトについて推測する必要がありました。どちらも表の書式設定に影響します。
  • あなたのテーブルでは、tabularrayライブラリ/パッケージを含むパッケージをemploxしbooktabs、次の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}

ここに画像の説明を入力してください

関連情報