Ich habe zwei Linien mit Pfeilen der Form |<->|, die aneinander stoßen. Dadurch ist der mittlere kurze Strich doppelt so breit, wie die beiden äußeren. Gibt es in PSTricks eine Option oder eine andere Möglichkeit, mit der ich die beiden Linien an der Stelle jeweils um eine halbe Linienbreite, also 0.5\pslinewidth, verlängern lassen kann, so dass die beiden kurzen Striche aufeinander statt nebeneinander liegen?

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{pstricks}
\begin{document}
\begin{pspicture}[showgrid=true](5,3)
  \psline{|<->|}(0,0)(2,1)
  \psline{|<->|}(2,1)(4,2)
\end{pspicture}
\end{document}

Derzeitiges Resultat mit PSTricks:

alt text

Mit tikz kann ich das gewünschte Ergebnis über die Optionen shorten > und shorten < erreichen:

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[thick]
  \draw[lightgray,dotted] grid(5,3);
  \draw[|<->|,shorten >=-0.5\pgflinewidth](0,0)--(2,1);
  \draw[|<->|,shorten <=-0.5\pgflinewidth](2,1)--(4,2);
\end{tikzpicture}
\end{document}

Gewünschtes Ergebnis, allerdings mit tikz statt PSTricks:

alt text

Allerdings suche ich in diesem Fall eine Lösung für PSTricks.

gefragt 29 Aug '13, 07:41

esdd's gravatar image

esdd
14.2k53251
Akzeptiert: 87%

1

Ich habe auf TeX.sx für die TikZ-Pfeilenden |, [ und ] sowie die spezielle Kombination |< und |> mal neue Pfeilenden definiert, die ohne die shorten *-Option auskommen.

(29 Aug '13, 22:23) Qrrbrbirlbel

PSTricks bietet in diesem Fall die Pfeilenden |<* und >|* an. In deinem Fall bedeutet das also |<->|* bei der ersten und |<*->| bei der zweiten Linie:

\psline{|<->|*}(0,0)(2,1)
\psline{|<*->|}(2,1)(4,2)

Das Pfeilende | besitzt mit |* die gleiche Alternative.

Bei den Kreispfeilarten sieht das etwas anders aus, während o und oo für einen unausgefüllten Kreis steht, wird * und ** für einen ausgefüllten Kreis verwendet. Hierbei stehen die einfachen Versionen o und * für einen Kreis, dessen Zentrum auf dem Linienendpunkt liegt. Die doppelte Version oo bzw. ** wiederum berührt das Linienende nur.
Ähnliches gilt für das „Pfeilende“ c und cc (als Ersatz für eine Line-Cap-Einstellung). Außerdem gibt es noch C das die Linie schlicht um die halbe Liniendicke verlängert.

Im PSTricks-Manual ist das im Kapitel 15 „Arrowheads and such” auf den Seiten 27f. beschrieben. Man beachte hier allerdings, dass die Beschreibung für |<->| lückenhaft und |<*->|* fehlerhaft ist, da letzteres als „flush“ bezeichnet wird.

Auf semibyte.de gibt es dazu noch eine deutsche Übersicht („Pfeile und andere Linienendpunkte“), die sich an dem Manual orientiert (aber |<*->|* nicht erwähnt).

Code

\documentclass[pstricks, border=.5cm, convert=false]{standalone}
\usepackage{pstricks}
\begin{document}
\begin{pspicture}[showgrid=true,linewidth=4pt](5,3)
  \psline{|<->|*}(0,0)(2,1)
  \psline{|<*->|}(2,1)(4,2)
\end{pspicture}

\begin{pspicture}[showgrid=true,linewidth=4pt](-1,-1)(6,6)
  % Linke Spalte
  \psline{|<->|}(0,5)(2,5)
  \psline  {|-|}(0,4)(2,4)
  \psline{**-**}(0,3)(2,3)
  \psline{oo-oo}(0,2)(2,2)
  \psline{cc-cc}(0,1)(2,1)
  \psline    {-}(0,0)(2,0)

  % Rechte Spalte
  \psline{|<*->|*}(3,5)(5,5)
  \psline  {|*-|*}(3,4)(5,4)
  \psline    {*-*}(3,3)(5,3)
  \psline    {o-o}(3,2)(5,2)
  \psline    {c-c}(3,1)(5,1)
  \psline    {C-C}(3,0)(5,0)
\end{pspicture}
\end{document}

Resultat

alt text

alt text

Permanenter link

beantwortet 29 Aug '13, 22:11

Qrrbrbirlbel's gravatar image

Qrrbrbirlbel
2.9k1415

bearbeitet 30 Aug '13, 05:37

Mache einfach eine der Linien länger:

 \psline[unit=1.01]{|<->|}(0,0)(2,1)
 \psline{|<->|}(2,1)(4,2)
Permanenter link

beantwortet 29 Aug '13, 14:41

Herbert's gravatar image

Herbert
5.0k34

@Herbert: Dann könnte ich auch besser bei einem der Pfeile den | weg lassen, aber das möchte ich nicht.

(30 Aug '13, 04:25) esdd
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:

×27
×22
×8

Frage gestellt: 29 Aug '13, 07:41

Frage wurde angeschaut: 3,511 Mal

Zuletzt aktualisiert: 30 Aug '13, 05:37