Межстрочный интервал в таблице без использования закладок

Межстрочный интервал в таблице без использования закладок

У меня проблема с таблицей, которую я пытаюсь сделать. Вот код, который у меня сейчас есть:

\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}), но это портит вертикальное центрирование текста в ячейке, так как это только добавляет пространство поверх текста. Есть ли способ исправить эту проблему?

Примечание: Я не могу использовать booktabs, потому что таблица, которую я рисую, должна иметь вертикальные линии. Она должна выглядеть так:

Сделано в Word, шрифт и интервалы не совсем те, что мне нужны. Вот что у меня сейчас есть: введите описание изображения здесь

(Сделано в Word, шрифт и интервалы не совсем те, что мне нужны)

решение1

Сделайте себе одолжение инеredefine \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, я вношу следующие изменения в приведенное выше решение:

  • Используйте amsmathпакет для команды \dfrac, на которую заменяется ваше определение для использования \displaystyleв дробях.
  • убрать определение для \l, \r, лучше написать \leftи right.
  • чтобы сделать третью и четвертую строки одинаковой высоты, \vphantom{-}к дроби в третьих строках прибавляется . С его высотой дроби в нижних строках становятся одинаковой высоты.

Новый МВЭ:

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

Связанный контент