Komplexe Tabelle mit Zelle/Box innerhalb einer Zelle

Komplexe Tabelle mit Zelle/Box innerhalb einer Zelle

Ich beginne gerade mit der Verwendung der LaTeX-Technologie und bin auf dieses Problem gestoßen. Ich habe mehrere tabellarische Handbücher zu CTAN gelesen, jedoch ohne Erfolg.

Ich versuche, eine Tabelle wie diese zu erstellen:

    +---------+--------+--------+--------+
    |     |114|    |100|    |92 |    |101|
    |     |___|    |___|    |___|    |___|
    |         |        |        |        |
    | 113     | 99     | 84     | 97     |
    +---------+--------+--------+--------+
    |     |114|    |100|    |92 |    |101|
    |     |___|    |___|    |___|    |___|
    |         |        |        |        |
    | 113     | 99     | 84     | 97     |
    +---------+--------+--------+--------+
    |     |114|    |100|    |92 |    |101|
    |     |___|    |___|    |___|    |___|
    |         |        |        |        |
    | 113     | 99     | 84     | 97     |
    +---------+--------+--------+--------+

Gibt es ein vorhandenes Paket, um diese Struktur zu erreichen? Wenn nicht, habe ich über das Verschachteln von Zeilen oder etwas in der Art nachgedacht, bin mir aber noch nicht sicher.

Antwort1

Eine Lösung mit Plain TeX zum Spaß, Lernen und um zu zeigen, was mit den grundlegenden Bausteinen möglich ist:

\def\widest{000}
\def\uv{\unskip\vrule}
\def\bx#1#2{\vbox{%
  \offinterlineskip%
  \halign{\ \hfil## &##&\ \hfil## \cr
    \hphantom{\widest}&&\hphantom{\widest}\cr
    &\vrule\strut& #2\cr
    \omit&\hrulefill&\omit\hrulefill\cr
    #1&\strut&\cr}
}}
\def\bxx{
  \bx{113}{114} & 
  \bx{99}{100} & 
  \bx{84}{92} & 
  \bx{97}{101}\cr
  \noalign{\hrule}
}

{\offinterlineskip
\halign{\vrule\strut \hfill #\uv & #\uv & #\uv & #\uv\cr
\noalign{\hrule}
\bxx\bxx\bxx
}}\bye

Bildbeschreibung hier eingeben

Antwort2

Soweit ich weiß, gibt es kein solches Paket, aber es kann mit grundlegenden Setups und mithilfe \multicolumnvon \clineMakros erreicht werden.

\documentclass[twoside]{book}

\usepackage{booktabs}
\usepackage{array}

\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}

\usepackage{blindtext}
\begin{document}


\large
\begin{tabular}{|*{8}{L{1cm}|}}
\hline
& 114 & & 100 & & 92 & & 101  \tabularnewline
& & & & & & &   \tabularnewline
\cline{2-2} \cline{4-4} \cline{6-6} \cline{8-8} 
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline 
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97}  \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101  \tabularnewline
& & & & & & &   \tabularnewline
\cline{2-2} \cline{4-4} \cline{6-6} \cline{8-8} 
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline 
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97}  \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101  \tabularnewline
& & & & & & &   \tabularnewline
\cline{2-2} \cline{4-4} \cline{6-6} \cline{8-8} 
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline 
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97}  \tabularnewline
\hline
\end{tabular}

% Now with booktabs features 

\begin{tabular}{|*{8}{L{0.5cm}|}}
\toprule
& 114 & & 100 & & 92 & & 101  \tabularnewline
&  & &  & &  & &   \tabularnewline
\cmidrule{2-2} \cmidrule{4-4} \cmidrule{6-6} \cmidrule{8-8} 
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline 
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97}  \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101  \tabularnewline
&  & &  & &  & &   \tabularnewline
\cmidrule{2-2} \cmidrule{4-4} \cmidrule{6-6} \cmidrule{8-8} 
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline 
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97}  \tabularnewline
\hline
& 114 & & 100 & & 92 & & 101  \tabularnewline
&  & &  & &  & &   \tabularnewline
\cmidrule{2-2} \cmidrule{4-4} \cmidrule{6-6} \cmidrule{8-8} 
\multicolumn{2}{|l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{} & \multicolumn{2}{l|}{}\tabularnewline 
\multicolumn{2}{|l|}{113} & \multicolumn{2}{l|}{99} & \multicolumn{2}{l|}{84} & \multicolumn{2}{l|}{97}  \tabularnewline
\hline
\end{tabular}

\normalsize
\end{document}

Bildbeschreibung hier eingeben

Antwort3

\documentclass{scrartcl}
\usepackage{tikz}

\tikzset{/bowlinggrid/.cd,
  box width/.store in=\bgridlargewidth,box width=3cm,
  box height/.store in=\bgridlargeheight,box height=2.5cm,
  small width/.store in=\bgridsmallwidth,small width=1.2cm,
  small height/.store in=\bgridsmallheight,small height=1cm,
  columns/.store in=\bgridcolnumber,columns=4} % I cannot get /.initial= to work
\newcommand*\bowlinggrind[2][]
  {%
   \begin{tikzpicture}
   \tikzset{/bowlinggrid/.cd,#1}
   \foreach \N/\n [count=\cnt] in {#2}
     {
      \pgfmathsetmacro\currcolnumber{int(mod(\cnt-1,\bgridcolnumber))}
      \pgfmathsetmacro\currrownumber{int(ceil(\cnt/\bgridcolnumber))}
      \draw
       ({\currcolnumber*\bgridlargewidth},{-\currrownumber*\bgridlargeheight})
        node [above right] {\N}
        rectangle ++(\bgridlargewidth,\bgridlargeheight)
        rectangle ++(-\bgridsmallwidth,-\bgridsmallheight)
        node [above right] {\n};
     }
   \end{tikzpicture}%
  }

\begin{document}
\begin{center}
\bowlinggrind
  {113/114,99/100,84/92,97/101,
   113/114,99/100,84/92,97/101,
   113/114,99/100,84/92,97/101,
   113/114,99/100,84/92,97/101}
\end{center}
\begin{center}
\bowlinggrind[box width=1.8cm,box height=1.3cm,small width=.9cm,small height=.5cm]
  {113/114,99/100,84/92,97/101,
   113/114,99/100,84/92,97/101,
   113/114,99/100,84/92,97/101,
   113/114,99/100,84/92,97/101}
\end{center}
\end{document}

Bildbeschreibung hier eingeben

Antwort4

Dieser Effekt lässt sich in ConTeXt relativ einfach erzielen. Beachten Sie die sehr saubere Trennung von Inhalt und Präsentation.

\startsetups[cellular]
  \setupTABLE[frame=off, align={middle,lohi}, offset=0.5em]
  \setupTABLE[even] [odd][frame=on, offset=0.25em]
  \setupTABLE[even][even][rightframe=on, bottomframe=on]
  \setupTABLE[odd] [even][leftframe=on,  bottomframe=on]
  \setupTABLE[odd]  [odd][leftframe=on,  topframe=on]
\stopsetups

\starttext
\startTABLE[setups=cellular]
   \NC     \NC 114 \NC    \NC 100 \NC    \NC 92 \NC    \NC 101 \NC \NR
   \NC 113 \NC     \NC 99 \NC     \NC 84 \NC    \NC 97 \NC     \NC \NR
   \NC     \NC 114 \NC    \NC 100 \NC    \NC 92 \NC    \NC 101 \NC \NR
   \NC 113 \NC     \NC 99 \NC     \NC 84 \NC    \NC 97 \NC     \NC \NR
   \NC     \NC 114 \NC    \NC 100 \NC    \NC 92 \NC    \NC 101 \NC \NR
   \NC 113 \NC     \NC 99 \NC     \NC 84 \NC    \NC 97 \NC     \NC \NR
\stopTABLE
\stoptext

Bildbeschreibung hier eingeben

verwandte Informationen