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

  • Thread starter Thread starter Tokipin
  • Start date Start date
  • Tags Tags
    Diagrams Latex
AI Thread Summary
The discussion revolves around the need for a diagram package in TeX, particularly for creating commutative diagrams. Users share their experiences with the existing picture environment in LaTeX, showcasing various diagram examples and expressing limitations, such as the difficulty in creating angled arrows. Some participants mention alternative tools like CorelDraw and jpicedt for diagram creation, noting that while jpicedt is useful, it can produce complex outputs that are hard to edit. There is also a call for better SVG support in LaTeX, with Asymptote highlighted as a potential solution for diagram creation. The conversation emphasizes the challenges and workarounds in generating diagrams within LaTeX.
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

<br /> <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 /> \[<br />
 
I mean diagrams like this:

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

Attachments

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

<br /> \]<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>
 
For some reason, I have to force it do italics

<br /> <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>
 
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.
 
<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( 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>

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 \LaTeX documents
 

Similar threads

Replies
4
Views
3K
Replies
3
Views
4K
Replies
7
Views
3K
Replies
25
Views
2K
Replies
4
Views
2K
Replies
1
Views
2K
Replies
7
Views
12K
Replies
12
Views
3K
Back
Top