Maker LATEX Package
V 1.0
Mg. Fausto Mauricio Lagos Suárez
[email protected]
15 de julio de 2017
Resumen
El paquete maker provee ambientes y comandos basados en el paquete listings que permiten incluir
rápidamente código Arduino o Processing utilizando el resaltado de sintaxis de su respectivo IDE.
Guía del usuario
1. ¿Qué puede hacer el paquete maker?
1.1.
1.2.
1.3.
Incluir código directamente en el documento . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Incluir código en línea con el texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Incluir código desde un archivo .ino o .pde . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Instalación
3. Licencia
1
1
2
2
3
4
1.
¿Qué puede hacer el paquete maker?
El paquete maker tiene dos opciones, Arduino y Processing las cuales pueden utilizarse de forma inde-
pendiente o conjunta en el mismo documento.
El paquete maker le permite incluir código 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ódigo directamente en el documento LATEX.
2. Incluyendo comando de Arduino o Processing en línea con el texto.
3. Cargando el código desde un archivo .ino (Arduino) o .pde (processing).
La versión 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ón que deba hacerse a este paquete no dude en contactar con su desarrollador.
1.1.
Incluir código directamente en el documento
Para incluir código de Arduino o Processing escribiéndolo directamente en el documento LATEX se utiliza
el ambiente ArduinoSketchBox o ProcessingSketchBox respectivamente.
Este ambiente tiene un parámetro de entrada obligatorio correspondiente al título o caption del código.
Ejemplo Arduino
\begin{ArduinoSketchBox}{Ejemplo Arduino}
void setup(){
led = pinMode(INPUT);
}
\end{ArduinoSketchBox}
1
1 v o i d s e t u p ( ) {
3 }
2
l e d = pinMode (INPUT) ;
\begin{ProcessingSketchBox}{Ejemplo Processing}
void draw(){
ellipse(50, 50, 25, 30);
}
\end{ProcessingSketchBox}
Ejemplo Processing
1 v o i d draw ( ) {
3 }
2
e l l i p s e ( 5 0 , 5 0 , 2 5 , 3 0 ) ;
Los ambientes ArduinoSketchBox y ProcessingSketchBox son ideales para pequeñas piezas de código.
1.2.
Incluir código en línea con el texto
Los comandos \ArduinoInline y \ProcessingInline permiten incluir comandos de cualquiera de estos
dos lenguajes en línea con el texto, su uso es muy simple ya que tiene un único parámetro de entrada que
corresponde con el código a incluir.
Un sketch dinámico 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ámico de Arduino utiliza las funciones void setup() y void loop() mientras que su equialente
en Processing utiliza las funciones void setup() y void draw() .
1.3.
Incluir código desde un archivo .ino o .pde
Incluir código de Arduino o Processing a partir de un archivo .ino o .pde es muy fácil utilizando
el comando \ArduinoSketch o \ProcessingSketch que tiene dos parámetros de entrada, el nombre del
archivo de código sin extensión y el texto del caption.
\ArduinoSketch{Blink}{Ejemplo de código Arduino a partir de un archivo .ino}
1 / *
2
3
B l i n k
Turns on an LED on f o r one second ,
then o f f
f o r one second ,
r e p e a t e d l y .
6
5 Most Arduinos have an on−board LED you can c o n t r o l . On t h e UNO, MEGA and ZERO
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
i t
o f u s e t h e c o r r e c t LED p i n whatever
I f you want t o know what p i n t h e on−board LED i s c o n n e c t e d t o on your Arduino model ,
t h e board used .
i s
c h e c k
t h e T e c h n i c a l S p e c s o f your board
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
This example code i s
i n t h e p u b l i c domain .
m o d i f i e d 8 May 2014
by S c o t t F i t z g e r a l d
4
7
8
9
10
11
12
13
14
15
16
m o d i f i e d 2 Sep 2016
by Arturo Guadalupi
17
18 */
19
20 // t h e s e t u p f u n c t i o n r u n s once when you p r e s s
21 v o i d s e t u p ( ) {
r e s e t o r power t h e board
// 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 output .
pinMode ( LED BUILTIN , OUTPUT) ;
22
23
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 ( ) {
d i g i t a l W r i t e ( LED BUILTIN , HIGH) ;
d e l a y ( 1 0 0 0 ) ;
d i g i t a l W r i t e ( LED BUILTIN , LOW) ;
d e l a y ( 1 0 0 0 ) ;
28
29
30
31
32 }
// t u r n t h e LED on (HIGH i s
// w a i t
// t u r n t h e LED o f f by making t h e v o l t a g e LOW
// w a i t
f o r a s e c o n d
f o r a s e c o n d
t h e v o l t a g e
l e v e l )
Listing 1: Ejemplo de código Arduino a partir de un archivo .ino
2
\ProcessingSketch{Lluvia}{Ejemplo de código Processing a partir de un archivo .pde}
l l u v i a = new g o t a [ 1 0 0 ] ;
1 g o t a [ ]
2 f l o a t Y1 , Y2 , v ;
3
4 v o i d setup ( ) {
s i z e ( 4 0 0 , 3 5 0 ) ;
f o r
i = 0 ;
( i n t
i < l l u v i a . l e n g t h ;
Y1 = random(− h e i g h t , 0 ) ;
Y2 = Y1 + 5 ;
v = 3 .2 ;
l l u v i a [ i ] = new g o t a (Y1 , Y2 , v ) ;
i ++){
background ( 1 2 5 ) ;
f o r
i = 0 ;
( i n t
i < l l u v i a . l e n g t h ;
i ++){
l l u v i a [ i ] . d i s p l a y ( ) ;
l l u v i a [ i ] . f a l l ( ) ;
5
6
7
8
9
10
11
15
16
17
18
19
}
}
12 }
14 v o i d draw ( ) {
13
20 }
22 c l a s s g o t a{
21
f l o a t x , y1 , y2 , v ;
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 ){
x = random ( width ) ;
y1 = Y1 ;
y2 = Y2 ;
v = v e l o c i t y ;
}
v o i d d i s p l a y ( ) {
}
v o i d f a l l ( ) {
l i n e ( x , y1 , x , y2 ) ;
i f
( y2 <= h e i g h t ){
y1 += v ;
y2 += v ;
}
e l s e {
y1 = random(−5 0 , 0 ) ;
y2 = y1 + 5 ;
}
}
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 }
Listing 2: Ejemplo de código Processing a partir de un archivo .pde
2.
Instalación
Probablemente maker no este instalado por defecto en su distribución de LATEX, si este es el caso puede
utilizar el administrador de paquetes de su distribución para instalar maker o de otra forma puede instalarlo
manualmente siguiendo las instrucciones a continuación.
Deberá descargar el archivo maker.sty desde la página del proyecto, una vez disponga localmente del
archivo maker.sty tendrá que copiarlo en el árbol de directorios de su distribución que variará de acuerdo
al sistema operativo que este utilizando, puede referirse a TEX FAQ para encontrar instrucciones más
detalladas. Si quiere trabajar con la últiva versión deberá reemplazar el archivo maker.sty por el más
reciente descargado desde la página del proyecto.
3
3. Licencia
Este trabajo puede ser distribuido o modificado bajo los términos y condiciones de la LaTeX Project Pu-
blic License (LPPL) v1.3C, o cualquier versión porterior. La última versión de esta licencia puede consultarse
en http://www.latex-project.org/lppl.txt.
Usted es libre de utilizarlo, modificarlo y compartirlo siempre que se respeten los términos y condiciones
de la licencia y se reconozca al autor original.
4
Comentarios de: Maker LATEX Package (0)
No hay comentarios