
아래 그림과 같이 표를 그릴 수 있습니까? 테이블에는 사각형 셀이 있어야 하며 테두리에 표기가 있어야 합니다.
Easytable 패키지의 TAB 환경을 사용하여 정사각형 셀 테이블을 만들 수 있다는 것을 알고 있지만 상단 테두리 위에 표기법을 넣는 방법을 모르겠습니다. 그림 2에서는 다중 열 명령을 사용하고 싶지만 TAB 환경에서는 작동하지 않습니다. 아니면 동일한 결과를 얻을 수 있는 또 다른 간단한 접근 방식이 있을까요?
이 링크에서 제안한 대로 Easytable 패키지에는 TAB에 대한 대안이 있습니다.http://www.tug.org/pracjourn/2005-2/robertson/, 그러나 표기법을 삽입할 수 없으며 다중 열 명령이 작동하지 않습니다. 저는 XeLaTeX를 사용합니다.
답변1
솔루션 아이디어
여기에 제공된 솔루션에는 패키지나 이와 유사한 것이 없습니다. 패키지 사용을 시작하기 전에 이러한 솔루션을 선택하는 것이 좋습니다. 당신은 당신이 무엇을하고 있는지 알아야합니다.
(사각형 셀 기술을 사용하는 솔루션은 이 게시물의 끝 부분을 참조하세요.귀하가 제공한 링크.)
첫 번째 테이블에는 실제로 4개의 열이 포함되어 있습니다. 하나는 오른쪽에 규칙이 있고 그 다음에는 세 개의 규칙이 있습니다.
테두리를 따라 표시된 표기는 실제로 표의 일부입니다. 여기에는 특별한 유형의 세포가 사용됩니다. 다음 두 가지 열거를 참조하세요.
상단의 표기법에는 를 사용합니다
\multicolumn
. 셀은 한 열에 걸쳐 있고 내용이 가운데에 있으며 테두리가 없습니다(\multicolumn{1}{c}
). 우리는 매크로(\mca
)를 여러 번 사용하므로 정의합니다.왼쪽의 표기법에는 다시 를 사용합니다
\multicolumn
. 셀은 한 열에 걸쳐 있고 내용이 가운데에 있으며 오른쪽에 테두리(\multicolumn{1}{c|}
)가 있습니다. 다시 한번 매크로(\mcb
)를 여러 번 사용하므로 정의합니다.\cline
첫 번째 테이블의 2열에서 4열까지 수평선을 확장하는 데 사용합니다 .두 번째 테이블은 3개의 열이 있는 더 간단한 테이블입니다. 우리는
\mca
이것에도 매크로를 재사용합니다 .행 높이를 조정
\arraystretch
하여 요청한 대로 정사각형 셀을 얻습니다.
나는 당신이 이 테이블을 안에 넣는 방법을 알고 있다고 확신합니다.플로트 환경.
코드
\documentclass{article}
\begin{document}
\def\mca#1{\multicolumn{1}{c}{#1}}
\def\mcb#1{\multicolumn{1}{c|}{#1}}
\renewcommand{\arraystretch}{2.25}
\begin{tabular}{c|c|c|c|}
\mca{} & \mca1 & \mca2 & \mca3 \\\cline{2-4}
\mcb1 & AB & BC & DA \\\cline{2-4}
\mcb2 & EF & GH & IJ \\\cline{2-4}
\mcb{C} & KL & MN & OP \\\cline{2-4}
\end{tabular}
\bigskip
\renewcommand{\arraystretch}{2.0}
\begin{tabular}{|c|c|c|}
\mca{3 bit} & \mca{1-2 bits} & \mca{0 bit} \\\hline
1 & 10 & 1 \\\hline
\end{tabular}
\end{document}
출력
솔루션을 사용하여귀하가 제공한 링크
제공된 링크의 기술을 사용하려는 경우 첫 번째 테이블에 대한 대체 솔루션은 다음과 같습니다. 이것은 링크의 정사각형 셀 기술을 사용합니다.
\documentclass{article}
\usepackage{calc}
\usepackage{array}
\newlength\celldim
\setlength\celldim{3em}
\newlength\fontheight
\settoheight\fontheight{A}
\newlength\extraheight
\setlength\extraheight{\celldim - \fontheight}
\makeatletter
\newcolumntype{S}
{ @{}
>{\centering\arraybackslash}
p{\celldim}
<{\rule[-0.5\extraheight]{0pt}%
{\fontheight + \extraheight}}
@{} }
\makeatother
\begin{document}
\def\mca#1{\multicolumn{1}{c}{#1}}
\def\mcb#1{\multicolumn{1}{c|}{#1}}
\begin{tabular}{c|S|S|S|}
\mca{} & \mca1 & \mca2 & \mca3 \\\cline{2-4}
\mcb1 & AB & BC & DA \\\cline{2-4}
\mcb2 & EF & GH & IJ \\\cline{2-4}
\mcb{C} & KL & MN & OP \\\cline{2-4}
\end{tabular}
\end{document}
두 번째 출력
답변2
테이블 형식 환경을 중첩할 수 있습니다. 모든 셀의 크기는 2cm x 2cm입니다.
\documentclass[border=20pt]{standalone}
\usepackage{array}
\usepackage[thinlines]{easytable}
\newcommand\ML[1]{\llap{#1\quad}}
\begin{document}
\huge
\begin{tabular}{c}
\begin{TAB}(e,2cm,2cm){ccc}{ccc}
1 & 2 & 3
\end{TAB}\\[-\normalbaselineskip]
\begin{TAB}(e,2cm,2cm){|c|c|c|}{|c|c|c|}
\ML{1}AB & BC & DA \\
\ML{2}EF & GH & IJ \\
\ML{C}KL & MN & OP \\
\end{TAB}
\end{tabular}
\end{document}