Standalone bekommt die Figurengröße mit pstricks nicht richtig hin! (MWE + Erklärung enthalten)

Standalone bekommt die Figurengröße mit pstricks nicht richtig hin! (MWE + Erklärung enthalten)

Ich setze gerade ein relativ langes Dokument (etwa 170 Seiten); und um die Kompilierung nicht zu verlangsamen, erstelle ich die Abbildungen extern und füge sie in die Hauptdatei ein, texindem ich sie pdfsüber einrichte includegraphics. Bisher hatte ich keine größeren Probleme beim Kompilieren der Abbildungen, aber beim Zeichnen der Bäume schon. Beim Zeichnen der Bäume standalonewird nämlich die tatsächliche Größe der Abbildung überhaupt nicht berücksichtigt. Bevor ich mein Problem weiter erkläre, möchte ich Ihnen eine Abbildung zeigen, die mein Problem veranschaulicht:

Bildbeschreibung hier eingeben

Dies ist ein MWE, das mein Problem reproduziert:

\documentclass[]{standalone}
\usepackage{tikz} % To plot almost everything.
\usepackage{pstricks,pst-node,egameps} % To get extensive form games. 

\begin{document}
\begin{egame}(0,350)
\putbranch(100,340)(2,1){200}
\iib{$1$}[o]{$D$}{$A$}[c][$1,1$][]
\putbranch(300,240)(2,1){200}
\iib{$2$}[o]{$D$}{$A$}[c][$0,3$][]
\putbranch(500,140)(2,1){200}
\iib{$1$}[o]{$D$}{$A$}[c][$2,2$][]
\putbranch(700,40)(2,1){200}
\iib{$2$}[o]{$D$}{$A$}[c][$1,4$][]
\putbranch(900,-60)(2,1){200}
\iib{$1$}[o]{$D$}{$A$}[c][$3,3$][$...$]
\putbranch(1100,-210)(2,1){200}
\iib{$1$}[o]{$D$}{$A$}[c][$99,99$][]
\putbranch(1300,-310)(2,1){200}
\iib{$2$}[o]{$D$}{$A$}[c][$98,101$][$100,100$]
\end{egame}
\end{document}

Ich zeichne die Bäume mit dem egamepsPaket (vollständige Dokumentation hier:https://www.economics.utoronto.ca/osborne/latex/egameps.pdf), weil es eine einfache Syntax hat und der Standard beim Setzen von Spieltheorie ist. Daher möchte ich bei diesem Paket bleiben, das auf basiert pstricks(es kann stattdessen auch mit funktionieren pdftricks). Das Problem ist, dass ich es nicht schaffe, die Größe des Baums mit Standalone richtig zu ermitteln; daher erhalte ich unvollständige Bäume und/oder zu große Ränder. Das Problem könnte angeblich gelöst werden, indem die Größe des Baums korrekt angegeben wird in:

\begin{egame}(0,350)

Wobei (0,350) eine Figur mit 0 mm Breite und 350 mm Höhe angibt. Ich bin jedoch absolut nicht in der Lage, die korrekte Größe des Baums zu berechnen. Kann mir jemand helfen, die korrekte Größe des Baums anzugeben? Ich brauche eine Möglichkeit, die korrekte Größe zu berechnen, da ich mehrere Bäume zeichnen muss und bei den meisten dieses Problem habe. Daher reicht es nicht aus, die Größe dieses bestimmten Baums manuell zu berechnen. Beachten Sie auch, dass ich das vollständige PDF-Paket zweimal gelesen habe; aber egal, was ich tue, ich bekomme nie die richtige Größe.

Wenn es alternativ zu schwierig ist, die korrekte Größe jedes Baums anzugeben, kann vielleicht jemand eine alternative Möglichkeit bereitstellen (über eine Spezifikation in standalone?), um standalonedie richtige Dokumentgröße zu erzwingen, selbst wenn die Baumgröße falsch angegeben ist. Das würde mir genügen.

Außerdem kennt vielleicht jemand eine alternative Dokumentklasse, die dieses Problem nicht verursacht, sondern genau die Ausgabe erzeugt, die ich möchte. Eine solche Lösung würde mir auch genügen.

Beachten Sie, dass ich versucht habe, die Abbildung als Artikel zu kompilieren und sie dann in umzuwandeln, epsund es gefällt mir NICHT, weil sich beim Umwandeln pdfin ein epseinige Dinge (wie griechische Buchstaben oder andere ausgefallene Dinge) ändern und komisch aussehen. Außerdem epsverlangsamt das Einfügen in meine Haupt-Tex-Datei die Kompilierung erheblich, und das möchte ich genau nicht. Obwohl ich die Abbildung mit der Artikel-Dokumentklasse generieren, dann in EPS umwandeln und das EPS dann wieder mit den richtigen Größen in PDF umwandeln könnte, halte ich dies nicht für eine gute Arbeitslösung (es ist zu zeitaufwändig und die ausgefallenen Dinge wie die griechischen Buchstaben wären immer noch falsch).

Wenn mir irgendjemand dabei helfen könnte, wäre ich SEHR froh (mir ist bewusst, dass dies eine sehr benutzerspezifische Frage ist und dass ich möglicherweise keine Antwort bekomme, aber ich muss es richtig machen!).

Antwort1

Der Code von egameist völlig fehlerhaft. Die interne Definition pspicturehat völlig falsche Koordinaten. Sie können jedoch stattdessen direkt die pspictureUmgebung verwenden:

\documentclass[pstricks]{standalone}
\usepackage{pstricks,pst-node,egameps} % To get extensive form games. 

\begin{document}
\psset{unit=0.1mm}\initialtrue
\begin{pspicture}(-200,-500)(1600,400)
    \putbranch(100,340)(2,1){200}
    \iib{$1$}[o]{$D$}{$A$}[c][$1,1$][]
    \putbranch(300,240)(2,1){200}
    \iib{$2$}[o]{$D$}{$A$}[c][$0,3$][]
    \putbranch(500,140)(2,1){200}
    \iib{$1$}[o]{$D$}{$A$}[c][$2,2$][]
    \putbranch(700,40)(2,1){200}
    \iib{$2$}[o]{$D$}{$A$}[c][$1,4$][]
    \putbranch(900,-60)(2,1){200}
    \iib{$1$}[o]{$D$}{$A$}[c][$3,3$][$...$]
    \putbranch(1100,-210)(2,1){200}
    \iib{$1$}[o]{$D$}{$A$}[c][$99,99$][]
    \putbranch(1300,-310)(2,1){200}
    \iib{$2$}[o]{$D$}{$A$}[c][$98,101$][$100,100$]
\end{pspicture}
\end{document}

Bildbeschreibung hier eingeben

Die interne Einheit wird auf 0,1 mm eingestellt egame, wenn sie nicht vom Benutzer geändert wird. Der erste Knoten beginnt bei 100,340mit Armen 200von links und rechts. Der letzte Knoten ist 1300,-310ebenfalls bei mit Armen von eingestellt 200. Aus diesem Grund habe ich für die pspicture-Umgebung bei den unteren linken Koordinaten (-200,-500)und den oberen rechten gewählt (1600,400). So etwas wie \begin{egame}(0,350)ist sinnlos: Es erstellt einen Zeichenbereich mit einer Breite von 0 und einer Höhe von 350.

Antwort2

Hier ist eine weitere Lösung zur Verwendung deristgamePaket, das auf basiert TikZ. Die istgameUmgebung ist fast identisch mit der tikzpictureUmgebung. Mit dem istgamePaket (im Wesentlichen tikz tree) müssen Sie sich keine Gedanken über das Finden korrekter Koordinaten machen. Stattdessen können Sie verwenden, \xtdistanceum die Form eines Spielbaums zu bestimmen.

Bildbeschreibung hier eingeben

\documentclass[border=1pt]{standalone}

\usepackage{istgame}

\begin{document}

\begin{istgame}[scale=1]
% tree
\tikzset{oval node/.style={ellipse node,draw=none}}
\xtdistance{15mm}{50mm}
% \xtdistance{15mm}{30mm}
\istrooto(0){1}
  \istb{D}[fill=white]{1,1}
  \istb{A}[fill=white]
  \endist
\istrooto(1)(0-2){2}
  \istb{D}[fill=white]{0,3}
  \istb{A}[fill=white]
  \endist
\istrooto(2)(1-2){1}
  \istb{D}[fill=white]{2,2}
  \istb{A}[fill=white]
  \endist
\istrooto(3)(2-2){2}
  \istb{D}[fill=white]{1,4}
  \istb{A}[fill=white]
  \endist
\istrooto(4)(3-2){1}
  \istb{D}[fill=white]{3,3}
  \istb{A}[fill=white]{\dots}
  \endist
\istrooto(5)([yshift=-5mm]4-2){1}
  \istb{D}[fill=white]{99,99}
  \istb{A}[fill=white]
  \endist
\istrooto(6)(5-2){2}
  \istb{D}[fill=white]{98,101}
  \istb{A}[fill=white]{100,100}
  \endist
\end{istgame}

\end{document}

verwandte Informationen