Anspruchsvoller quadratischer Zellentisch

Anspruchsvoller quadratischer Zellentisch

Ist es möglich, Tabellen wie in den Abbildungen unten zu zeichnen? Tabellen sollten quadratische Zellen und Markierungen entlang der Ränder haben.

Ich weiß, dass ich die TAB-Umgebung des Easytable-Pakets verwenden könnte, um Tabellen mit quadratischen Zellen zu erstellen, aber ich weiß nicht, wie ich Notationen über den oberen Rand setzen kann. Ich würde gerne den Befehl für mehrere Spalten für Abbildung 2 verwenden, aber er funktioniert nicht in der TAB-Umgebung. Oder gibt es vielleicht einen anderen einfachen Ansatz, um dasselbe zu erreichen?

Es gibt eine Alternative zu TAB aus dem Easytable-Paket, wie unter diesem Link vorgeschlagen.http://www.tug.org/pracjourn/2005-2/robertson/, aber ich kann keine Notationen einfügen und der Befehl multicolumn funktioniert nicht. Ich verwende XeLaTeX.

Tabelle mit quadratischen Zellen und Notationen entlang der vertikalen und horizontalen Grenze.

Antwort1

Lösungsideen

Die hier bereitgestellte Lösung ist ohne Paket oder ähnliches. Ich empfehle dringend, dass Sie sich für solche Lösungen entscheiden, bevor Sie ein Paket verwenden. Sie sollten wissen, was Sie tun.

(Am Ende dieses Beitrags finden Sie eine Lösung, die die quadratische Zelltechnik von verwendetIhr angegebener Link.)

  1. Ihre erste Tabelle enthält tatsächlich vier Spalten, eine mit einer Linie auf der rechten Seite und drei mit Linien.

  2. Die Notationen entlang der Ränder sind eigentlich Teil der Tabelle. Hier werden spezielle Zelltypen verwendet. Siehe die nächsten beiden Aufzählungen.

  3. Für die Notationen oben verwenden Sie \multicolumn. Die Zellen erstrecken sich über eine Spalte, haben zentrierte Inhalte und sind ohne Rahmen ( \multicolumn{1}{c}). Wir definieren ein Makro ( \mca), da wir sie öfter verwenden.

  4. Für die Notationen auf der linken Seite verwenden Sie wieder \multicolumn. Die Zellen erstrecken sich über eine Spalte, haben zentrierte Inhalte und einen Rahmen auf der rechten Seite ( \multicolumn{1}{c|}). Auch hier definieren wir ein Makro ( \mcb), da wir sie mehrmals verwenden.

  5. Sie verwenden \clinediese Option, um in der ersten Tabelle eine horizontale Linie von Spalte 2 bis Spalte 4 zu spannen.

  6. Die zweite Tabelle ist eine einfachere mit drei Spalten. \mcaAuch hier verwenden wir das Makro erneut.

  7. Sie nehmen Optimierungen vor \arraystretch, um die Zeilenhöhen anzupassen (um die quadratischen Zellen zu erhalten, wie von Ihnen gewünscht).

Ich bin ziemlich sicher, dass Sie wissen, wie man diese Tabellen einfügtFloat-Umgebungen.


Der Code

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

Die Ausgabe

Bildbeschreibung hier eingeben

Lösung mitIhr bereitgestellter Link

Wenn Sie unbedingt die Technik aus dem bereitgestellten Link verwenden möchten, finden Sie hier eine alternative Lösung für die erste Tabelle. Dabei wird die quadratische Zellentechnik aus dem Link verwendet.

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

Zweiter Ausgang

Bildbeschreibung hier eingeben

Antwort2

Sie können die tabellarischen Umgebungen verschachteln. Alle Zellen sind 2 cm x 2 cm groß:

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

Bildbeschreibung hier eingeben

verwandte Informationen