Ausgehend von der Frage "Can I control the 'density' of a pattern in TikZ?" habe ich folgendes Beispiel:

Open in Online-Editor
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{patterns}

\makeatletter
\pgfdeclarepatternformonly[\LineSpace]{my north east lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfqpoint{\LineSpace}{\LineSpace}}{\pgfqpoint{\LineSpace}{\LineSpace}}%
{
  \pgfsetcolor{\tikz@pattern@color}
  \pgfsetlinewidth{0.4pt}
  \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
  \pgfpathlineto{\pgfqpoint{\LineSpace + 0.1pt}{\LineSpace + 0.1pt}}
  \pgfusepath{stroke}
}
\newdimen\LineSpace
\tikzset{
  line space/.code={\LineSpace=#1},
  line space=3pt
}
\makeatother

\begin{document}
  \begin{tikzpicture}
    \draw[red,fill,pattern color=blue,line space=10pt,pattern=my north east lines] (0,0) rectangle (2,3);
  \end{tikzpicture}
\end{document}

Wenn man das Ergebnis stark vergrößert, sind die blauen Linien des Patterns nicht durchgängig. Pattern!

Ist das ein Problem des PDF-Viewers? Falls nicht, wie kann man es korrigieren?

gefragt 23 Dez '16, 14:54

tom75's gravatar image

tom75
2.1k3466
Akzeptiert: 86%

bearbeitet 23 Dez '16, 16:23


Das liegt daran, dass die Bounding Box rechts oben auf den Punkt (\LineSpace,\LineSpace) begrenzt ist. Damit wird die Linie oben horizontal zu ihrer Mitte und rechts vertikal zu ihrer Mitte abgeschnitten. Wenn Du die halbe Liniendicke hinzu gibst, ist das Problem beseitigt:

Open in Online-Editor
\documentclass[12pt]{article}

\usepackage{tikz}
\usetikzlibrary{patterns}

\makeatletter
\pgfdeclarepatternformonly[\LineSpace]{my north east lines}{\pgfqpoint{-1pt}{-1pt}}{\pgfpoint{\LineSpace+0.2pt}{\LineSpace+0.2pt}}{\pgfqpoint{\LineSpace}{\LineSpace}}%
{
  \pgfsetcolor{\tikz@pattern@color}
  \pgfsetlinewidth{0.4pt}
  \pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
  \pgfpathlineto{\pgfqpoint{\LineSpace + 0.1pt}{\LineSpace + 0.1pt}}
  \pgfusepath{stroke}
}
\newdimen\LineSpace
\tikzset{
  line space/.code={\LineSpace=#1},
  line space=3pt
}
\makeatother

\begin{document}
  \begin{tikzpicture}
    \draw[red,fill,pattern color=blue,line space=10pt,pattern=my north east lines] (0,0) rectangle (2,3);
  \end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 23 Dez '16, 15:35

saputello's gravatar image

saputello
19.9k33157

bearbeitet 23 Dez '16, 15:36

@saputello Vielen Dank. Ich hab die Frage noch um den Fall "north west" ergänzt. Hier scheint mir ein grundsätzliches Problem zu sein, weil die Linien verschoben zueinander sind.

(23 Dez '16, 16:01) tom75

@tom75: Das ist eine neue Frage und sollte (ggf. mit Link auf diese) neu gestellt werden. Jedenfalls nehme ich nicht an, dass das dasselbe Problem ist.

Ich mache jetzt allerdings Schluss.

Frohe Weihnachten!

(23 Dez '16, 16:16) saputello

@saputello: Ich hab eine neue Frage erstellt. Dir auch frohe Weihnachten.

(23 Dez '16, 16:24) tom75
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

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:

×532
×6

Frage gestellt: 23 Dez '16, 14:54

Frage wurde angeschaut: 852 Mal

Zuletzt aktualisiert: 23 Dez '16, 16:24