#5975: [with experimental patch] Implement latex output for (combinatorial) 
graphs
--------------------------+-------------------------------------------------
 Reporter:  rbeezer       |       Owner:  rbeezer     
     Type:  enhancement   |      Status:  new         
 Priority:  major         |   Milestone:  sage-feature
Component:  graph theory  |    Keywords:              
--------------------------+-------------------------------------------------

Comment(by fidelbarrera):

 Replying to [comment:2 rbeezer]:
 > latex-test-1.patch is just that, a test.  Code by Fidel Barrera-Cruz,
 which I've got working in this patch.  Strictly experimental for
 discussion purposes.  The session
 >
 > {{{
 > g = graphs.PetersenGraph()
 > latex(g)
 > }}}
 >
 > produces
 >
 > {{{
 > \begin{tikzpicture}
 > \GraphInit[vstyle=Dijkstra]
 >
 > \SetVertexNoLabel
 > \SetVertexMath
 >
 > \Vertex[x=2.5cm,y=4.7553cm]{a0}
 > \Vertex[x=0.0cm,y=2.9389cm]{a1}
 > \Vertex[x=0.9549cm,y=0.0cm]{a2}
 > \Vertex[x=4.0451cm,y=0.0cm]{a3}
 > \Vertex[x=5.0cm,y=2.9389cm]{a4}
 > \Vertex[x=2.5cm,y=3.441cm]{a5}
 > \Vertex[x=1.25cm,y=2.5328cm]{a6}
 > \Vertex[x=1.7275cm,y=1.0633cm]{a7}
 > \Vertex[x=3.2725cm,y=1.0633cm]{a8}
 > \Vertex[x=3.75cm,y=2.5328cm]{a9}
 >
 > \AssignVertexLabel{a}{10}{
 > $0$,
 > $1$,
 > $2$,
 > $3$,
 > $4$,
 > $5$,
 > $6$,
 > $7$,
 > $8$,
 > $9$
 > }
 >
 > \Edge(a0)(a1)
 > \Edge(a0)(a4)
 > \Edge(a0)(a5)
 > \Edge(a1)(a2)
 > \Edge(a1)(a6)
 > \Edge(a2)(a3)
 > \Edge(a2)(a7)
 > \Edge(a3)(a4)
 > \Edge(a3)(a8)
 > \Edge(a4)(a9)
 > \Edge(a5)(a7)
 > \Edge(a5)(a8)
 > \Edge(a6)(a8)
 > \Edge(a6)(a9)
 > \Edge(a7)(a9)
 >
 > \end{tikzpicture}
 > }}}
 >
 > which when run through Latex produces the attached PDF.
 This new test version supports colors in vertices, labels and vertices.
 One can also choose among the different styles offered by tkz-graph,
 'Art', 'Shade', 'Welsh', 'Classic', etc. A sample session:[[BR]]
 {{{
 G=graphs.PetersenGraph()
 latex(G)
 }}}
 This should give:[[BR]]
 {{{
 \begin{tikzpicture}
 %
 \definecolor{col_a0}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a1}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a2}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a3}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a4}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a5}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a6}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a7}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a8}{rgb}{1.0,1.0,1.0}
 \definecolor{col_a9}{rgb}{1.0,1.0,1.0}
 %
 %
 \definecolor{col_lab_a0}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a1}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a2}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a3}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a4}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a5}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a6}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a7}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a8}{rgb}{0.0,0.0,0.0}
 \definecolor{col_lab_a9}{rgb}{0.0,0.0,0.0}
 %
 %
 \definecolor{col_a0-a1}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a0-a4}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a0-a5}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a1-a2}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a1-a6}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a2-a3}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a2-a7}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a3-a4}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a3-a8}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a4-a9}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a5-a7}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a5-a8}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a6-a8}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a6-a9}{rgb}{0.0,0.0,0.0}
 \definecolor{col_a7-a9}{rgb}{0.0,0.0,0.0}
 %
 %
 \GraphInit[vstyle=Normal]
 %
 \SetVertexMath
 %
 \SetVertexNoLabel
 %
 \renewcommand*{\VertexLightFillColor}{col_a0}
 \Vertex[x=2.5cm,y=4.7553cm]{a0}
 \renewcommand*{\VertexLightFillColor}{col_a1}
 \Vertex[x=0.0cm,y=2.9389cm]{a1}
 \renewcommand*{\VertexLightFillColor}{col_a2}
 \Vertex[x=0.9549cm,y=0.0cm]{a2}
 \renewcommand*{\VertexLightFillColor}{col_a3}
 \Vertex[x=4.0451cm,y=0.0cm]{a3}
 \renewcommand*{\VertexLightFillColor}{col_a4}
 \Vertex[x=5.0cm,y=2.9389cm]{a4}
 \renewcommand*{\VertexLightFillColor}{col_a5}
 \Vertex[x=2.5cm,y=3.441cm]{a5}
 \renewcommand*{\VertexLightFillColor}{col_a6}
 \Vertex[x=1.25cm,y=2.5328cm]{a6}
 \renewcommand*{\VertexLightFillColor}{col_a7}
 \Vertex[x=1.7275cm,y=1.0633cm]{a7}
 \renewcommand*{\VertexLightFillColor}{col_a8}
 \Vertex[x=3.2725cm,y=1.0633cm]{a8}
 \renewcommand*{\VertexLightFillColor}{col_a9}
 \Vertex[x=3.75cm,y=2.5328cm]{a9}
 %
 %
 \AssignVertexLabel{a}{10}{
 \color{col_lab_a0}{$0$},
 \color{col_lab_a1}{$1$},
 \color{col_lab_a2}{$2$},
 \color{col_lab_a3}{$3$},
 \color{col_lab_a4}{$4$},
 \color{col_lab_a5}{$5$},
 \color{col_lab_a6}{$6$},
 \color{col_lab_a7}{$7$},
 \color{col_lab_a8}{$8$},
 \color{col_lab_a9}{$9$}
 }
 %
 %
 \renewcommand*{\EdgeColor}{col_a0-a1}
 \Edge(a0)(a1)
 \renewcommand*{\EdgeColor}{col_a0-a4}
 \Edge(a0)(a4)
 \renewcommand*{\EdgeColor}{col_a0-a5}
 \Edge(a0)(a5)
 \renewcommand*{\EdgeColor}{col_a1-a2}
 \Edge(a1)(a2)
 \renewcommand*{\EdgeColor}{col_a1-a6}
 \Edge(a1)(a6)
 \renewcommand*{\EdgeColor}{col_a2-a3}
 \Edge(a2)(a3)
 \renewcommand*{\EdgeColor}{col_a2-a7}
 \Edge(a2)(a7)
 \renewcommand*{\EdgeColor}{col_a3-a4}
 \Edge(a3)(a4)
 \renewcommand*{\EdgeColor}{col_a3-a8}
 \Edge(a3)(a8)
 \renewcommand*{\EdgeColor}{col_a4-a9}
 \Edge(a4)(a9)
 \renewcommand*{\EdgeColor}{col_a5-a7}
 \Edge(a5)(a7)
 \renewcommand*{\EdgeColor}{col_a5-a8}
 \Edge(a5)(a8)
 \renewcommand*{\EdgeColor}{col_a6-a8}
 \Edge(a6)(a8)
 \renewcommand*{\EdgeColor}{col_a6-a9}
 \Edge(a6)(a9)
 \renewcommand*{\EdgeColor}{col_a7-a9}
 \Edge(a7)(a9)
 %
 %
 \end{tikzpicture}
 }}}
 which should still produce the same output as in sage-petersen.pdf when
 processed by LaTeX.[[BR]]
 The '%' were added to avoid doctest errors.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5975#comment:3>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to