내가하려고하는 테이블에 문제가 있습니다. 현재 내가 가지고 있는 코드는 다음과 같습니다.
\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)
.
왜 \left
및를 사용하지 않습니까 \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{-}
세 번째 행의 분수에 를 더합니다. 이를 사용하면 하단 행의 분수 높이가 동일해집니다.
새로운 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
아래의 첫 번째 솔루션이 작동할 것입니다. 4개 열의 너비가 모두 같고 4개 행의 높이가 모두 동일하기 때문입니다. 그러나 내 생각에는 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}