On 2013-06-19, Emmanuel Charpentier <
emanuel.c...@gmail.com> wrote:
> ------=_Part_3454_23024622.1371674663187
> Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
>
> Dear Dmitrii, dear list,
>
> Following Dmitrii hints, I tried latex(H). It turns out that the curved=20
> edges are a feature, not a bug (a better look at the GraphLatex page showed=
>=20
> me explicit documentation about this). This design choice seems embedded in=
>=20
> the source code for latex generation of directed graphs, and there exist=20
> (currently) no option for changing it (no sage-settable parameter for=20
> edge_style and arrowheads). Too bad the result is ugly as sin...
>
> I could hack a new style for DiGraphs. I could also hack the code and make=
>=20
> these parameters tunable. Both of these options are lengthy, and my=20
> RealLife(TM) constraints make them a bit difficult. It seems faster to=20
> either a) hack convenient parameters to ....DiGraph.plot and generate a PDF=
>=20
> or b) directly generate tikz code from the graph specifications.
>
> This bit of ad-hockery is probably the only way I can cope with my current=
>=20
> problem. Bit I think a better solution would be to rewrite (part of) the=20
> GraphLatex specification to give them more degree of freedom.
>
> Looking at the Trac tickets for this subject hnted that such a task is=20
> probably not easy. So I won't, for now, create new ticket. I'll have to=20
> look first at the source code for GraphLatex (wich I haven't yet located,=
>=20
> shame on me...).
it is in sage/graphs/graph_latex.py
>
> Emmanuel=
>=20
> Charpentier
>
> BTW :
tex.stackexchange.com gave me few hints about this problem : people=
>=20
> here tend to hack their solutions directly in \LaTeX, or even in plain \TeX=
>=20
> (God forbid...).
>
> Le lundi 17 juin 2013 22:03:32 UTC+2, Dima Pasechnik a =E9crit :
>>
>> On 2013-06-17, Emmanuel Charpentier <
emanuel.c...@gmail.com <javascript:>=
>>=20
>> wrote:=20
>> > ------=3D_Part_260_31328394.1371497392901=20
>> > Content-Type: text/plain; charset=3DISO-8859-1=20
>> >=20
>> > Dear list,=20
>> >=20
>> > I am trying to render a *directed* graph with LaTeX and tikz. I'ts a=20
>> > Bayesian network based on some causal reasoning (hence the necessity fo=
> r=20
>> a=20
>> > directed graph), but I'll reduce my problem to a simple test case.=20
>> >=20
>> > The following code :=20
>> >=20
>> > var("a", latex_name=3D"\mathrm{a}")=20
>> > var("b", latex_name=3D"\mathrm{b}")=20
>> > var("c", latex_name=3D"\mathrm{c}")=20
>> > var("d", latex_name=3D"\mathrm{d}")=20
>> > var("e", latex_name=3D"\mathrm{e}")=20
>> > H=3DDiGraph({a:{b:'$\\beta_{a,b}$',c:'$\\beta_{a,c}$',d:'$\\beta_{a,d}$=
> '},=20
>> > c:{e:'$\\beta_{c,e}$'}})=20
>> > H.set_pos(H.layout_acyclic())=20
>> > H.set_latex_options(tkz_style=3D"Custom", graphic_size=3D(4,4),=20
>> > vertex_size=3D0.5, vertex_labels=3DTrue, edge_labels=3DTrue,=20
>> > edge_label_sloped=3DFalse)=20
>> > view(H)=20
>> >=20
>> > gives me *almost* what I want (drag-and-drop from a notebook] :=20
>> >=20
>> >=20
>> > The graph has the desired layout, the markup (vertices and edges) is=20
>> > correct. But, for reasons I haven't be able to fathom, edges are=20
>> rendered=20
>> > as circle arcs (about pi/6). It is not especially good in my test case,=
>=20
>> and=20
>> > makes my full graph positively awful...=20
>> >=20
>> > Trying to use another style of graph makes me lose [a) edge markup=20
>> and/or=20
>> > b) vertex markup], and c) arrow heads. Looking in the documentation=20
>> about=20
>> > arrow heads gave no clue. Trying to specify latex parameters for edges=
>=20
>> and=20
>> > vertices has no point, since these setups are forgotten by the new styl=
> e=20
>> > (and yes, I tried to use two set_latex_options instructions : same=20
>> results=20
>> > in both orders...).=20
>> >=20
>> > Any hint ?=20
>> Your subject says that you narrowed down the problem to LaTeX/tikz. If=20
>> so, try a forum frequented by tikz wizards,=20
>> e.g.
http://tex.stackexchange.com/=20
>>
>> Anyhow, I'd try to use sagetex to draw your graph, generating LaTeX file=
>=20
>> along=20
>> the way. Maybe then it would be more clear how to tweak the drawing.=20
>>
>> HTH,=20
>> Dmitrii=20
>>
>>
>>
>> >=20
>> > Emmanuel Charpentier=20
>> >=20
>>
>>
>
> --=20
> You received this message because you are subscribed to the Google Groups "=
> sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to
sage-support...@googlegroups.com.
> To post to this group, send email to
sage-s...@googlegroups.com.
> Visit this group at
http://groups.google.com/group/sage-support.
> For more options, visit
https://groups.google.com/groups/opt_out.
>
>
>
> ------=_Part_3454_23024622.1371674663187
> Content-Type: text/html; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
>
> Dear Dmitrii, dear list,<div><br></div><div>Following Dmitrii hints, I trie=
> d latex(H). It turns out that the curved edges are a feature, not a bug (a =
> better look at the GraphLatex page showed me explicit documentation about t=
> his). This design choice seems embedded in the source code for latex genera=
> tion of directed graphs, and there exist (currently) no option for changing=
> it (no sage-settable parameter for edge_style and arrowheads). Too bad the=
> result is ugly as sin...</div><div><br></div><div>I could hack a new style=
> for DiGraphs. I could also hack the code and make these parameters tunable=
> . Both of these options are lengthy, and my RealLife(TM) constraints make t=
> hem a bit difficult. It seems faster to either a) hack convenient parameter=
> s to ....DiGraph.plot and generate a PDF or b) directly generate tikz code =
> from the graph specifications.</div><div><br></div><div>This bit of ad-hock=
> ery is probably the only way I can cope with my current problem. Bit I thin=
> k a better solution would be to rewrite (part of) the GraphLatex specificat=
> ion to give them more degree of freedom.</div><div><br></div><div>Looking a=
> t the Trac tickets for this subject hnted that such a task is probably not =
> easy. So I won't, for now, create new ticket. I'll have to look first=
> at the source code for GraphLatex (wich I haven't yet located, shame on me=
> ...).</div><div><br></div><div> &n=
> bsp; =
>  =
> ; Emmanuel Charpentier</div><div><=
> br></div><div>BTW :
tex.stackexchange.com gave me few hints about this prob=
> lem : people here tend to hack their solutions directly in \LaTeX, or even =
> in plain \TeX (God forbid...).<br><br>Le lundi 17 juin 2013 22:03:32 UTC+2,=
> Dima Pasechnik a =E9crit :<blockquote class=3D"gmail_quote" style=3D"=
> margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;=
> ">On 2013-06-17, Emmanuel Charpentier <<a href=3D"javascript:" target=3D=
> "_blank" gdf-obfuscated-mailto=3D"gdW3cqa1SREJ">
emanuel.c...@gmail.com</a><=
> wbr>> wrote:
><br>> ------=3D_Part_260_31328394.<wbr>1371497392901
><br>> Content-Type: text/plain; charset=3DISO-8859-1
><br>>
><br>> Dear list,
><br>>
><br>> I am trying to render a *directed* graph with LaTeX and tikz. I'ts=
> a=20
><br>> Bayesian network based on some causal reasoning (hence the necessi=
> ty for a=20
><br>> directed graph), but I'll reduce my problem to a simple test case.
><br>>
><br>> The following code :
><br>>
><br>> var("a", latex_name=3D"\mathrm{a}")
><br>> var("b", latex_name=3D"\mathrm{b}")
><br>> var("c", latex_name=3D"\mathrm{c}")
><br>> var("d", latex_name=3D"\mathrm{d}")
><br>> var("e", latex_name=3D"\mathrm{e}")
><br>> H=3DDiGraph({a:{b:'$\\beta_{a,b}<wbr>$',c:'$\\beta_{a,c}$',d:'$\\<=
> wbr>beta_{a,d}$'},=20
><br>> c:{e:'$\\beta_{c,e}$'}})
><br>> H.set_pos(H.layout_acyclic())
><br>> H.set_latex_options(tkz_style=3D<wbr>"Custom", graphic_size=3D(4,4=
> ),=20
><br>> vertex_size=3D0.5, vertex_labels=3DTrue, edge_labels=3DTrue,=20
><br>> edge_label_sloped=3DFalse)
><br>> view(H)
><br>>
><br>> gives me *almost* what I want (drag-and-drop from a notebook] :
><br>>
><br>>
><br>> The graph has the desired layout, the markup (vertices and edges) =
> is=20
><br>> correct. But, for reasons I haven't be able to fathom, edges=
> are rendered=20
><br>> as circle arcs (about pi/6). It is not especially good in my test =
> case, and=20
><br>> makes my full graph positively awful...
><br>>
><br>> Trying to use another style of graph makes me lose [a) edge markup=
> and/or=20
><br>> b) vertex markup], and c) arrow heads. Looking in the documentatio=
> n about=20
><br>> arrow heads gave no clue. Trying to specify latex parameters for e=
> dges and=20
><br>> vertices has no point, since these setups are forgotten by the new=
> style=20
><br>> (and yes, I tried to use two set_latex_options instructions : same=
> results=20
><br>> in both orders...).
><br>>
><br>> Any hint ?
><br>Your subject says that you narrowed down the problem to LaTeX/tikz. If
><br>so, try a forum frequented by tikz wizards,=20
><br>e.g. <a href=3D"
http://tex.stackexchange.com/" target=3D"_blank">http:/=
> /
tex.stackexchange.com/</a>
><br>
><br>Anyhow, I'd try to use sagetex to draw your graph, generating LaTeX fil=
> e along
><br>the way. Maybe then it would be more clear how to tweak the drawing.
><br>
><br>HTH,
><br>Dmitrii
><br>
><br>
><br>
><br>>
><br>> &nb=
> sp; &=
> nbsp; Emmanuel Charpentier
><br>>
><br>
><br></blockquote></div>
>
><p></p>
>
> -- <br />
> You received this message because you are subscribed to the Google Groups &=
> quot;sage-support" group.<br />
> To unsubscribe from this group and stop receiving emails from it, send an e=
> mail to
sage-support...@googlegroups.com.<br />
> To post to this group, send email to
sage-s...@googlegroups.com.<br />
> Visit this group at <a href=3D"
http://groups.google.com/group/sage-support"=
>>
http://groups.google.com/group/sage-support</a>.<br />
> For more options, visit <a href=3D"
https://groups.google.com/groups/opt_out=
> ">
https://groups.google.com/groups/opt_out</a>.<br />
> <br />
> <br />
>
> ------=_Part_3454_23024622.1371674663187--
>