PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spaltenüberspannung in TikZ-Matrix (à la multicolumn)



alexraasch
27-12-2010, 20:01
Hallo,

ich habe im Handbuch und hier im Forum nix gefunden. Ich möchte die Überschrift in einer TikZ-Matrix über zwei (potenziell auch mehr) Spalten spannen. Im unten angegebenen MB also "Überschrift 2+3". Geht das?



\documentclass{minimal}

\usepackage[utf8]{inputenc}

\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}
\matrix [
matrix of nodes,
inner sep=1pt,
fill=white,
nodes={draw,
fill=black!10,
minimum width =12mm,
minimum height= 5mm,
inner xsep = 5pt,
inner ysep = 3pt},
column sep=1pt, row sep=1pt]
{
Überschrift 1 & Überschrift 2+3 \\
123 & 1 & 1 \\
12 & 12 & 1 \\
1 & 123 & 1 \\
};
\end{tikzpicture}
\end{document}

esdd
27-12-2010, 21:04
Hallo,

hier ist mal ein Vorschlag, vielleicht geht es aber auch einfacher:



\documentclass{minimal}

\usepackage[utf8]{inputenc}

\usepackage{tikz}
\usetikzlibrary{matrix,calc}
\tikzset{mymatrixnodes/.style={draw,
fill=black!10,
minimum width =12mm,
minimum height= 5mm,
inner xsep = 5pt,
inner ysep = 3pt}}
\tikzset{myec/.style={draw=none,fill=none}}

\newsavebox\mybox

\begin{document}

\savebox\mybox{Überschrift 2+3}

\begin{tikzpicture}
\matrix(m)[
matrix of nodes,
inner sep=1pt,
fill=white,
nodes={mymatrixnodes},
column sep=1pt, row sep=1pt]
{
Überschrift 1\vphantom{+} &|[myec]|\makebox[0.5\wd\mybox]{}&|[myec]|\makebox[0.5\wd\mybox]{}\\
123 & 1 & 1 \\
12 & 12 & 1 \\
1 & 123 & 1 \\
};
\node[mymatrixnodes,anchor=base] at ($(m-1-2.base)!0.5!(m-1-3.base)$){\usebox\mybox};
\end{tikzpicture}
\end{document}


Gruß
Elke

alexraasch
27-12-2010, 21:26
Vielen Dank, das hilft mir schon mal sehr weiter.