PDA

View Full Version : Math Diagrams in LaTeX?


Tokipin
Mar22-09, 04:36 PM
Does the TeX install here have a diagram package? For diagrams like commutative diagrams. It would be nice.

robphy
Mar22-09, 06:49 PM
the picture environment works



\]

\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}}
\put(0,0){\vector(1,4){50}}
\put(0,0){\vector(1,2){90}}
\put(50,50){\circle*{10}}

\put(160,40){\framebox(80,40)[r]{ \textcolor{blue}{\bf \[ x_{Bob} \] } } }
\put(40,160){\textcolor{yellow}{\dashbox(80,40)[t]{ \textcolor{red}{ \[ t_{Bob} \] } } }}

\qbezier(100,100)(200,100)(200,200)
\linethickness{8pt}
\textcolor{green}{\qbezier(0,0)(0,100)(100,100)}
\linethickness{1pt}
\qbezier(0,0)(0,100)(100,100)

\linethickness{5pt}
\put(0,0){\vector(2,1){220}}

\end{picture}
\[

Tokipin
Mar23-09, 03:04 PM
I mean diagrams like this:

http://www.physicsforums.com/attachment.php?attachmentid=18121&d=1237834928

alligatorman
Mar23-09, 05:13 PM
http://en.wikibooks.org/wiki/LaTeX/Creating_Graphics#XY-pic

robphy
Mar23-09, 05:43 PM
a little crude...


\]
\begin{picture}(200,200)(0,0)
\put( 0, 0){\makebox(0,0){X}}
\put( 0,50){\makebox(0,0){A}}
\put( 0,10){\vector(0,1){30}} \put(-5,25){\makebox(0,0)[r]{a}}
\put(10, 0){\vector(1,0){30}} \put(25,-5){\makebox(0,0)[t]{b}}
\put(50, 0){\makebox(0,0){B}}
\put(50,10){\vector(0,1){30}} \put(55,25){\makebox(0,0)[l]{f}}
\put(50,50){\makebox(0,0){C}}
\put(10,50){\vector(1,0){30}} \put(25,55){\makebox(0,0)[b]{g}}
\end{picture}
\[

robphy
Mar23-09, 06:03 PM
For some reason, I have to force it do italics



\begin{picture}(200,200)(0,0)
\put( 0, 0){\makebox(0,0){\it X}}
\put( 0,100){\makebox(0,0){\it A}}
\put( 0,10){\vector(0,1){80}} \put(-5,50){\makebox(0,0)[r]{\it a}}
\put(10, 0){\vector(1,0){80}} \put(50,-5){\makebox(0,0)[t]{\it b}}
\put(100, 0){\makebox(0,0){\it B}}
\put(100,10){\vector(0,1){80}} \put(100,50){\makebox(0,0)[l]{\it f}}
\put(100,100){\makebox(0,0){\it C}}
\put(10,100){\vector(1,0){80}} \put(50,100){\makebox(0,0)[b]{\it g}}
\end{picture}

Tokipin
Mar24-09, 04:31 PM
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.

robphy
Mar24-09, 05:36 PM
\begin{picture}(200,200)(0,0)
\put( 0, 0){\makebox(0,0){\it X}}
\put( 0,100){\makebox(0,0){\it A}}
\put( 8, 8){\vector(1,1){86}}
\put( 0,10){\vector(0,1){80}} \put(-5,50){\makebox(0,0)[r]{\it a}}
\put(10, 0){\vector(1,0){80}} \put(50,-5){\makebox(0,0)[t]{\it b}}
\put(100, 0){\makebox(0,0){\it B}}
\put(100,10){\vector(0,1){80}} \put(100,50){\makebox(0,0)[l]{\it f}}
\put(100,100){\makebox(0,0){\it C}}
\put(10,100){\vector(1,0){80}} \put(50,100){\makebox(0,0)[b]{\it g}}
\end{picture}


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:]

qntty
May17-09, 08:49 PM
Asymptote (http://asymptote.sourceforge.net/) is a nice tool for making diagrams in \LaTeX documents