Independente, não acertando o tamanho da figura com pstricks! (MWE + explicação incluída)

Independente, não acertando o tamanho da figura com pstricks! (MWE + explicação incluída)

Atualmente estou compondo um documento relativamente longo (cerca de 170 páginas); e para evitar lentidão na compilação, estou gerando as figuras externamente e incluindo-as no texarquivo principal pdfsvia includegraphics. Até agora, não tive grandes problemas para compilar as figuras, mas tenho quando desenho as árvores. Ou seja, ao desenhar as árvores, standalonenão respeita em nada o tamanho real da figura. Antes de explicar melhor meu problema, deixe-me mostrar uma figura que ilustra meu problema:

insira a descrição da imagem aqui

Este é um MWE que reproduz meu problema:

\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}

Estou desenhando as árvores usando o egamepspacote (documentação completa aqui:https://www.economics.utoronto.ca/osborne/latex/egameps.pdf) porque tem uma sintaxe simples e é o padrão na composição da Teoria dos Jogos. Portanto, eu quero me ater a este pacote, do qual depende pstricks(ele também pode funcionar pdftricks). O problema é que não consigo obter sozinho o tamanho da árvore; obtendo, portanto, árvores incompletas ou/e margens muito grandes. O problema poderia supostamente ser resolvido especificando corretamente o tamanho da árvore em:

\begin{egame}(0,350)

Onde (0,350) indica um valor de 0mm de largura e 350mm de altura. No entanto, sou absolutamente incapaz de calcular o tamanho correto da árvore. Alguém poderia me ajudar a especificar o tamanho correto da árvore? Preciso calcular o tamanho correto porque tenho várias árvores para desenhar e tenho esse problema com a maioria delas. Portanto, estimar manualmente o tamanho desta árvore específica não é suficiente. Observe também que li o pacote completo em pdf duas vezes; mas não importa o que eu faça, nunca acerto o tamanho.

Alternativamente, se especificar o tamanho correto de cada árvore for muito difícil; talvez alguém possa fornecer uma maneira alternativa (por meio de uma especificação em standalone?) Para forçar standaloneo tamanho do documento correto, mesmo que o tamanho da árvore seja especificado incorretamente. Isso seria suficiente para mim.

Além disso, talvez alguém conheça uma documentclass alternativa que não gere esse problema, mas apenas a saída que desejo. Tal solução também seria suficiente para mim.

Observe que compilar a figura como um artigo e depois transformá-la em epsé algo que tentei e NÃO gostei porque, ao transformar a figura pdfem um eps, algumas coisas (como letras gregas ou outras coisas sofisticadas) mudam e ficam estranhas. Além disso, incluir epsno meu arquivo tex principal retarda muito a compilação, e eu precisamente não quero isso. Embora eu pudesse gerar a figura com o artigo documentclass, depois transformá-la em eps e depois reverter o eps para pdf novamente com os tamanhos corretos, não acho que essa seja uma boa solução funcional (é muito caro e sofisticado, como o grego letras ainda estariam erradas).

Se alguém puder me ajudar com isso, ficarei MUITO feliz (estou ciente de que esta é uma pergunta muito específica do usuário e estou ciente de que posso não obter nenhuma resposta; mas preciso acertar!).

Responder1

O código de egameé totalmente bugado. O interno definido pspicturetem coordenadas completamente erradas. No entanto, você pode usar diretamente o pspictureambiente:

\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}

insira a descrição da imagem aqui

A unidade interna é configurada em egame0,1mm, caso não seja modificada pelo usuário. O primeiro nó começa 100,340com braços 200à esquerda e à direita. O último nó também é definido 1300,-310com braços de 200. Esta é a razão pela qual escolhi o ambiente ppicture nas coordenadas inferior esquerda (-200,-500)e superior direita (1600,400). Algo assim \begin{egame}(0,350)não faz sentido: cria uma área de desenho de largura 0 e altura 350.

Responder2

Aqui está outra solução para usar oistgamepacote, que é baseado em TikZ. O istgamemeio ambiente é quase igual ao tikzpicturemeio ambiente. Com o istgamepacote (basicamente tikz tree), você não precisa se preocupar em encontrar as coordenadas corretas. Em vez disso, você pode usar \xtdistancepara determinar a forma de uma árvore de jogo.

insira a descrição da imagem aqui

\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}

informação relacionada