ブックタブを使わない表の行間隔

ブックタブを使わない表の行間隔

作成しようとしているテーブルに問題があります。現在使用しているコードは次のとおりです:

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}

\renewcommand{\l}{\left}
\renewcommand{\r}{\right}
\renewcommand{\d}{\displaystyle}
\newcommand{\virg}{\:,\:}

\renewcommand{\arraystretch}{2}
\usepackage{multirow}

\begin{document}

\begin{center}
\begin{tabular}{cc|c|c|}
\cline{3-4}
 &  & \multicolumn{2}{c|}{Individu 1} \\ \cline{3-4} 
 &  & Colombe & Faucun \\ \hline
\multicolumn{1}{|c|}{\multirow{2}{*}{Individu 2}} & Colombe & \(\d\l(\frac{g}{2} \virg \frac{g}{2}\r)\) & \((g \virg 0)\) \\ \cline{2-4} 
\multicolumn{1}{|c|}{} & Faucon  & \((0 \virg g)\) & \(\d\l(\frac{g-c}{2} \virg \frac{g-c}{2}\r)\) \\ \hline
\end{tabular}
\end{center}

\end{document}

私が求めているのは、分数を含む表です。しかし、線が細すぎるため、分数が線の上と下で線に触れてしまいます。

配列ストレッチを 2 に調整しようとしましたが ( を使用\renewcommand{\arraystretch}{2})、テキストの上にスペースが追加されるだけなので、セル内のテキストの垂直方向の中央揃えがおかしくなります。この問題を修正する方法はありますか?

注: 描画する表には垂直線が必要なので、ブックタブは使用できません。次のようになります。

Word で作成したフォントと間隔は、まさに私が必要としているものではありません。現在、次のものがあります: ここに画像の説明を入力してください

(Word で作成しましたが、フォントと間隔が私の希望どおりではありません)

答え1

自分に恩恵を与えてしない\l\rおよびを再定義します\d。これらは便利なショートカットかもしれませんが、これらのコマンドの標準的な意味 (アクセントに関係するもの) が必要な場合は、非常に困ることになります。

幅の設定はワイドペアの幅に基づいて行うことができますが、適切な幅を推測するには少し時間がかかります。

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}

\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{multirow,array}

%\usepackage{xparse} % not needed with LaTeX 2020-10-01 or later

\NewDocumentCommand{\pair}{s O{} >{\SplitArgument{1}{,}}m }{%
  \IfBooleanTF{#1}
    {\left(\makepair#3\right)}
    {\mathopen{#2(}\makepair#3\mathclose{#2)}}%
}
\NewDocumentCommand{\makepair}{ m m }{%
  #1\mspace{4mu}{,}\mspace{4mu}#2%
}

\newcommand{\adj}[1]{\ensuremath{\vphantom{#1|}}\ignorespaces}

\begin{document}

\begin{center}
\begin{tabular}{|c|c|w{c}{7em}|w{c}{7em}|}
\cline{3-4}
\multicolumn{2}{c|}{\adj{\Big}} & \multicolumn{2}{c|}{Individu 1} \\
\cline{3-4} 
\multicolumn{2}{c|}{\adj{\Big}} & Colombe & Faucon \\
\hline
\multirow{3}{*}{Individu 2}
& \adj{\bigg} Colombe & \(\pair[\Big]{\dfrac{g}{2},\dfrac{g}{2}}\) & \(\pair{g,0}\) \\
\cline{2-4}
& \adj{\bigg} Faucon  & \(\pair{0,g}\) & \(\pair[\Big]{\dfrac{g-c}{2},\dfrac{g-c}{2}}\) \\
\hline
\end{tabular}
\end{center}

\end{document}

とは何ですか\adj{\Big}? は のような支柱を追加します\Big|。大きなペアの行では、\adj{\bigg}括弧がすでに であるため、を使用しました\Big

\pair{x,y}よりも簡単な構文にも注意してください(x\virg y)

\leftなぜand を使わないのでしょうか\right?出力をよく見てみると、上段と下段の大きな括弧の大きさが違う信じられないかもしれませんが、その理由は一番下の行にマイナス記号があるからです。

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


別の提案です。

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}

\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{amsmath}
\usepackage{booktabs,array}

%\usepackage{xparse} % not needed with LaTeX 2020-10-01 or later

\NewDocumentCommand{\pair}{s O{} >{\SplitArgument{1}{,}}m }{%
  \IfBooleanTF{#1}
    {\left(\makepair#3\right)}
    {\mathopen{#2(}\makepair#3\mathclose{#2)}}%
}
\NewDocumentCommand{\makepair}{ m m }{%
  #1\mspace{4mu}{,}\mspace{4mu}#2%
}

\begin{document}

\begin{center}
\begin{tabular}{c w{c}{7em} w{c}{7em}}
\toprule
Individu 2 & \multicolumn{2}{c}{Individu 1} \\
\cmidrule(lr){2-3}
& Colombe & Faucon \\
\midrule
Colombe & \(\pair[\Big]{\dfrac{g}{2},\dfrac{g}{2}}\) & \(\pair{g,0}\) \\
\addlinespace
Faucon  & \(\pair{0,g}\) & \(\pair[\Big]{\dfrac{g-c}{2},\dfrac{g-c}{2}}\) \\
\bottomrule
\end{tabular}
\end{center}

\end{document}

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

答え2

このような?

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

\makegapedcells1 つの方法は、パッケージで定義されている命令を使用してmakecell、セルの内容の上下に垂直方向のスペースを追加することです。

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}

\renewcommand{\l}{\left}
\renewcommand{\r}{\right}
\renewcommand{\d}{\displaystyle}
\newcommand{\virg}{\:,\:}

\renewcommand{\arraystretch}{2}
\usepackage{makecell, multirow}

\begin{document}

\begin{center}
\setcellgapes{5pt}
\makegapedcells
\begin{tabular}{cc|c|c|}
\cline{3-4}
 &  & \multicolumn{2}{c|}{Individu 1} \\ \cline{3-4}
 &  & Colombe & Faucun \\ \hline
\multicolumn{1}{|c|}{\multirow{2}{*}{Individu 2}} & Colombe & \(\d\l(\frac{g}{2} \virg \frac{g}{2}\r)\) & \((g \virg 0)\) \\ \cline{2-4}
\multicolumn{1}{|c|}{} & Faucon  & \((0 \virg g)\) & \(\d\l(\frac{g-c}{2} \virg \frac{g-c}{2}\r)\) \\ \hline
\end{tabular}
\end{center}

\end{document}

補遺: @Mico のコメントを考慮して、上記のソリューションに次の変更を加えます。

  • amsmathコマンドのパッケージを使用します。これにより、分数で\dfrac使用する定義が置き換えられます。\displaystyle
  • \l、の定義を削除して、および と\r記述する方が適切です。\leftright
  • 3 行目と 4 行目の高さを等しくするには、\vphantom{-}3 行目の分数に を追加します。これにより、2 行目の分数の高さが等しくなります。

新しい MWE:

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}

\usepackage{amsmath}
\newcommand{\virg}{\:,\:}
\usepackage{makecell, multirow}

\begin{document}

\begin{center}
\setcellgapes{5pt}
\makegapedcells
\begin{tabular}{cc|c|c|}
    \cline{3-4}
    &           & \multicolumn{2}{c|}{Individu 1}   \\ \cline{3-4}
    &           & Colombe   & Faucun \\ \hline
\multicolumn{1}{|c|}{\multirow{4}{*}{Individu 2}} 
    & Colombe   & \(\left(\dfrac{g}{2}\virg\dfrac{g\vphantom{-}}{2}\right)\) 
                            & \((g\virg0)\)         \\ \cline{2-4}
\multicolumn{1}{|c|}{} 
    & Faucon    & \((0\ ,\ g)\) 
                            & \(\left(\dfrac{g-c}{2}\virg\dfrac{g-c}{2}\right)\) \\ \hline
\end{tabular}
\end{center}

\end{document}

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

答え3

この問題に対する最適なツールはcellspace最小限文字で始まる指定子を持つ列内のセルの上部と下部の垂直間隔S(またはCをロードする場合siunitx):

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}
\usepackage{amsmath} 
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{5pt}
\setlength{\cellspacebottomlimit}{5pt}
\renewcommand{\l}{\left}
\renewcommand{\r}{\right}
\renewcommand{\d}{\displaystyle}
\newcommand{\virg}{\:,\:}

\renewcommand{\arraystretch}{2}
\usepackage{multirow}

\begin{document}

\begin{center}
\begin{tabular}{cc|Sc|Sc|}
\cline{3-4}
 & & \multicolumn{2}{c|}{Individu 1} \\ \cline{3-4}
 & & Colombe & Faucun \\ \hline
\multicolumn{1}{|c|}{\multirow{2}{*}{Individu 2}} & Colombe & \(\Bigl(\dfrac{g}{2} \virg \dfrac{g}{2}\Bigr)\) & \((g \virg 0)\) \\ \cline{2-4}
\multicolumn{1}{|c|}{} & Faucon & \((0 \virg g)\) & \(\Bigl(\dfrac{g-c}{2} \virg \dfrac{g-c}{2}\Bigr)\) \\ \hline
\end{tabular}
\end{center}

\end{document}

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

答え4

要件を正しく理解していれば、4 つの列の幅がすべて同じで、4 つの行の高さがすべて同じなので、以下の最初のソリューションが機能するはずです。ただし、以下の 2 番目のソリューションの方が (さらに) 優れているtabularと思います。tabular

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

\documentclass[12pt,letterpaper,french]{extarticle}
\usepackage[margin=.75in]{geometry}
\usepackage{multirow,array,babel,amsmath}
\newcommand\myfrac{\Bigl( \frac{g-c}{2}, \frac{g-c}{2} \Bigr)}
\newlength\mylen
\settowidth\mylen{$\displaystyle\myfrac$}
\newcolumntype{C}{>{$\displaystyle}w{c}{\mylen}<{$}}
\newcommand\tallstrut{\vphantom{\biggl|}} % typographic struts
\newcommand\shortstrut{\smash[b]{\vphantom{\Bigl|}}}

\begin{document}
\begin{table}
\centering

\begin{tabular}{|w{c}{\mylen}|w{c}{\mylen}|C|C|}
\cline{3-4}
\multicolumn{1}{c}{} & & \multicolumn{2}{c|}{Individu 1$\tallstrut$} \\
\cline{3-4}
\multicolumn{1}{c}{} & & $Colombe$\tallstrut & $Faucon$\tallstrut \\
\hline
\multirow{3}{*}{Individu 2} 
  & Colombe & \Bigl( \frac{g}{2}, \frac{g}{2} \Bigr)\tallstrut & (g,0) \\
\cline{2-4}
  & Faucon & (0,g)\tallstrut & \myfrac \\
\hline
\end{tabular}

\bigskip\bigskip

\begin{tabular}{|c|c|C|C|}
\cline{3-4}
\multicolumn{1}{c}{} & & \multicolumn{2}{c|}{Individu 1$\shortstrut$} \\
\cline{3-4}
\multicolumn{1}{c}{} & & $Colombe$\shortstrut & $Faucon$ \\
\hline
\multirow{3}{*}{Individu 2} 
  & Colombe & \Bigl( \frac{g}{2}, \frac{g}{2} \Bigr)\tallstrut & (g,0) \\
\cline{2-4}
  & Faucon & (0,g)\tallstrut & \myfrac \\
\hline
\end{tabular}

\end{table}
\end{document}

関連情報