Segmentierter Tisch

Segmentierter Tisch

Bildbeschreibung hier eingeben

Kann ich diese Art von Tabelle in LaTeX erstellen?


Ich möchte die Antworten auf diese Tabelle anwenden:

\documentclass[10pt]{article}

\usepackage[left=1cm,right=1.5cm,top=1cm, bottom=3.5cm]{geometry}

\begin{document}

\begin{tabular}{|l|l|l|}
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
text & text & text \\ 
\hline
\end{tabular}

\end{document}

Antwort1

Bildbeschreibung hier eingeben

Da ich das Gefühl hatte, dass es eher einem Bild ähnelt, habe ich es folgendermaßen codiert TikZ:

\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{positioning,calc}

\begin{document}
\begin{tikzpicture}[tp/.style={minimum height=6cm+2\pgflinewidth,minimum width=1cm,fill=white},line width=1pt]

\node[minimum size=6cm,inner sep=0pt,draw] (big) {};
\draw (big.180)--(big.0)(big.90)--(big.-90);

\node[tp] at ($(big.center)!.5!(big.0)$) {};
\node[tp] at ($(big.center)!.5!(big.180)$) {};
\node[tp,rotate=90] at ($(big.center)!.5!(big.90)$) {};
\node[tp,rotate=90] at ($(big.center)!.5!(big.-90)$) {};
\end{tikzpicture}
\end{document}

Auch das Hinzufügen von Text könnte nicht einfacher sein!

Bildbeschreibung hier eingeben

Sehen Sie sich dieses Beispiel an:

\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{positioning,calc}
\begin{document}

\begin{tikzpicture}[BL/.style={draw=blue,line width=1cm,shorten >=-1pt,shorten <=-1pt},line width=1pt]

\node[minimum size=6cm,inner sep=0pt,draw] (big) {};
\draw (big.180)--(big.0)(big.90)--(big.-90);

\draw[BL]($(big.90)!.5!(big.135)$)--($(big.-90)!.5!(big.-135)$);
\draw[BL]($(big.90)!.5!(big.45)$)--($(big.-90)!.5!(big.-45)$);    
\draw[BL]($(big.180)!.5!(big.135)$)--node[pos=.25,fill=white]{Cell no. 11}node[pos=.75,fill=white]{Cell no. 12}($(big.0)!.5!(big.45)$);
\draw[BL]($(big.180)!.5!(big.-135)$)--node[pos=.25,fill=white]{Cell no. 21}node[pos=.75,fill=white]{Cell no. 22}($(big.0)!.5!(big.-45)$);

\end{tikzpicture}

\end{document}

Aktualisieren

Was die endgültige bearbeitete Version der Frage betrifft, hier ist eine weitere TikZImplementierung, die jede Tabellengröße akzeptiert:

Bildbeschreibung hier eingeben

\documentclass[10pt]{article}
\usepackage{tikz,colortbl}
\usetikzlibrary{positioning,calc}
\begin{document}

\newcommand{\mytable}[1]{\ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
text & text & text \\ \ifnum#1>0\hline\else\fi
}
\newcolumntype{W}{>{\color{white}}l}

\begin{tikzpicture}[shorten >=-1pt,shorten <=-1pt]
\node[draw,inner sep=0pt](table){%
\begin{tabular}{|W|W|W|}
\mytable{1}
\end{tabular}};

\foreach \x in {1,3,5}
\draw[white,line width=.3cm] ($(table.north west)!\x/6!(table.north east)$)--($(table.south west)!\x/6!(table.south east)$);
\foreach \x in {1,3,...,23}
\draw[white,line width=.1cm] ($(table.north west)!\x/24!(table.south west)$)--($(table.north east)!\x/24!(table.south east)$);

\setlength{\extrarowheight}{.4pt}
\node at (table.center){\noindent%
\begin{tabular}{lll}
\mytable{0}
\end{tabular}};    
\end{tikzpicture}

\end{document}

Der erste \foreachdurchläuft ungerade Zahlen von 1bis 2*#columns-1und der zweite \foreachdurchläuft ungerade Zahlen von 1bis 2*#rows-1. Außerdem \x/6sind Vielfache einer halben Spaltenbreite und \x/24sind Vielfache einer halben Zeilenhöhe. Tabellenzeilen werden im \mytableBefehl nur einmal eingegeben.

Antwort2

Hier erstelle ich ein eigenes Makro \Dcell[], das als Komponente eines TABstacks verwendet werden soll, um die Tabelle zu erstellen. Ich räume die Möglichkeit ein, den Elementen mit dem optionalen Argument to Text hinzuzufügen \Dcell. Am Anfang der Datei stehen 3 Benutzerparameter:

\rlwddie Breite der Eckregeln

\rllndie Länge der Eckregeln

\cellhgapder leere Abstand zwischen den beiden Ecklinien (der vertikale Abstand wird automatisch angepasst, um die Zelle quadratisch zu halten).

Offensichtlich \cellhgap + 2\rllnmuss die breiteste Texteingabe größer sein.

Zwar ist eine kleine Präambeleinrichtung erforderlich, die tatsächliche Verwendung ist jedoch ziemlich trivial.

\documentclass{article} 
\usepackage{tabstackengine}
\def\rlwd{.4pt}
\def\rlln{3ex}
\def\cellhgap{3ex}
\def\cellfield{\dimexpr\cellhgap + 2\dimexpr\rlln}
\def\cellvgap{.5\dimexpr\cellhgap-\ht\strutbox\relax}
\setstackEOL{\cr}
\setstackgap{S}{-\rlwd}
\fixTABwidth{T}
\newcommand\Dcell[1][]{\protect\Dcellraw{#1}}
\newcommand\Dcellraw[1]{%
 \stackunder[\cellvgap]{%
  \stackon[\cellvgap]{\makebox[\cellfield]{\strut#1}}{%
    \rule[\dimexpr-\rlln+\rlwd\relax]{\rlwd}{\rlln}\rule{\rlln}{\rlwd}%
    \hspace{\cellhgap}%
    \rule{\rlln}{\rlwd}\rule[\dimexpr-\rlln+\rlwd\relax]{\rlwd}{\rlln}}%
 }{%
    \rule{\rlwd}{\rlln}\rule{\rlln}{\rlwd}%
    \hspace{\cellhgap}%
    \rule{\rlln}{\rlwd}\rule{\rlwd}{\rlln}%
 }\kern-\dimexpr\rlwd%
}
\begin{document}
\tabbedShortstack{
  \Dcell[xyz]&\Dcell\cr
  \Dcell[z]&\Dcell[abcdefg]
}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen