ich möchte gerne eine präferenzmatrix mit tikz erstellen wie auf dieser seite

Präferenzmatrix

ich habe auch schon etwas begonnen

Open in writeLaTeX
\documentclass[12pt]{article}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage{tikz}
\usetikzlibrary{matrix, positioning}

\begin{document}
\begin{tikzpicture}[
    cell/.style={rectangle,draw=black},
    space/.style={minimum height=1.5em,
    matrix of nodes,
    row sep=-\pgflinewidth,
    column sep=-\pgflinewidth,
    column 1/.style={font=\ttfamily}},
    text depth=0.5ex,
    text height=2ex,
    nodes in empty cells
    ]
  \matrix (m) [
      matrix of nodes, %row sep=-\pgflinewidth, % Liniendicke
      column 1/.style={nodes={cell, minimum width=4em}},
      column 2/.style={nodes={cell, minimum width=4em}}
    ]
  {
    \textbf{Nr.} & \textbf{Bewertungskriterium} \\
    a & Das ist ein Testkriterium \\
    b & Das ist ein Testkriterium \\
    c & Das ist ein Testkriterium \\
    d & Das ist ein Testkriterium \\
    e & Das ist ein Testkriterium \\
  };

\end{tikzpicture}

\end{document}

gefragt 22 Okt '14, 14:03

Giovario's gravatar image

Giovario
3301819
Akzeptiert: 88%

@Giovario Herzlich willkommen auf der TeXwelt! Super, dass Du gleich ein Minimalbeispiel postest. Ich probier das gern, wenn ich wieder am LaTeX-PC sitze. Zur Info für weitere Leser, das ist ein (finde ich willkommener) Crosspost, ich hole mal den Link zur anderen Site nach, wo bis jetzt noch keine Lösung kam: hier.

(22 Okt '14, 15:04) Felix

Hier ist ein Vorschlag, wie man das lösen könnte. Dabei werden alle nicht leeren Zellen mit bestimmten Farben gefüllt, weshalb in diesen wenigstens {} stehen muss.

Open in writeLaTeX
\documentclass[margin=5pt]{standalone}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage{tikz}
\usetikzlibrary{matrix}

\colorlet{mbg}{lightgray!50}
\colorlet{mbb}{blue!15}
\colorlet{mbs}{green!10}

\begin{document}
\begin{tikzpicture}[
    text depth=0.7ex,
    text height=2.3ex,
    ]
  \matrix (m) [
      matrix of nodes,
      row sep=0pt,
      column sep=0pt,
      minimum width=3ex,
      text depth=.5ex,
      text height=2ex,
      inner sep=.25ex,
      nodes={fill=mbg},
      font=\ttfamily,
      align=center,
      row 1/.style={nodes={fill=white},font=\bfseries},%erste Zeile
      mbbspalte/.style={%Einstellungen für die ersten 4 Spalten
        text width=#1,
        font=\rmfamily,
        every even row/.style={nodes={fill=mbb}}
      },
      column 1/.style={mbbspalte=1.25*\widthof{Rang}},
      column 2/.style={mbbspalte=1.25*\widthof{Gewicht},column sep=1ex},
      column 3/.style={mbbspalte=1.25*\widthof{Anzahl},column sep=1ex},
      column 4/.style={mbbspalte=1.25*\widthof{Nr.},font=\ttfamily},
      column 5/.style={text width=\widthof{Das ist ein Testkriterium},font=\rmfamily},
      row 11/.style={nodes={fill=mbs}},%letzte Zeile mit anderer Farbe gefüllt
    ]
  {% überall dort wo ein Node sein soll, muss wenigstens {} stehen
    Rang&Gewicht&Anzahl&Nr.& Bewertungskriterium \\
    {}&{}&{}&a&Das ist ein Testkriterium\\
      &  &  & &                         &{}\\
    {}&{}&{}&b&Das ist ein Testkriterium&  &{}\\
      &  &  & &                         &{}&  &{}\\
    {}&{}&{}&c&Das ist ein Testkriterium&  &{}&  &{} \\
      &  &  & &                         &{}&  &{}\\
    {}&{}&{}&d&Das ist ein Testkriterium&  &{} \\
      &  &  & &                         &{}\\
    {}&{}&{}&e&Das ist ein Testkriterium\\[1ex]
      &{}&{}\\
  };
  %Umrandungen
  \foreach \c in {1,...,5}% für erste Zeile
    \draw(m-1-\c.north west)rectangle
      ([yshift=\pgflinewidth,xshift=-\pgflinewidth]m-1-\c.south east);
  \foreach \c in {1,...,4}% für die ersten vier Spalten
    \draw(m-1-\c.north west)rectangle
      ([yshift=\pgflinewidth,xshift=-\pgflinewidth]m-10-\c.south east);
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 22 Okt '14, 18:55

esdd's gravatar image

esdd
14.2k53251

bearbeitet 22 Okt '14, 18:56

Also das sieht echt super aus Danke!!

Eine Frage habe ich dazu aber noch. Wie schaffe ich es das die Spalte Bewertungskriterien sich an den Text in den einzelnen Zeilen anpasst. Denn wenn ich mehr als "das ist ein Testkriterium" schreibe gehts in die nächste Zeile.

(23 Okt '14, 13:51) Giovario

@Giovario: Du kannst beispielsweise bei \widthof{Das ist ein Testkriterium} den Text des längsten Eintrags statt »Das ist ein Testkriterium« angeben.

BTW: Wenn Dir eine Antwort gefällt, kannst Du auch auf den Daumen hoch klicken. Und wenn eine Antwort Deine Frage tatsächlich beantwortet, solltest Du auf den Haken klicken. Das dient zum einen der Statistik und beschert dem Helfer außerdem ein paar Punkte durch das System. Man kann notfalls solche Entscheidungen auch wieder zurücknehmen. Siehe auch die FAQ.

(23 Okt '14, 14:40) Ijon Tichy
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×1

Frage gestellt: 22 Okt '14, 14:03

Frage wurde angeschaut: 1,700 Mal

Zuletzt aktualisiert: 23 Okt '14, 14:44