PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pstricks



W2K
10-12-2006, 23:25
Hallo,

ich habe zwei Fragen zu PSTRICKS:
1. In dem unten angegebenen Code positioniere ich einige Boxen mit \psframe nebeneinander. Wenn diese unmittelbar aneinander angrenzen, wirken die Linien zu dick. Wie kann ich dies verhindern, ohne die Liniendicke insgesamt herabsetzen zu müssen?


% ----------------------------------------------------------------------------------------------------------------------------------------
%
\documentclass[a4paper, oneside, headsepline, 12pt]{scrbook}
%
% ----------------------------------------------------------------------------------------------------------------------------------------
%
% Zusätzliche Paktete
%
% ----------------------------------------------------------------------------------------------------------------------------------------
\usepackage[ngerman]{babel} % Trennungen, Schriftsatz; Neue deutsche Rechtschreibung
\usepackage[latin1]{inputenc} % Dateicodierung: Unter Linux latin1 anstatt ansinew verwene
\usepackage[left=2.25cm, right=2.25cm, top=1.5cm, bottom=1.5cm, headheight=1cm, headsep=1.5cm, footskip=1.0cm, includeheadfoot]{geometry}
% Geometrie der Seiten setzen
\usepackage{color} % Farben
\usepackage{graphicx} % Paket um Grafiken einzubinden. Evtl. muss unter Windows
% mit \usepackage[dvips]{graphicx} der dvips-Treiber für EPS-Grafiken geladen werden
\usepackage{lscape} % Einzelne Seiten auf Landscape-Format drehen
\usepackage[table]{pstricks} % Packet, um PS-Zeichnungen einzufügen
\usepackage{subfig} % Bilder untereinander
\usepackage{amsmath} % Erweiterungen für mathematische Umgebungen
\usepackage{accents} % Akzente auf Variablen setzen

\usepackage{nofloat} % Nicht-fließende Umgebung für Bilder
\usepackage{caption} % Bildunterschriften
\usepackage[colorlinks=true, citecolor=red, linkcolor=blue, pdfpagelabels=true]{hyperref}

----------------------------------------------------------------------------------------------------------------------------------------
\hyphenation{Chien}
\frenchspacing
\sloppy
% ----------------------------------------------------------------------------------------------------------------------------------------
\setlength{\parskip}{1ex}
\setlength{\parindent}{0em}
% ----------------------------------------------------------------------------------------------------------------------------------------
\flushbottom % Fülle die Seite von oben bis unten komplett (article, report)
\renewcommand{\baselinestretch}{1.20} % Zeilenabstand vergrößern, alternativ: \doublespacing
% ----------------------------------------------------------------------------------------------------------------------------------------
\skip\footins=20pt plus 4.0pt minus 2.0pt\relax %Abstand Fn-Ziffer und Fn-Text
\footnotesep=10pt\relax %Abstand zwischen zwei Fn
% ----------------------------------------------------------------------------------------------------------------------------------------

\begin{document}
\begin{landscape}
\begin{nofloat}{figure}
\psset{xunit=1cm, yunit=1cm, subgriddiv=2, labels=none}
\begin{pspicture}(0.0, 0.0)(0,8.25)
\centering
\psset{unit=1cm}
\psaxes[labels=none,linewidth=0.7pt, ticksize=2pt, arrowscale=3, linecolor=gray, Dx=2, Dy=2]{->}(0, 0)(0,-8)(23,8)
\pnode{R1}{\psframe[linewidth=0.5pt, fillstyle=solid](6,0)(8,3)}
\pnode{R2}{\psframe[linewidth=0.5pt, fillstyle=solid](6,-3)(8,0)}
\pnode{S1}{\psframe[linewidth=0.5pt, fillstyle=solid](8,0)(10,2)}
\pnode{S2}{\psframe[linewidth=0.5pt, fillstyle=solid](8,-2)(10,0)}

\rput[0](23.5,0){$t$}
\rput[0](0,8.5){$\varphi$}
\end{pspicture}
% \caption{Rotor-Stator-Interface}
\end{nofloat}
\end{landscape}
\end{document}


2. Mit Inkscape habe ich einen Kurvenzug (freihand = ohne vorab bekannte Koordinanten) gezeichnet, der in eine der Boxen eingefügt werden soll.
a.) Wie füge ich am besten den Polynomzug ein? (Wenn ich diesen in die \pnode setze, befindet er sich nicht im sichtbaren Bildbereich.)
b.) Wie kann ich den Polynomzug schraffieren?


\psset{xunit=.5pt,yunit=.5pt,runit=.5pt}
\begin{pspicture}(744.09448242,1052.36218262)
{
\newrgbcolor{curcolor}{0 0 0}
\pscustom[linewidth=0.99999988,linecolor=curcolor]
{
\newpath
\moveto(591.66864,161.26937262)
\curveto(591.66864,161.26937262)(457.01993,320.191 72262)(333.4773,334.88596262)
\curveto(263.11927,343.25439262)(210.09094,318.051 03262)(193.67276,324.96279262)
\curveto(158.22893,339.88400262)(230.74192,436.090 00262)(312.54455,436.09000262)
\curveto(452.80975,436.09000262)(558.12072,222.015 44262)(591.66864,161.26937262)
\closepath
}
}
\end{pspicture}


Alternativ habe ich noch versucht ein eps mit \includegraphics einzubinden - die Positionierung erfolgt allerdings leider nicht automatisch über \pnode.

localghost
11-12-2006, 09:18
Du kannst in einem \psset-Befehl noch ein Argument hinzufügen, dass sich speziell bei \psframes auswirkt. Diese Einstellung ist aber generell zu empfehlen.

\psset{…,dimen=middle,…}
Damit werden die Linien genau auf die angegebenen Koordinaten gesetzt. Die Voreinstellungen haben zur Folge, dass bei \psframes die Linien innerhalb der Angaben gesetzt werden. In deinem Fall sind also eigentlich zwei Linien nebeneinander statt übereinander. Du kannst das kontrollieren, indem Du mal in der pspicture-Umgebung das Gitter einschaltest.

\pspicture[showgrid=true](…,…)(…,…)

\end{pspicture}