不使用製表符的表格中的行距

不使用製表符的表格中的行距

我正在嘗試做的表有問題。這是我目前擁有的程式碼:

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

我想要的結果是一個包含分數的表格。但線條太窄,分數觸及頂部和底部的線條。

我嘗試將 arraystretch 調整為 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)

為什麼不使用\leftand \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

像這樣?

在此輸入影像描述

\makegapedcells一種方法是使用套件中定義的指令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評論,我對上述解決方案進行了以下更改:

  • 使用amsmathpackage for command \dfrac,將其替換為\displaystyle分數的定義。
  • \l去掉,的定義\r,最好寫成\leftright
  • 為了使第三行和第四行的高度相等,將\vphantom{-}與第三行中的分數相加。有了它,機器人行中的分數高度變得相等。

新的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

如果我正確理解您的要求,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}

相關內容