세련된 사각형 셀 테이블

세련된 사각형 셀 테이블

아래 그림과 같이 표를 그릴 수 있습니까? 테이블에는 사각형 셀이 있어야 하며 테두리에 표기가 있어야 합니다.

Easytable 패키지의 TAB 환경을 사용하여 정사각형 셀 테이블을 만들 수 있다는 것을 알고 있지만 상단 테두리 위에 표기법을 넣는 방법을 모르겠습니다. 그림 2에서는 다중 열 명령을 사용하고 싶지만 TAB 환경에서는 작동하지 않습니다. 아니면 동일한 결과를 얻을 수 있는 또 다른 간단한 접근 방식이 있을까요?

이 링크에서 제안한 대로 Easytable 패키지에는 TAB에 대한 대안이 있습니다.http://www.tug.org/pracjourn/2005-2/robertson/, 그러나 표기법을 삽입할 수 없으며 다중 열 명령이 작동하지 않습니다. 저는 XeLaTeX를 사용합니다.

정사각형 셀과 수직 및 수평 테두리를 따라 표기된 표입니다.

답변1

솔루션 아이디어

여기에 제공된 솔루션에는 패키지나 이와 유사한 것이 없습니다. 패키지 사용을 시작하기 전에 이러한 솔루션을 선택하는 것이 좋습니다. 당신은 당신이 무엇을하고 있는지 알아야합니다.

(사각형 셀 기술을 사용하는 솔루션은 이 게시물의 끝 부분을 참조하세요.귀하가 제공한 링크.)

  1. 첫 번째 테이블에는 실제로 4개의 열이 포함되어 있습니다. 하나는 오른쪽에 규칙이 있고 그 다음에는 세 개의 규칙이 있습니다.

  2. 테두리를 따라 표시된 표기는 실제로 표의 일부입니다. 여기에는 특별한 유형의 세포가 사용됩니다. 다음 두 가지 열거를 참조하세요.

  3. 상단의 표기법에는 를 사용합니다 \multicolumn. 셀은 한 열에 걸쳐 있고 내용이 가운데에 있으며 테두리가 없습니다( \multicolumn{1}{c}). 우리는 매크로( \mca)를 여러 번 사용하므로 정의합니다.

  4. 왼쪽의 표기법에는 다시 를 사용합니다 \multicolumn. 셀은 한 열에 걸쳐 있고 내용이 가운데에 있으며 오른쪽에 테두리( \multicolumn{1}{c|})가 있습니다. 다시 한번 매크로( \mcb)를 여러 번 사용하므로 정의합니다.

  5. \cline첫 번째 테이블의 2열에서 4열까지 수평선을 확장하는 데 사용합니다 .

  6. 두 번째 테이블은 3개의 열이 있는 더 간단한 테이블입니다. 우리는 \mca이것에도 매크로를 재사용합니다 .

  7. 행 높이를 조정 \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}

여기에 이미지 설명을 입력하세요

관련 정보