PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche geometry-Optionen muss ich auf Null setzen um keine Ränder zu bekommen?



dante
21-10-2006, 13:59
Hallo zusammen,

ich möchte Graphiken als eigene Dateien exportieren. Dabei sollten im Idealfall keine überflüssigen Ränder entstehen. Dh., wenn das Bild (wie hier) 17cm x 7cm groß ist, dann sollte auch das Dokument 17cm x 7cm groß sein.

\documentclass[dvips]{scrartcl}

\usepackage[paperwidth=17cm,paperheight=7cm,left=0pt,right=0pt ,top=0pt,bottom=0pt]{geometry}

\usepackage{pst-all}
\usepackage{multido}
\usepackage{pspicture}
\newcommand{\rotekante}{\ncline[linecolor=red]}
\newcommand{\gruenekante}{\ncline[linecolor=green]}

\pagestyle{empty}

\begin{document}

\fbox{
\psset{unit=1cm}
\begin{pspicture}(0,0)(17,7)
\rput[t](8,6.9){
\begin{psTree}[thislevelsep=0]{\Tn}
\pstree{ \Tdot~*[tnpos=l,tnsep=15pt]{(2,2,2)} }{
\pstree{ \Tdot[edge=\rotekante]~*[tnpos=l]{(2,2,2)} \ncput*{$a_1$} }{
\pstree{ \Tdot[edge=\rotekante]~*[tnpos=l]{(2,2,2)} \ncput*{$a_2$} }{
\Tdot~*[tnpos=b]{(6,0,1)} \ncput*{$a_3$}
\Tdot[edge=\rotekante]~*[tnpos=b]{(2,2,2)} \ncput*{$b_3$}
}
\pstree{ \Tdot~*[tnpos=l]{(1,1,4)} \ncput*{$b_2$} }
{
\Tdot[edge=\rotekante]~*[tnpos=b]{(1,1,4)} \ncput*{$c_3$}
\Tdot~*[tnpos=b]{(3,1,1)} \ncput*{$d_3$}
}
}
\pstree{ \Tdot~*[tnpos=r]{(1,5,1)} \ncput*{$b_1$} }{
\pstree{ \Tdot[edge=\rotekante]~*[tnpos=r]{(1,5,1)} \ncput*{$c_2$} }{
\Tdot~*[tnpos=b]{(6,6,0)} \ncput*{$e_3$}
\Tdot[edge=\rotekante]~*[tnpos=b]{(1,5,1)} \ncput*{$f_3$}
}
\pstree{ \Tdot~*[tnpos=r]{(4,1,3)} \ncput*{$d_2$} }{
\Tdot[edge=\rotekante]~*[tnpos=b]{(4,1,3)} \ncput*{$g_3$}
\Tdot~*[tnpos=b]{(1,3,2)} \ncput*{$h_3$}
}
}
}

\psset{edge=none}
\pstree{ \TR{$Spieler 1$} }{ \pstree{ \TR{$Spieler 2$} }{ \TR{$Spieler 3$} } }
\end{psTree}
}
\end{pspicture}
}
\end{document}

Wie ihr sehen könnt verwende ich dazu das Paket geometry. Die Papiergröße lässt sich hervorragend einstellen, nur mit den Rändern klappt es nicht so ganz. Normalerweise müssten doch die Ränder verschwinden, wenn man die optionen left, right, top und bottom auf 0pt setz. Jedoch lässt er beim linken Rand nach wie vor schätzungsweise einen halben cm frei (möglicherweise auch bei anderen Rändern (badbox tritt auf), ist jedoch nicht klar ersichtlich). Ich hab auch schon alle möglichen anderen Optionen ausprobiert, aber das Ergebnis wurde dadurch eher schlechter als besser. Die \fbox habe ich übrigens nur eingefügt, um die Ränder der Graphik genau sehen zu können.

Ich hoffe, ihr könnt mir weiterhelfen.
Welche Option hab ich vergessen bzw. falsch gesetzt?

Danke schon im Voraus.

Tschöö,
Dante

edico
21-10-2006, 18:05
... mach es 'ein wenig' anders.

\documentclass{article}
%\usepackage[paperwidth=17cm,paperheight=7cm,left=0pt,right=0pt ,top=0pt,bottom=0pt]{geometry}

%%\usepackage{pst-all}
%%\usepackage{multido}
%%\usepackage{pspicture}
\usepackage{pst-tree}
\newcommand{\rotekante}{\ncline[linecolor=red]}
\newcommand{\gruenekante}{\ncline[linecolor=green]}

\pagestyle{empty}

\begin{document}

%%\fbox{
\psset{unit=1cm}
\begin{pspicture}(0,0)(17,7)
\rput[t](8,6.9){
\begin{psTree}[thislevelsep=0]{\Tn}
\pstree{ \Tdot~*[tnpos=l,tnsep=15pt]{(2,2,2)} }{
\pstree{ \Tdot[edge=\rotekante]~*[tnpos=l]{(2,2,2)} \ncput*{$a_1$} }{
\pstree{ \Tdot[edge=\rotekante]~*[tnpos=l]{(2,2,2)} \ncput*{$a_2$} }{
\Tdot~*[tnpos=b]{(6,0,1)} \ncput*{$a_3$}
\Tdot[edge=\rotekante]~*[tnpos=b]{(2,2,2)} \ncput*{$b_3$}
}
\pstree{ \Tdot~*[tnpos=l]{(1,1,4)} \ncput*{$b_2$} }
{
\Tdot[edge=\rotekante]~*[tnpos=b]{(1,1,4)} \ncput*{$c_3$}
\Tdot~*[tnpos=b]{(3,1,1)} \ncput*{$d_3$}
}
}
\pstree{ \Tdot~*[tnpos=r]{(1,5,1)} \ncput*{$b_1$} }{
\pstree{ \Tdot[edge=\rotekante]~*[tnpos=r]{(1,5,1)} \ncput*{$c_2$} }{
\Tdot~*[tnpos=b]{(6,6,0)} \ncput*{$e_3$}
\Tdot[edge=\rotekante]~*[tnpos=b]{(1,5,1)} \ncput*{$f_3$}
}
\pstree{ \Tdot~*[tnpos=r]{(4,1,3)} \ncput*{$d_2$} }{
\Tdot[edge=\rotekante]~*[tnpos=b]{(4,1,3)} \ncput*{$g_3$}
\Tdot~*[tnpos=b]{(1,3,2)} \ncput*{$h_3$}
}
}
}

\psset{edge=none}
\pstree{ \TR{$Spieler 1$} }{ \pstree{ \TR{$Spieler 2$} }{ \TR{$Spieler 3$} } }
\end{psTree}
}
\end{pspicture}
%%}
\end{document}

Dann kompilierst du mit

$ latex foo && dvips -EPS foo.dvi -o tree.eps

und erhälst eine schöne Vektorgrafik mit der richtigen BBox

%!PS-Adobe-2.0 EPSF-2.0
%%Creator: dvips(k) 5.86f Copyright 2001 Radical Eye Software
%%Title: testi.dvi
%%BoundingBox: 161 473 590 665

Nun kannst du die EPS-Grafik mit includegraphics einbinden.

Für den Fall, dass du lieber mit pdfTeX arbeitest, musst du die EPS-Grafik noch nach PDF konvertieren

epstopdf tree.eps

und kannst nun dein PDF-Dokument mit pdfTeX erstellen ...

edico

dante
22-10-2006, 10:05
Das ist ja noch viel besser!

Danke, funktioniert optimal.