複雜的方形單元格表

複雜的方形單元格表

是否可以畫出如下圖的表格?表格應有方形單元格和沿邊框的符號。

我知道我可以使用 Easytable 套件中的 TAB 環境來建立方形單元格表格,但我不知道如何在頂部邊框上新增符號。我想對圖 2 使用多列命令,但它在 TAB 環境中不起作用。或者也許還有另一種簡單的方法可以達到相同的目的?

正如此連結所建議的,Easytable 包中有 TAB 的替代方案http://www.tug.org/pracjourn/2005-2/robertson/,但我無法插入任何符號,並且命令 multicolumn 不起作用。我用XeLaTeX。

表格沿著垂直和水平邊框帶有方形單元格和註釋。

答案1

解決方案思路

這裡提供的解決方案沒有任何軟體包或類似的東西。我強烈建議您在開始使用任何軟體包之前尋求此類解決方案。你應該知道你在做什麼。

(有關使用方形單元技術的解決方案,請參閱本文的結尾您提供的連結.)

  1. 您的第一個表格實際上包含四列,其中一列右側有一條規則,然後是三列規則列。

  2. 邊框上的符號實際上是表格的一部分。這裡使用特殊類型的細胞。請參閱接下來的兩個枚舉。

  3. 對於頂部的符號,您可以使用\multicolumn.單元格跨越一列,內容居中且無邊框 ( \multicolumn{1}{c})。我們定義了一個巨集 ( \mca),因為我們多次使用它們。

  4. 對於左側的符號,再次使用\multicolumn。儲存格跨越一列,內容居中,邊框位於右側 ( \multicolumn{1}{c|})。再一次,我們定義了一個巨集 ( \mcb),因為我們多次使用它們。

  5. 您可以使用\cline第一個表格中從第 2 列到第 4 列的水平線。

  6. 第二個表比較簡單,有三列。我們\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}

在此輸入影像描述

相關內容