表の書式設定 - 幅

表の書式設定 - 幅

さて、私は Latex のテーブルで問題を抱えています。すでに出回っている質問の中から解決策を見つけようとしましたが、理解できず、動作させることもできませんでした。これが私のテーブル コードです:

    \begin{table}[ht]
    \caption{Model Input Information: Materials}
    \centering
    \begin{tabular}{c c c}
    \toprule
    Available Materials & Material Input Parameters & Description \\
    \midrule
        Fused Silica (delta eV = 9) & alpha & Avalanche Coefficient [\si{\cm\squared\per\joule}] \\
        Fused Silica (delta eV = 7.5) & delta eV & Material Band Gap [\si{\electronvolt}] \\
        \ce{GaAs} & me & Effective Electron Mass [\si{\kilogram}] \\
        \ce{ZnSe} & n0 & Linear Refractive Index \\
        \ce{Ge} & n2 & Non-Linear Refractive Index \\
        \ce{HfO_2} & T & Effective Decay Constant [fs] \\
        \ce{TiO_2} & & \\
        \ce{Ta_2O_5} & & \\
        \ce{Al_2O_3} & & \\
        \ce{SiO_2} & & \\
    \bottomrule
    \end{tabular}
    \label{table:MaterialInputs}
    \end{table}

表は見栄えは良いのですが、右に広がりすぎて、ページの端に近づいています。これを修正する方法が必要です。 tabular コマンド内で p を使用して手動で幅を設定しようとしましたが、テキストを折り返すときの動作が気に入りません。単語を 1 行下に移動するのではなく、単語にハイフンを作成します。

ご提案があればぜひお聞かせください。

答え1

これは、不規則な設定の固定幅の列を示しています。

\documentclass{article}

\usepackage{array,mhchem,booktabs,siunitx}% please don't leave it to people to guess these

\begin{document}

    \begin{table}[htp]% don't forget p
    \caption{Model Input Information: Materials}
    \centering
    \begin{tabular}{
 >{\raggedright\arraybackslash}p{4cm}
 c
 >{\raggedright\arraybackslash}p{2.5cm}}
    \toprule
    Available Materials & Material Input Parameters & Description \\
    \midrule
        Fused Silica (delta eV = 9) & alpha & Avalanche Coefficient [\si{\cm\squared\per\joule}] \\
        Fused Silica (delta eV = 7.5) & delta eV & Material Band Gap [\si{\electronvolt}] \\
        \ce{GaAs} & me & Effective Electron Mass [\si{\kilogram}] \\
        \ce{ZnSe} & n0 & Linear Refractive Index \\
        \ce{Ge} & n2 & Non-Linear Refractive Index \\
        \ce{HfO_2} & T & Effective Decay Constant [fs] \\
        \ce{TiO_2} & & \\
        \ce{Ta_2O_5} & & \\
        \ce{Al_2O_3} & & \\
        \ce{SiO_2} & & \\
    \bottomrule
    \end{tabular}
    \label{table:MaterialInputs}
    \end{table}

\end{document}

答え2

パッケージを使用できますmakecell。これにより、セル内の行を変更したり、列見出しのコマンドを定義したり、通常は狭すぎる行の垂直間隔を拡大したりできます。また、パッケージを追加してcaption、キャプションとテーブル間の垂直間隔も拡大しました。

        \documentclass[a4paper,10pt]{article}
        \usepackage[utf8]{inputenc}
        \usepackage[T1]{fontenc}
        \usepackage{lmodern}
        \usepackage{array, booktabs}
        \usepackage{siunitx}
        \usepackage{makecell}
        \usepackage{caption}
        \def\ce#1{\ensuremath{\mathrm{#1}}}

        \begin{document}

        \begin{table}[ht]
        \caption{Model Input Information: Materials}
        \centering
        \renewcommand{\theadfont}{\normalsize\bfseries}
        \begin{tabular}{ccc}
        \toprule
        \thead{Available Materials} & \thead{Material Input Parameters} & \thead{Description} \\
        \midrule
            \makecell*{Fused Silica\\ (delta eV = 9)} & alpha & \makecell{Avalanche Coefficient\\{ [\si{\cm\squared\per\joule}]}} \\
            \makecell*{Fused Silica\\ (delta eV = 7.5)} & delta eV & \makecell{Material Band Gap\\{[\si{\electronvolt}]}} \\
            \makecell*{\ce{GaAs}} & me & Effective Electron Mass [\si{\kilogram}]\\
            \makecell*{\ce{ZnSe}} & n0 & Linear Refractive Index \\
            \makecell*{\ce{Ge}} & n2 & Non-Linear Refractive Index \\
            \makecell*{\ce{HfO_2}} & T & Effective Decay Constant [fs] \\
            \makecell*{\ce{TiO_2}} & & \\
            \makecell*{\ce{Ta_2O_5}} & & \\
            \makecell*{\ce{Al_2O_3}} & & \\
            \makecell*{\ce{SiO_2}} & & \\
        \bottomrule
        \end{tabular}
        \label{table:MaterialInputs}
        \end{table}

        \end{document} 

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

注意: mhchem パッケージがインストールされていないため、実際の化学式に似せるために \ce コマンドを再定義しました。

関連情報