Hi, ich suche nach einer Möglichkeit in der tabularx-Umgebung schraffierte Zellen zu haben. Aktuell arbeite ich mit cellcolor zum Einfärben der ganzen Zelle. Ich suche eine Möglichkeit hier ZUSÄTZLICH eine Schraffur angeben zu können. Habt ihr hier eine Lösung?

Im Kern geht es darum aus einer Datenbank Personendaten auszulesen und daraus ein Dokument zu erstellen, welches für jede Person (Mitarbeiter einer Firma) ein Karteikärtchen darstellt. Dieses kann dann ausgeschnitten werden und an einer Pinwand befestigt. Je nach Rolle des Mitarbeiters und seiner Firmenzugehörigkeit, soll man das auf einen Blick anhand der Farben und Schraffur erkennen. Hier meine bisherige Darstellung. Als default.png dieses hier verwenden:

alt text

Open in Online-Editor
\documentclass[DIV=14,pagesize]{scrartcl}
\usepackage{geometry}
\usepackage{graphicx}
\usepackage{ngerman}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xparse}
\usepackage{tabularx}
\usepackage{tikz}
\usetikzlibrary{calc,matrix,patterns,shadings,backgrounds}

\usepackage{xcolor,colortbl}
\usepackage{hhline}
\definecolor{dev}{rgb}{0.63, 0.79, 0.95}
\definecolor{alizarin}{rgb}{0.82, 0.1, 0.26}
\definecolor{amethyst}{rgb}{0.6, 0.4, 0.8}
\definecolor{amber}{rgb}{1.0, 0.75, 0.0}
\definecolor{applegreen}{rgb}{0.55, 0.71, 0.0}
\definecolor{buff}{rgb}{0.94, 0.86, 0.51}
\definecolor{cadmiumorange}{rgb}{0.93, 0.53, 0.18}
\definecolor{caribbeangreen}{rgb}{0.0, 0.8, 0.6}
\definecolor{cerise}{rgb}{0.87, 0.19, 0.39}
\definecolor{carnationpink}{rgb}{1.0, 0.65, 0.79}
\definecolor{cinnabar}{rgb}{0.89, 0.26, 0.2}
\definecolor{darkturquoise}{rgb}{0.0, 0.81, 0.82}
\definecolor{debianred}{rgb}{0.84, 0.04, 0.33}
\definecolor{darkviolet}{rgb}{0.58, 0.0, 0.83}
\definecolor{dollarbill}{rgb}{0.52, 0.73, 0.4}
\definecolor{glaucous}{rgb}{0.38, 0.51, 0.71}
\definecolor{chamoisee}{rgb}{0.63, 0.47, 0.35}
\definecolor{palemagenta}{rgb}{0.98, 0.52, 0.9}
\definecolor{screamingreen}{rgb}{0.46, 1.0, 0.44}
\definecolor{unmellowyellow}{rgb}{1.0, 1.0, 0.4}
\newcolumntype{H}[1]{
  >{\begin{minipage}[c][#1][c]{\linewidth}\centering\strut}
  X
  <{\strut\end{minipage}}
}

\geometry{
 left=0mm,
 right=2mm,
 top=2mm,
 bottom=5mm,
 bindingoffset=2mm
}
\begin{document}
\begin{center}
\setlength\tabcolsep{5pt}
\begin{tabularx}{\linewidth}{*{4}{||H{6cm}}||}
\cellcolor{dev}
\begin{tabular}{m{2.2cm}m{3.3cm}}
 \includegraphics[width=0.4\textwidth]{images/default.png} & \Large{\textbf{ZZ-PS-LL-KR}}   \newline \Large{\textbf{AZ: 1.00}} \newline   
 \Large{\textbf{02.03.2015}} \\ 
\Large{\textbf{Max Mustermann}} & \center{\huge{\textbf{\textcolor{red}{Muster consulting gmbh}}}} \\ 
\end{tabular}
&
\cellcolor{dev}
\begin{tabular}{m{2.2cm}m{3.3cm}}
\includegraphics[width=0.4\textwidth]{images/default.png} & \Large{\textbf{ZZ-PS-CE-VK}} \newline    
\Large{\textbf{AZ: 1.00}} \newline \Large{\textbf{01.09.2004}} \\ 
\Large{\textbf{Nicole Muster}} & \center{\huge{\textbf{MyFIRMA}}} \\ 
\end{tabular}
&
\\ 
\cellcolor{amethyst}
\begin{tabular}{m{2.2cm}m{3.3cm}}
\includegraphics[width=0.4\textwidth]{images/default.png} & \Large{\textbf{ZZ-PS-LL-KR}} \newline    
 \Large{\textbf{AZ: 1.00}} \newline \Large{\textbf{01.02.2009}} \\ 
\Large{\textbf{Thomas Muster}} & \center{\huge{\textbf{MyFIRMA}}} \\ 
\end{tabular}
&
\cellcolor{buff}
\begin{tabular}{m{2.2cm}m{3.3cm}}
  \includegraphics[width=0.4\textwidth]{images/default.png} & \Large{\textbf{ZZ-KS-CO}} \newline      \Large{\textbf{AZ: \textcolor{red}{0.80}}} \newline \Large{\textbf{01.12.2007}} \\ 
 \Large{\textbf{Katja Nüster}} & \center{\huge{\textbf{MyFIRMA}}} \\ 
 \end{tabular}
 &
 \\ 
 \end{tabularx}
 \end{center}
 \end{document}

Viele Grüße Thomas

gefragt 19 Jan '16, 10:44

pberg's gravatar image

pberg
97148
Akzeptiert-Rate: 0%

bearbeitet 19 Jan '16, 12:22

Ich kann mir jetzt zwar schlecht vorstellen, wie das aussehen soll, so dass da neben einem vollständigen Minimalbeispiel eine Skizze oder ähnliches vielleicht nützlich wäre. Allgemein kann ich nur vermuten, dass man das mit tikz lösen könnte, wobei normalerweise mehr als ein Durchlauf benötigt wird, wenn man in eine Tabelle zeichnen will. Eine Hilfe könnte dabei auch tcolorbox sein, das auch Tabellen anbietet.

(19 Jan '16, 11:11) saputello

Die Art der Schraffur geht aus der Frage noch nicht wirklich klar hervor. Außerdem wundert mich etwas die Verwendung der äußeren tabularx in Deinem Beispiel. Die kann man eigentlich komplett weglassen und schlicht die inneren Tabellen hintereinander stellen.

Da Du bereits tikz lädst, ohne es zu verwenden, könnte man außerdem die kompletten Karten einschließlich Schraffur damit erledigen. Die Tabellen selbst haben ja eigentlich keinen echten Sinn, sondern dienen lediglich als Konstruktionshilfe. Ich bin fast sicher, dass Henri oder esdd dafür eine tolle tikz- oder tcolorbox-Lösung bieten werden.

Wenn man nur recht einfache Schraffuren verwenden will, kann man das aber beispielsweise auch mit der picture-Umgebung erledigen:

Open in Online-Editor
\documentclass[DIV=14,pagesize]{scrartcl}
\usepackage{graphicx}
\usepackage[ngerman]{babel}% Paket ngerman ist veraltet!
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}% xcolor mit colortbl besser per Option!
\definecolor{dev}{rgb}{0.63, 0.79, 0.95}
\definecolor{amethyst}{rgb}{0.6, 0.4, 0.8}
\definecolor{buff}{rgb}{0.94, 0.86, 0.51}

\usepackage{ragged2e}
\usepackage{picture}

\newcommand*{\karte}[8]{%
  \setlength{\fboxsep}{0pt}%
  \fcolorbox{black}{#1}{%
    \begin{picture}(70mm,60mm)
      #2%
      \put(5mm,30mm){\includegraphics[width=25mm,height=25mm]{#3}}%
      \put(32mm,50mm){\parbox[t][25mm][t]{28mm}{\RaggedRight\Large\bfseries
            #4\par
            #5\par
            #6}}%
      \put(5mm,30mm){\parbox[t][30mm][c]{25mm}{\RaggedRight\Large\bfseries
          #7}}%
      \put(32mm,30mm){\parbox[t][30mm][c]{28mm}{\Centering\huge\bfseries
          #8\normalsize}}% bewusst defekten Zeilenabstand verwenden
    \end{picture}
  }%
}
\newcommand*{\shorizontal}{%
  \multiput(0,0)(0,5mm){12}{\color{gray}\line(1,0){70mm}}%
}
\newcommand*{\svertikal}{%
  \multiput(0,0)(5mm,0){14}{\color{gray}\line(0,1){60mm}}
}
\newcommand*{\skarriert}{\shorizontal\svertikal}

\begin{document}
\centering
\karte{dev}{\shorizontal}{default.png}{ZZ-PS-LL-KR}{AZ: 1.00}{02.\,03.\,2015}{Max
  Mustermann}{\color{red}Muster Consulting GmbH}
\karte{dev}{\svertikal}{default.png}{ZZ-PS-CE-VK}{AZ:
  1.00}{01.\,09.\,2004}{Nicole Muster}{MyFIRMA}
\karte{amethyst}{}{example-image}{ZZ-PS-LL-KR}{AZ:
  1.00}{01.\,02.\,2009}{Thomas Muster}{MyFIRMA}
\karte{buff}{\skarriert}{example-image-a}{ZZ-KS-CO}{AZ:
  \textcolor{red}{0.80}}{01.12.2007}{Katja Nüster}{MyFIRMA}
\end{document}

Vier Karten im Quadrat

Für die Karten einen eigenen Befehl oder ein Template zu definieren, halte ich in jedem Fall für empfehlenswert. Das erleichtert auch den Datenbankexport enorm. Will man dann irgendwann Änderungen in der Darstellung der Karten, muss man nur den Befehl ändern, der Datenbankexport kann aber unverändert bleiben.

Alles, was für das Beispiel nicht benötigt wird, habe ich zur Erleichterung aller entfernt. Beachte bitte auch die Kommentare zu den verbliebenen oder geänderten Paketen.


Natürlich sind auch diagonale Linien und farbige Linien möglich:

Open in Online-Editor
\documentclass[DIV=14,pagesize]{scrartcl}
\usepackage{graphicx}
\usepackage[ngerman]{babel}% Paket ngerman ist veraltet!
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}% xcolor mit colortbl besser per Option!
\definecolor{dev}{rgb}{0.63, 0.79, 0.95}
\definecolor{amethyst}{rgb}{0.6, 0.4, 0.8}
\definecolor{buff}{rgb}{0.94, 0.86, 0.51}

\usepackage{ragged2e}
\usepackage{picture}

\newcommand*{\karte}[8]{%
  \setlength{\fboxsep}{0pt}%
  \fcolorbox{black}{#1}{%
    \begin{picture}(70mm,60mm)
      #2%
      \put(5mm,30mm){\includegraphics[width=25mm,height=25mm]{#3}}%
      \put(32mm,50mm){\parbox[t][25mm][t]{28mm}{\RaggedRight\Large\bfseries
            #4\par
            #5\par
            #6}}%
      \put(5mm,30mm){\parbox[t][30mm][c]{25mm}{\RaggedRight\Large\bfseries
          #7}}%
      \put(32mm,30mm){\parbox[t][30mm][c]{28mm}{\Centering\huge\bfseries
          #8\normalsize}}% bewusst defekten Zeilenabstand verwenden
    \end{picture}
  }%
}
\newcommand*{\shorizontal}[1][gray]{%
  \multiput(0,0)(0,5mm){12}{\color{#1}\line(1,0){70mm}}%
}
\newcommand*{\svertikal}[1][gray]{%
  \multiput(0,0)(5mm,0){14}{\color{#1}\line(0,1){60mm}}
}
\newcommand*{\skarriert}[1][gray]{\shorizontal[#1]\svertikal[#1]}
\newlength{\sdiaglength}
\newcommand*{\sdiagonal}[1][gray]{%
  \begingroup
    \thicklines\color{#1}%
    \setlength{\sdiaglength}{60mm}%
    \multiput(0,0)(0,4mm){15}{%
      \line(1,1){\sdiaglength}%
      \global\advance\sdiaglength -4mm\relax
    }%
    \multiput(0,0)(4mm,0){4}{\line(1,1){60mm}}%
    \setlength{\sdiaglength}{60mm}%
    \multiput(12mm,0)(4mm,0){15}{%
      \line(1,1){\sdiaglength}%
      \global\advance\sdiaglength -4mm\relax
    }%
  \endgroup
}

\begin{document}
\centering
\karte{dev}{\shorizontal}{default.png}{ZZ-PS-LL-KR}{AZ: 1.00}{02.\,03.\,2015}{Max
  Mustermann}{\color{red}Muster Consulting GmbH}
\karte{dev}{\sdiagonal[white]}{default.png}{ZZ-PS-CE-VK}{AZ:
  1.00}{01.\,09.\,2004}{Nicole Muster}{MyFIRMA}
\karte{amethyst}{\svertikal[yellow]}{example-image}{ZZ-PS-LL-KR}{AZ:
  1.00}{01.\,02.\,2009}{Thomas Muster}{MyFIRMA}
\karte{white}{\sdiagonal[buff]}{example-image-a}{ZZ-KS-CO}{AZ:
  \textcolor{red}{0.80}}{01.12.2007}{Katja Nüster}{MyFIRMA}
\end{document}

mit farbigen linien und streifen

Reichen die mäßigen picture-Fähigkeiten von LaTeX nicht, kann diese mit pict2e auch noch ein wenig verbessert werden, um beispielsweise Linien mit beliebigen Steigungen zu erreichen. Allerdings lohnt es sich dann ganz schnell auch wirklich, sich mit pgf/tikz zu befassen.

Permanenter link

beantwortet 19 Jan '16, 13:19

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 19 Jan '16, 15:17

Hi, ok, da habe ich mich etwas unklar ausgedrückt. Aus dem jetzt z.B. blauen Hintergrund soll blau schraffierter Hintergrund (45° Linien) werden. Du hast jetzt quasi ein Muster (waagerecht, senkrecht, kariert) über den Hintergrund gelegt. Die fachliche Idee: Gelb steht z.B. für Softwareentwickler. Volle Füllung für Festanstellung, schraffiert für Arbeitnehmerüberlassung. Demzufolge ist der festangestellte Softwareentwickler mit vollem gelben Hintergrund zu gestalten, der AÜ mit gelber Schraffur.

(19 Jan '16, 13:32) pberg

@pberg: Vielleicht verstehst Du jetzt, warum es wichtig ist, Fragen klar zu formulieren und warum ich nach einer deutlicheren Beschreibung mit einer Skizze gefragt hatte. Letztlich sind diagonale Schraffuren und Schraffur statt gefüllter Farbe (entgegen Deinem schreienden »ZUSÄTZLICH« aus der Frage) auch nur eine eher geringfügige Abwandlung meines erstes Beispiel.

(19 Jan '16, 13:54) saputello

@saputello: Das sieht sehr gut aus, danke. Gilt als gelöst :-) Nur weiß ich nicht, wie ich das hier wieder markieren soll. :-(

(19 Jan '16, 15:11) pberg

@pberg: Das sieht gut aus: auf den Daumen hoch über der Zahl, links neben der Antwort klicken (das kann jeder, nicht nur der Fragesteller und auch für mehrere Antworten). Gilt als gelöst: auf den Haken unter der Zahl, links neben der Antwort klicken (das kann nur der Fragesteller und nur für eine Antwort).

(19 Jan '16, 15:19) saputello
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×32
×3

gestellte Frage: 19 Jan '16, 10:44

Frage wurde gesehen: 8,102 Mal

zuletzt geändert: 19 Jan '16, 15:21