Ver la versión completa : Dibujar con latex
Hola.
¿Como se hacen figuras con \latex? Es que solo me salen diagonales descendentes de izquierda a derecha.
En el tema de explicación que abrió Migui aparece esto:
[tex] \textcolor{red}{Test} \begin{picture}(200,200)(0,0) \put(50,50){\textcolor{green}{\line(1,1){50}}} \end{picture} [/tex]
Y alterando los números puedo hacer un montón de oblicuas descendentes \begin{picture}(200,200)(0,0) \put(0,20){\textcolor{red}{\line(1,1){50}}} \put(0,20){\textcolor{blue}{\line(5,10){30}}} \end{picture}
Pero n.p.i. de como hacerlas hacia el otro lado, horizontales o verticales.
¿Será que hay que emplear algo diferente a "\put"?
Saludos.
Tesseract
08/03/2006, 01:24
Toy curioseando, a ver. Los dos números que van entre paréntesis tras line, (1,1) en este caso, son el vector director de la recta. Mira si cambio el segundo uno por un cero:
\textcolor{red}{Test} \begin{picture}(200,200)(0,0) \put(50,50){\textcolor{green}{\line(1,0){50}}} \end{picture}
He encontrado una guia para hacer dibujitos: http://www.latex.um.es/curso_2000/sesiones/sesion5a.pdf
Hola.
Pues muchas gracias.
\begin{picture}(300,100)
\put(20,20){\line(1,0){150}}\put(20,20){\line(2,1) {150}}
\put(170,20){\line(0,1){75}}
\put(50,24){$\theta$}\put(85,60){$a$}
\put(85,5){$\sqrt{a^2-b^2}$}\put(180,50){$b$}
\put(160,20){\line(0,1){10}}\put(160,30){\line(1,0 ){10}}
\put(48,20){\line(-1,4){3}}
\put(220,70){$\displaystyle\mathrm{sen}\theta=\fra c ba$}
\put(220,30){$\displaystyle\cos\theta=\frac{\sqrt{ a^2-b^2}}{a}$}
\end{picture}
como mola.
Tesseract
08/03/2006, 02:25
La leche, como has progresado en media hora, soy un profesor cojonudo. xD
jeje, pero como mola. Igualico que un niño el día de reyes.
\begin{picture}(150,150)
\put(20,20){\line(1,0){130}}
\put(20,150){\line(1,-1){130}}
\put(20,20){\line(0,1){130}}
\end{picture}
Hoy un triángulo. Mañana, la O con un canuto.
P.D. Lo anterior fue un copia pega :lol:
Pero este nuevo triángulo me lo he currado yo "solito"
:r: :D :lol: :-P
Tesseract
08/03/2006, 02:40
Creo que ya sospechaba lo del copia pega. xD Pero ese triángulo ha quedado bien hermosote. :wink: ¿Seguro que no intentabas hacer un círculo? :lol:
Ontureño
08/03/2006, 12:07
Jo, esto para hacer croquis está de puta madre. Habrá que dedicarle un ratillo.
Coño Nexus, media hora de LaTeX y ya sabes más que yo en 4 años xDDDDDDDDd
graviton
09/03/2006, 21:55
Ahí va un ejemplo:
\begin{picture}(200,200)
\put(80,50){\line(2,3){30}}
\put(80,50){\line(1,0){60}}
\put(110,95){\line(2,-3){30}}
\put(97,74){\line(1,0){27}}
\put(32,42){\line(2,1){65}}
\put(90,30){\textcolor{red}{PRISMA}}
\put(124,74){\textcolor{red}{\line(3,-1){70}}}
\put(124,74){\textcolor{yellow}{\line(5,-2){68}}}
\put(124,74){\textcolor{green}{\line(2,-1){66}}}
\put(124,74){\textcolor{cyan}{\line(3,-2){62}}}
\put(124,74){\textcolor{blue}{\line(4,-3){59}}}
\end{picture}
A toro pasado parece fácil, pero me ha costado el dibujito.
Ya lo creo que te ha debido costar, especialmente encontrar la relación para la dirección de los vectores de colores.
Ya puestos, y una vez que el rayo de entrada es un vector ...
\put(124,74){\textcolor{yellow}{\line(5,-2){68}}}
¿no estaría mejor emplear \vector en vez de \line para los rayos de salida? :verg:
Lo que más gracia me hace es que haya que darle tamaño al principio. Si no utilizas todo el tamaño, luego latex ajusta el tamaño de la imagen a lo más pequeño posible, y si quieres dibujar por fuera del tamaño inicial lo puedes hacer sin ningún problema.
Vamos, que es méramente orientativo y prescindible.
Saludos.
Realmente...esto es útil? Vale, farda hacer dibujitos, pero se acaba antes cogiendo el Paint, y si te esfuerzas un poco quedan bastante bien.
Hola.
Hombre, es como todo en esta vida: Siempre hay algo mejor. Pero cuando le coges el tranquillo haces un dibujo sencillito en un periquete y no tienes que estar subiendo nada a la red ni estar con copia-pegas de link y enlaces.
Vosotros "veis" una integral con solo mirarla (o al menos algunas sencillitas), pero a mi me va la geometría y sí que he echado de menos en bastantes mensajes el poder hacer un dibujo sencillito de triángulos o circunferencias.
Si es útil lo utilizas, y si no, pues no.
Saludos.
graviton
10/03/2006, 10:57
Ya lo creo que te ha debido costar, especialmente encontrar la relación para la dirección de los vectores de colores.
Eso ha sido lo más fácil, ya que la cosa está bastante limitada, sólo se pueden definir las direcciones de las líneas con enteros del 0 al 6 (y el signo + o -). Así que las combinaciones son limitadas. De haber tenido más posibilidades habría puesto también un rayo "magenta", que es un color admitido.
Ya puestos, y una vez que el rayo de entrada es un vector ...
\put(124,74){\textcolor{yellow}{\line(5,-2){68}}}
¿no estaría mejor emplear \vector en vez de \line para los rayos de salida? :verg:
Sólo he puesto el vector para que se vieran más posibilidades, no para hacer bonito. :D
Al final he quitado el vector.
Lo que más gracia me hace es que haya que darle tamaño al principio. Si no utilizas todo el tamaño, luego latex ajusta el tamaño de la imagen a lo más pequeño posible, y si quieres dibujar por fuera del tamaño inicial lo puedes hacer sin ningún problema.
Vamos, que es méramente orientativo y prescindible.
Lo del tamaño me desorientó bastante al principio hasta que me di cuenta de que importaba poco o nada. Pero percisamente lo más difícil para mi es colocar los objetos, ya que al variar automáticamente el tamaño las coordenadas me parecen bastante difíciles de controlar.
Sobre si es útil o no, cuantas más armas tengamos mejor, no?
Ostias, llevo unos días sin mirar el foro y hay una actividad impresionante siempre, así que ahora tengo trabajo a seguiros xDDDD.
Me gusta que os esteis rallando con el tema de LaTeX y los dibujos xDDD
Aunque no domino demasiado el tema de "programar" dibujos con LaTeX, el entorno \picture es algo rudimentario, y hay otras herramientas más potentes.
Las que más me impresionan son el pstricks (tiene muchos paquetes adicionales que son la caña) y el pgf, que personalmente es mi favorito.
Por si alguien se interesa, el manual de TikZ and PGF está aquí: http://www.ifi.uio.no/it/latex-links/pgfmanual.pdf
Puede parecer (¿lo es? :twisted:) algo dificil y innecesario ir por la vida programando tus dibujos, y hay magníficos programas de dibujo vectorial (el Paint debería estar prohibido, hombre!) como el Xfig o el METAGRAF [propaganda?, nooooooooo]. Aun así, hacerlo a pelo (i.e. programarlos) es una opción más, y si se domina puede ser genial (quien lo sepa que me lo diga, pero esa es mi opinión :P).
En fin, no rallo más.
Saludos a todos!
Sobre si es útil o no, cuantas más armas tengamos mejor, no?
Totalmente de acuerdo.
graviton
17/12/2006, 11:42
He hecho este pastel para el bianiversario del foro, pero he tenido algún problema.
\begin{picture}(300,300)
\put(0,60){\textcolor{magenta}{\line(1,0){80}}}
\put(0,0){\textcolor{magenta}{\line(1,0){80}}}
\put(80,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,20){\textcolor{magenta}{\line(1,0){80}}}
\put(0,40){\textcolor{magenta}{\line(1,0){80}}}
\put(25,60){\textcolor{blue}{\line(0,1){40}}}
\put(29,60){\textcolor{blue}{\line(0,1){40}}}
\put(25,100){\textcolor{blue}{\line(1,0){4}}}
\put(51,60){\textcolor{blue}{\line(0,1){40}}}
\put(55,60){\textcolor{blue}{\line(0,1){40}}}
\put(51,100){\textcolor{blue}{\line(1,0){4}}}
\put(27,100){\line(0,1){5}}
\put(53,100){\line(0,1){5}}
\put(27,105){\textcolor{red}{\circle{5}}}
\put(29,109){\textcolor{red}{\circle{3}}}
\put(28,112){\textcolor{red}{\circle{2}}}
\put(53,105){\textcolor{red}{\circle{5}}}
\put(55,109){\textcolor{red}{\circle{3}}}
\put(54,112){\textcolor{red}{\circle{2}}}
\put(13,27){\textcolor{red}{CHAPEAU}}
\end{picture}
Quería escribir Felicidades, pero si ponía más de 8 letras me daba error (el temible NO SE PUEDE GENERAR ESTA FORMULA).
Y lo mismo si intentaba escribir algo (o adornarlo con otros elementos) en las tres partes del pastel. O si quería poner las letras en 'green'.
A ver si alguien me puede decir por qué pasa esto.
\begin{picture}(300,300)
\put(0,60){\textcolor{magenta}{\line(1,0){80}}}
\put(0,0){\textcolor{magenta}{\line(1,0){80}}}
\put(80,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,20){\textcolor{magenta}{\line(1,0){80}}}
\put(0,40){\textcolor{magenta}{\line(1,0){80}}}
\put(25,60){\textcolor{blue}{\line(0,1){40}}}
\put(29,60){\textcolor{blue}{\line(0,1){40}}}
\put(25,100){\textcolor{blue}{\line(1,0){4}}}
\put(51,60){\textcolor{blue}{\line(0,1){40}}}
\put(55,60){\textcolor{blue}{\line(0,1){40}}}
\put(51,100){\textcolor{blue}{\line(1,0){4}}}
\put(27,100){\line(0,1){5}}
\put(53,100){\line(0,1){5}}
\put(27,105){\textcolor{red}{\circle{5}}}
\put(29,109){\textcolor{red}{\circle{3}}}
\put(28,112){\textcolor{red}{\circle{2}}}
\put(53,105){\textcolor{red}{\circle{5}}}
\put(55,109){\textcolor{red}{\circle{3}}}
\put(8,27){\textcolor{red}{FELICIDADES}}
\end{picture}
Es por el tamaño del código. Ahora entra "felicidades" pero he tenido que quitar
\put(54,112){\textcolor{red}{\circle{2}}}
Si pongo dentro ese círculo entonces me sale lo de "no se ha podido generar la fórmula". Luego a la noche lo probaré, pero creo que uniendo varios put en un único multiput se podrá conseguir.
Saludos.
graviton
17/12/2006, 20:53
¿Quieres decir que hay un límite para la longitud del código que se puede escribir?
Probando:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Otra A más y peta.
Gracias Maestro
Ese error me lo aprendí a base de sangre, sudor y lágrimas.
Puedes solucionarlo uniendo dos gráficos sin poner ningún espacio entre el [ \tex] y el [ tex] (la mitad derecha un gráfico y la mitad izquierda otro gráfico) o poniendo un intro entre el final del uno y principio del otro (la mitad superior un gráfico y la mitad inferior el otro)
Algo así como esto:
\begin{picture}(300,300)
\put(25,60){\textcolor{blue}{\line(0,1){40}}}
\put(29,60){\textcolor{blue}{\line(0,1){40}}}
\put(25,100){\textcolor{blue}{\line(1,0){4}}}
\put(51,60){\textcolor{blue}{\line(0,1){40}}}
\put(55,60){\textcolor{blue}{\line(0,1){40}}}
\put(51,100){\textcolor{blue}{\line(1,0){4}}}
\put(27,100){\line(0,1){5}}
\put(53,100){\line(0,1){5}}
\put(27,105){\textcolor{red}{\circle{5}}}
\put(29,109){\textcolor{red}{\circle{3}}}
\put(28,112){\textcolor{red}{\circle{2}}}
\put(53,105){\textcolor{red}{\circle{5}}}
\put(55,109){\textcolor{red}{\circle{3}}}
\put(54,112){\textcolor{red}{\circle{2}}}
\put(0,60){\textcolor{magenta}{\line(1,0){80}}}
\end{picture}
\begin{picture}(300,300)
\put(0,60){\textcolor{magenta}{\line(1,0){80}}}
\put(0,0){\textcolor{magenta}{\line(1,0){80}}}
\put(80,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,20){\textcolor{magenta}{\line(1,0){80}}}
\put(0,40){\textcolor{magenta}{\line(1,0){80}}}
\put(7,27){\textcolor{red}{FELICIDADES}}
\end{picture}
Hombre, la imagen no es perfecta, pero en un tema sobre la numeración de los algebraicos (que tengo escrito pero no está publicado) cumple a rajatabla todas las exigencias.
Aunque también puedes suprimir algún color
\begin{picture}(300,300)
\put(25,60){\textcolor{blue}{\line(0,1){40}}}
\put(29,60){\textcolor{blue}{\line(0,1){40}}}
\put(25,100){\textcolor{blue}{\line(1,0){4}}}
\put(51,60){\textcolor{blue}{\line(0,1){40}}}
\put(55,60){\textcolor{blue}{\line(0,1){40}}}
\put(51,100){\textcolor{blue}{\line(1,0){4}}}
\put(27,100){\line(0,1){5}}
\put(53,100){\line(0,1){5}}
\put(27,105){\textcolor{red}{\circle{5}}}
\put(29,109){\textcolor{red}{\circle{3}}}
\put(28,112){\textcolor{red}{\circle{2}}}
\put(53,105){\textcolor{red}{\circle{5}}}
\put(55,109){\textcolor{red}{\circle{3}}}
\put(54,112){\textcolor{red}{\circle{2}}}
\put(0,60){\line(1,0){80}}
\put(0,0){\line(1,0){80}}
\put(80,0){\line(0,1){60}}
\put(0,0){\line(0,1){60}}
\put(0,20){\line(1,0){80}}
\put(0,40){\line(1,0){80}}
\put(7,27){\textcolor{red}{FELICIDADES}}
\end{picture}
Y ya coje entero en un solo gráfico.
Saludos.
graviton
17/12/2006, 21:43
O sea que en vez de tapices ahora tendré que hacer mosaicos.
Pero el color no lo quito que pierde el sabor a frambuesa. :D
Muchas gracias
O recurrir al multiput
Estos 4 códigos:
\put(0,0){\textcolor{magenta}{\line(1,0){80}}}
\put(0,20){\textcolor{magenta}{\line(1,0){80}}}
\put(0,40){\textcolor{magenta}{\line(1,0){80}}}
\put(0,60){\textcolor{magenta}{\line(1,0){80}}}
Se puede reemplazar por un único código:
\multiput(0,0)(0,20){4}{\textcolor{magenta}{\line( 1,0){80}}}
cuya forma es
\multiput(coordenadas)(incrementoX, incrementoY){numero copias}{lo que sea}
y entonces ....
\begin{picture}(300,300)
\multiput(0,0)(0,20){4}{\textcolor{magenta}{\line( 1,0){80}}}
\put(80,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,0){\textcolor{magenta}{\line(0,1){60}}}
\put(25,60){\textcolor{blue}{\line(0,1){40}}}
\put(29,60){\textcolor{blue}{\line(0,1){40}}}
\put(25,100){\textcolor{blue}{\line(1,0){4}}}
\put(51,60){\textcolor{blue}{\line(0,1){40}}}
\put(55,60){\textcolor{blue}{\line(0,1){40}}}
\put(51,100){\textcolor{blue}{\line(1,0){4}}}
\put(27,100){\line(0,1){5}}
\put(53,100){\line(0,1){5}}
\put(27,105){\textcolor{red}{\circle{5}}}
\put(29,109){\textcolor{red}{\circle{3}}}
\put(28,112){\textcolor{red}{\circle{2}}}
\put(53,105){\textcolor{red}{\circle{5}}}
\put(55,109){\textcolor{red}{\circle{3}}}
\put(54,112){\textcolor{red}{\circle{2}}}
\put(7,27){\textcolor{red}{FELICIDADES}}
\end{picture}
graviton
17/12/2006, 22:35
Ahora sí, alucino con el multipud :shock:
\begin{picture}(300,300)
\multiput(0,0)(0,20){4}{\textcolor{magenta}{\line( 1,0){80}}}
\put(80,0){\textcolor{magenta}{\line(0,1){60}}}
\put(0,0){\textcolor{magenta}{\line(0,1){60}}}
\put(25,60){\textcolor{blue}{\line(0,1){40}}}
\put(29,60){\textcolor{blue}{\line(0,1){40}}}
\put(25,100){\textcolor{blue}{\line(1,0){4}}}
\put(51,60){\textcolor{blue}{\line(0,1){40}}}
\put(55,60){\textcolor{blue}{\line(0,1){40}}}
\put(51,100){\textcolor{blue}{\line(1,0){4}}}
\put(27,100){\line(0,1){5}}
\put(53,100){\line(0,1){5}}
\put(27,105){\textcolor{red}{\circle{5}}}
\put(29,109){\textcolor{red}{\circle{3}}}
\put(28,112){\textcolor{red}{\circle{2}}}
\put(53,105){\textcolor{red}{\circle{5}}}
\put(55,109){\textcolor{red}{\circle{3}}}
\put(54,112){\textcolor{red}{\circle{2}}}
\put(16,45){\textcolor{red}{MUCHAS}}
\put(6,27){\textcolor{red}{FELICIDADES}}
\put(9,7){\textcolor{red}{FORO MIGUI}}
\end{picture}
Que paquetes se necesitan para poder usar correctamente este entorno?
Powered by vBulletin® Version 4.1.6 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.