von esdd » Di 30. Jul 2019, 09:27
Eventuell ist es dann doch einfacher gleich die ganze Tabelle mit TikZ zu erstellen. Eine Möglichkeit:
\documentclass[fontsize=12pt,numbers=withenddot,ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{table}[hb]
\centering
\captionabove{Gefangenendilemma}
\begin{tikzpicture}
\newcommand\mysize{4em}
\tikzset{
tabzelle/.style={inner sep=.5em,minimum width=\mysize}
}
\matrix[
matrix of nodes,
column sep=-\pgflinewidth,
row sep=-\pgflinewidth,
inner sep=0pt,
nodes={tabzelle,minimum height=\mysize},
column 1/.style={anchor=base west}
](m){
hoher Einsatz&5&5&-4&20\\
Shirking&20&-4&2&2\\
};
\path[draw]
% Rahmen um Tabelle
(m-2-2.south west)rectangle(m.north east)
(m-2-2.north west)--(m.east)
(m-1-3.north east)--(m-2-3.south east)
% Rahmen um Zahlen
(m-1-5)++(-1em,-1em)rectangle+(2em,2em)
(m-2-2)++(-1em,-1em)rectangle+(2em,2em)
(m-2-4)++(-1em,-1em)rectangle+({\mysize+2em},2em)
;
\path[nodes={text depth=\dp\strutbox}]
% kleine/kurze senkrechte Trennstriche
foreach \c in {1-2,1-4,2-2,2-4}
{(m-\c.base east)node[anchor=base]{$\big\vert$}}
% Zeile oberhalb Tabelle
(m-1-2.north east)node[above,tabzelle](t1){hoher Einsatz}
(m-1-4.north east)node[above,tabzelle](t2){Shirking}
;
\path[font=\bfseries\strut]
% fette Beschriftung ganz oben und links
(t1.north-|m-1-3.east)node[anchor=south](t3){Arbeitgeber}
(m.west)node[anchor=south,rotate=90]{Arbeitnehmer}
;
\begin{scope}[->]
% Pfeile in Tabelle
\draw(m-1-2.west)++(.5em,0)--+(0,-\mysize);
\draw(m-1-2.north east)++(0,-.5em)--+({2*\mysize},0);
\draw(m-1-4.south)++(0,1em)--+(0,-1.5em);
\draw(m-2-2.south east)++(0,.5em)--+({2*\mysize},0);
\end{scope}
% Ausrichten der Tabelle (Bounding Box löschen und neu setzen)
\pgfresetboundingbox
\useasboundingbox(m-2-2.south west)rectangle(m.east|-t3.north);
\end{tikzpicture}
\end{table}
\end{document}
Ergebnis:
- Dateianhänge
-
- gl_gefangenendilemma.png (10.16 KiB) 3545 mal betrachtet
Eventuell ist es dann doch einfacher gleich die ganze Tabelle mit TikZ zu erstellen. Eine Möglichkeit:
[code]\documentclass[fontsize=12pt,numbers=withenddot,ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{table}[hb]
\centering
\captionabove{Gefangenendilemma}
\begin{tikzpicture}
\newcommand\mysize{4em}
\tikzset{
tabzelle/.style={inner sep=.5em,minimum width=\mysize}
}
\matrix[
matrix of nodes,
column sep=-\pgflinewidth,
row sep=-\pgflinewidth,
inner sep=0pt,
nodes={tabzelle,minimum height=\mysize},
column 1/.style={anchor=base west}
](m){
hoher Einsatz&5&5&-4&20\\
Shirking&20&-4&2&2\\
};
\path[draw]
% Rahmen um Tabelle
(m-2-2.south west)rectangle(m.north east)
(m-2-2.north west)--(m.east)
(m-1-3.north east)--(m-2-3.south east)
% Rahmen um Zahlen
(m-1-5)++(-1em,-1em)rectangle+(2em,2em)
(m-2-2)++(-1em,-1em)rectangle+(2em,2em)
(m-2-4)++(-1em,-1em)rectangle+({\mysize+2em},2em)
;
\path[nodes={text depth=\dp\strutbox}]
% kleine/kurze senkrechte Trennstriche
foreach \c in {1-2,1-4,2-2,2-4}
{(m-\c.base east)node[anchor=base]{$\big\vert$}}
% Zeile oberhalb Tabelle
(m-1-2.north east)node[above,tabzelle](t1){hoher Einsatz}
(m-1-4.north east)node[above,tabzelle](t2){Shirking}
;
\path[font=\bfseries\strut]
% fette Beschriftung ganz oben und links
(t1.north-|m-1-3.east)node[anchor=south](t3){Arbeitgeber}
(m.west)node[anchor=south,rotate=90]{Arbeitnehmer}
;
\begin{scope}[->]
% Pfeile in Tabelle
\draw(m-1-2.west)++(.5em,0)--+(0,-\mysize);
\draw(m-1-2.north east)++(0,-.5em)--+({2*\mysize},0);
\draw(m-1-4.south)++(0,1em)--+(0,-1.5em);
\draw(m-2-2.south east)++(0,.5em)--+({2*\mysize},0);
\end{scope}
% Ausrichten der Tabelle (Bounding Box löschen und neu setzen)
\pgfresetboundingbox
\useasboundingbox(m-2-2.south west)rectangle(m.east|-t3.north);
\end{tikzpicture}
\end{table}
\end{document}[/code]
Ergebnis:
[img]https://golatex.de/files/gl_gefangenendilemma_778.png[/img]