Create Math Diagrams in LaTeX: Does TeX Have Diagram Package?

  • Context: LaTeX 
  • Thread starter Thread starter Tokipin
  • Start date Start date
  • Tags Tags
    Diagrams Latex
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
8 replies · 16K views
Tokipin
Messages
19
Reaction score
0
Does the TeX install here have a diagram package? For diagrams like commutative diagrams. It would be nice.
 
Physics news on Phys.org
the picture environment works

[itex] <br /> \]<br /> <br /> \begin{picture}(200,200)(0,0)\multiput(0,0)(40,10) {5}{\line(1,4){40}}\multiput( 0,0)(10,40){5}{\line(4,1){160}}<br /> \put(0,0){\vector(1,4){50}}<br /> \put(0,0){\vector(1,2){90}}<br /> \put(50,50){\circle*{10}} <br /> <br /> \put(160,40){\framebox(80,40)[r]{ \textcolor{blue}{\bf \[ x_{Bob} \] } } }<br /> \put(40,160){\textcolor{yellow}{\dashbox(80,40)[t]{ \textcolor{red}{ \[ t_{Bob} \] } } }}<br /> <br /> \qbezier(100,100)(200,100)(200,200)<br /> \linethickness{8pt} <br /> \textcolor{green}{\qbezier(0,0)(0,100)(100,100)}<br /> \linethickness{1pt} <br /> \qbezier(0,0)(0,100)(100,100)<br /> <br /> \linethickness{5pt} <br /> \put(0,0){\vector(2,1){220}}<br /> <br /> \end{picture}<br /> \[[/itex]
 
I mean diagrams like this:

attachment.php?attachmentid=18121&d=1237834928.png
 

Attachments

  • commutativediagram.png
    commutativediagram.png
    1 KB · Views: 1,244
a little crude...

[tex] \]<br /> \begin{picture}(200,200)(0,0)<br /> \put( 0, 0){\makebox(0,0){X}}<br /> \put( 0,50){\makebox(0,0){A}}<br /> \put( 0,10){\vector(0,1){30}} \put(-5,25){\makebox(0,0)[r]{a}}<br /> \put(10, 0){\vector(1,0){30}} \put(25,-5){\makebox(0,0)[t]{b}}<br /> \put(50, 0){\makebox(0,0){B}}<br /> \put(50,10){\vector(0,1){30}} \put(55,25){\makebox(0,0)[l]{f}}<br /> \put(50,50){\makebox(0,0){C}}<br /> \put(10,50){\vector(1,0){30}} \put(25,55){\makebox(0,0)<b>{g}}<br /> \end{picture}<br /> \[<br /> </b>[/tex]
 
For some reason, I have to force it do italics

[tex] <br /> \begin{picture}(200,200)(0,0)<br /> \put( 0, 0){\makebox(0,0){\it X}}<br /> \put( 0,100){\makebox(0,0){\it A}}<br /> \put( 0,10){\vector(0,1){80}} \put(-5,50){\makebox(0,0)[r]{\it a}}<br /> \put(10, 0){\vector(1,0){80}} \put(50,-5){\makebox(0,0)[t]{\it b}}<br /> \put(100, 0){\makebox(0,0){\it B}}<br /> \put(100,10){\vector(0,1){80}} \put(100,50){\makebox(0,0)[l]{\it f}}<br /> \put(100,100){\makebox(0,0){\it C}}<br /> \put(10,100){\vector(1,0){80}} \put(50,100){\makebox(0,0)<b>{\it g}}<br /> \end{picture}<br /> <br /> <br /> </b>[/tex]
 
Thanks for the recommendations. Is it possible to make an angled arrow?

I think I'll stick to CorelDraw for the time being. I could probably make a simple SVG-to-picture converter program, but I'm not sure how much it's worth the trouble.

Actually there are obviously LaTeX picture editors. I found this one: http://jpicedt.sourceforge.net

I'll try it out later.
 
[tex] \begin{picture}(200,200)(0,0)<br /> \put( 0, 0){\makebox(0,0){\it X}}<br /> \put( 0,100){\makebox(0,0){\it A}}<br /> \put( 8, 8){\vector(1,1){86}} <br /> \put( 0,10){\vector(0,1){80}} \put(-5,50){\makebox(0,0)[r]{\it a}}<br /> \put(10, 0){\vector(1,0){80}} \put(50,-5){\makebox(0,0)[t]{\it b}}<br /> \put(100, 0){\makebox(0,0){\it B}}<br /> \put(100,10){\vector(0,1){80}} \put(100,50){\makebox(0,0)[l]{\it f}}<br /> \put(100,100){\makebox(0,0){\it C}}<br /> \put(10,100){\vector(1,0){80}} \put(50,100){\makebox(0,0)<b>{\it g}}<br /> \end{picture}<br /> </b>[/tex]

LaTeX picture vectors allow slopes in a limited selection of rational slopes.

jpicedt is pretty good... but I think that some things are rendered in overly complicated ways [that are hard for me to edit manually at the LaTeX level].

[I've been advocating SVG support in posts here at PF. No takers. :frown:]
 
Asymptote is a nice tool for making diagrams in [tex]\LaTeX[/tex] documents