Maker L
A
TEX Package
V 1.0
Mg. Fausto Mauricio Lagos Su´
arez
piratax007@protonmail.ch
15 de julio de 2017
Resumen
El paquetemakerprovee ambientes y comandos basados en el paquete listings que permiten incluir r´apidamente c´odigo Arduino o Processing utilizando el resaltado de sintaxis de su respectivo IDE.
Gu´ıa del usuario
1. ¿Qu´e puede hacer el paquete maker? 1
1.1. Incluir c´odigo directamente en el documento . . . 1
1.2. Incluir c´odigo en l´ınea con el texto . . . 2
1.3. Incluir c´odigo desde un archivo .ino o .pde . . . 2
2. Instalaci´on 3
3. Licencia 4
1.
¿Qu´
e puede hacer el paquete
maker
?
El paquetemakertiene dos opciones, Arduino y Processing las cuales pueden utilizarse de forma inde-pendiente o conjunta en el mismo documento.
El paquetemaker le permite incluir c´odigo de Arduino o Processing utilizando el resaltado de sintaxis propio de su respectivo IDE oficial, puede hacerlo de tres formas diferentes:
1. Escribiendo el c´odigo directamente en el documento LATEX.
2. Incluyendo comando de Arduino o Processing en l´ınea con el texto. 3. Cargando el c´odigo desde un archivo .ino (Arduino) o .pde (processing).
La versi´on V 1.0 del paquete maker esta basada en el resaltado de sintanxis de Arduino disponible
en https://www.arduino.cc/en/Reference/HomePage y en la experiencia de usuario con Processing, si
encuentra alguna modificaci´on que deba hacerse a este paquete no dude en contactar con su desarrollador.
1.1.
Incluir c´
odigo directamente en el documento
Para incluir c´odigo de Arduino o Processing escribi´endolo directamente en el documento LATEX se utiliza el ambienteArduinoSketchBoxoProcessingSketchBoxrespectivamente.
Este ambiente tiene un par´ametro de entrada obligatorio correspondiente al t´ıtulo o caption del c´odigo.
\begin{ArduinoSketchBox}{Ejemplo Arduino}
\begin{ProcessingSketchBox}{Ejemplo Processing} void draw(){ ellipse(50, 50, 25, 30); } \end{ProcessingSketchBox} Ejemplo Processing 1 v o i d draw( ) { 2 e l l i p s e( 5 0 , 5 0 , 2 5 , 3 0 ) ; 3 }
Los ambientesArduinoSketchBoxyProcessingSketchBoxson ideales para peque˜nas piezas de c´odigo.
1.2.
Incluir c´
odigo en l´ınea con el texto
Los comandos\ArduinoInliney\ProcessingInlinepermiten incluir comandos de cualquiera de estos dos lenguajes en l´ınea con el texto, su uso es muy simple ya que tiene un ´unico par´ametro de entrada que corresponde con el c´odigo a incluir.
Un sketch din´amico de Arduino utiliza las funciones \ArduinoInline{void setup()} y
\ArduinoInLine{void loop()} mientras que su equialente en Processing utiliza las funciones \ProcessingInline{void setup()} y \ProcessingInline{void draw()}.
Un sketch din´amico de Arduino utiliza las funciones void setup() y void loop() mientras que su equialente en Processing utiliza las funciones voidsetup() y void draw().
1.3.
Incluir c´
odigo desde un archivo .ino o .pde
Incluir c´odigo de Arduino o Processing a partir de un archivo .ino o .pde es muy f´acil utilizando el comando \ArduinoSketch o \ProcessingSketch que tiene dos par´ametros de entrada, el nombre del archivo de c´odigo sin extensi´on y el texto del caption.
\ArduinoSketch{Blink}{Ejemplo de c´odigo Arduino a partir de un archivo .ino}
1 /*
2 B l i n k
3 Turns on an LED on f o r one s e c o n d , t h e n o f f f o r one s e c o n d , r e p e a t e d l y . 4
5 Most A r d u i n o s have an on−bo ard LED you can c o n t r o l . On t h e UNO, MEGA and ZERO
6 i t i s a t t a c h e d t o d i g i t a l p i n 1 3 , on MKR1000 on p i n 6 . LED BUILTIN t a k e s c a r e 7 o f u s e t h e c o r r e c t LED p i n w h a t e v e r i s t h e bo ard u s e d .
8 I f you want t o know what p i n t h e on−bo ard LED i s c o n n e c t e d t o on y o u r Arduino model ,
c h e c k 9 t h e T e c h n i c a l S p e c s o f y o u r b oar d a t h t t p s : / /www. a r d u i n o . c c / en /Main/ P r o d u c t s 10 11 T h i s example c o d e i s i n t h e p u b l i c domain . 12 13 m o d i f i e d 8 May 2014 14 by S c o t t F i t z g e r a l d 15 16 m o d i f i e d 2 Sep 2016 17 by A r t u r o G u a d a l u p i 18 */ 19
20 // t h e s e t u p f u n c t i o n r u n s o n c e when you p r e s s r e s e t o r power t h e b oar d 21 v o i d s e t u p( ) {
22 // i n i t i a l i z e d i g i t a l p i n LED BUILTIN a s an o u t p u t .
23 pinMode(LED BUILTIN, OUTPUT) ;
24 } 25
26 // t h e l o o p f u n c t i o n r u n s o v e r and o v e r a g a i n f o r e v e r 27 v o i d l o o p( ) {
28 d i g i t a l W r i t e(LED BUILTIN, HIGH) ; // t u r n t h e LED on (HIGH i s t h e v o l t a g e l e v e l )
29 d e l a y( 1 0 0 0 ) ; // w a i t f o r a s e c o n d
30 d i g i t a l W r i t e(LED BUILTIN, LOW) ; // t u r n t h e LED o f f by making t h e v o l t a g e LOW
31 d e l a y( 1 0 0 0 ) ; // w a i t f o r a s e c o n d
32 }
Listing 1: Ejemplo de c´odigo Arduino a partir de un archivo .ino
\ProcessingSketch{Lluvia}{Ejemplo de c´odigo Processing a partir de un archivo .pde} 1 g o t a [ ] l l u v i a = new g o t a [ 1 0 0 ] ; 2 f l o a t Y1 , Y2 , v ; 3 4 v o i d setup( ) { 5 s i z e( 4 0 0 , 3 5 0 ) ; 6 f o r (i n t i = 0 ; i < l l u v i a .l e n g t h; i ++){ 7 Y1 = random(−h e i g h t, 0 ) ; 8 Y2 = Y1 + 5 ; 9 v = 3 .2 ; 10 l l u v i a [ i ] = new g o t a (Y1 , Y2 , v ) ; 11 } 12 } 13 14 v o i d draw( ) { 15 ba ck gr ou nd( 1 2 5 ) ; 16 f o r (i n t i = 0 ; i < l l u v i a .l e n g t h; i ++){ 17 l l u v i a [ i ] . d i s p l a y ( ) ; 18 l l u v i a [ i ] . f a l l ( ) ; 19 } 20 } 21 22 c l a s s g o t a { 23 f l o a t x , y 1 , y2 , v ; 24 25 g o t a (f l o a t Y1 , f l o a t Y2 , f l o a t v e l o c i t y ) { 26 x = random(wi dt h) ; 27 y 1 = Y1 ; 28 y 2 = Y2 ; 29 v = v e l o c i t y ; 30 } 31 32 v o i d d i s p l a y ( ) { 33 l i n e( x , y 1 , x , y2 ) ; 34 } 35 36 v o i d f a l l ( ) { 37 i f ( y 2 <= h e i g h t) { 38 y 1 += v ; 39 y 2 += v ; 40 } 41 e l s e { 42 y 1 = random(−5 0 , 0 ) ; 43 y 2 = y 1 + 5 ; 44 } 45 } 46 }
Listing 2: Ejemplo de c´odigo Processing a partir de un archivo .pde
2.
Instalaci´
on
Probablementemakerno este instalado por defecto en su distribuci´on de LATEX, si este es el caso puede utilizar el administrador de paquetes de su distribuci´on para instalarmakero de otra forma puede instalarlo manualmente siguiendo las instrucciones a continuaci´on.
Deber´a descargar el archivo maker.sty desde la p´agina del proyecto, una vez disponga localmente del archivo maker.sty tendr´a que copiarlo en el ´arbol de directorios de su distribuci´on que variar´a de acuerdo al sistema operativo que este utilizando, puede referirse a TEX FAQ para encontrar instrucciones m´as detalladas. Si quiere trabajar con la ´ultiva versi´on deber´a reemplazar el archivo maker.sty por el m´as reciente descargado desde la p´agina del proyecto.
3.
Licencia
Este trabajo puede ser distribuido o modificado bajo los t´erminos y condiciones de la LaTeX Project Pu-blic License (LPPL) v1.3C, o cualquier versi´on porterior. La ´ultima versi´on de esta licencia puede consultarse
enhttp://www.latex-project.org/lppl.txt.
Usted es libre de utilizarlo, modificarlo y compartirlo siempre que se respeten los t´erminos y condiciones de la licencia y se reconozca al autor original.