Curso IUCE FEES04
Curso IUCE FEES04
Curso IUCE FEES04
en Studium con
LaTeX, Wiris-Quizzes y R
para asignaturas de Economı́a
y Empresa
2022/FECO04
LATEX
5. Introducción a 67
5.1. Instalación de y . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2. Entorno de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.3. Instalación de paquetes en . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.4. Proyectos en . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.5. Objetos y funciones en . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.6. Scripts en . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6. Paquete exams de 77
6.1. Paquete R-exams: Introducción . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2. Paquete R-exams: Creación de ejercicios . . . . . . . . . . . . . . . . . . . 78
6.2.1. Archivo texto plano . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.2. Archivo generador . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4. Paquete R-exams: Comentarios finales . . . . . . . . . . . . . . . . . . . . 88
Bibliografı́a 89
Elección múltiple
Respuesta corta
Verdadero/falso
Emparejamiento
Numéricas
Cuestiones a desarrollar
Preguntas combinadas
Sin embargo, generar un cuestionario a través de la interfaz web que ofrece Moodle puede
ser lento, tedioso e incluso exasperante: es preciso navegar en una página web y rellenar
multitud de cuadros de diálogo, seleccionar diversas opciones para la configuración de las
preguntas que exigen un uso combinado de teclado y ratón, y además se debe confiar en que
la respuesta del servidor Moodle sea fluida, pues todo este proceso requiere una conexión a
la red. A todo ello se añade la especificidad que exige en las entradas el lenguaje formalizado
o simbólico de algunas disciplinas.
El contenido –y especialmente el lenguaje– de las disciplinas de carácter cuantitati-
vo exige investigar y mejorar los protocolos de comunicación formal con la aplicación de
cuestionarios de la plataforma Moodle.
El objetivo de este curso es la presentación de determinadas herramientas que permiten
elaborar de una forma más eficiente cuestionarios en el entorno Moodle, bien porque sos-
layan gran parte de las dificultades de edición y revisión (LATEX), o bien porque permiten
la introducción de cuestiones parametrizadas (Wiris Quizzes, R-exams).
Los contenidos de este curso se organizan en los siguientes cinco apartados:
5. Paquete exam de .
Se sugiere que los asistentes conozcan y manejen con soltura el entorno Moodle. No
se asumirán conocimientos previos de ninguno de los softwares o herramientas propuestas
(LATEX, , ).
En este documento se incluyen los contenidos fundamentos del curso. Se realizará una
breve presentación de los softwares utilizados (LATEX, ), incluyendo el proceso de ins-
talación y configuración, para después centrarnos en las herramientas (paquete moodle,
, paquete exam) que permitirán la generación de cuestionarios. En este guión
se incluyen plantillas que permiten la replicación y adaptación a diferentes ámbitos y/o
asignaturas.
En este documento trabajaremos siempre con LATEX que, como hemos comentado previa-
mente, está formado por un conjunto de macros agrupados en diferentes estilos y paquetes
(packages) que facilitan la escritura de documentos.
Este software no pertenece a la familia de editores de texto WYSIWYG (what you
see if what you get), lo que repercute en un coste de entrada relativamente alto que, sin
embargo, se ve pronto compensado por los beneficios. El flujo de trabajo en LATEX aparece
representado en la figura 1.
En primer lugar, es necesario crear un archivo fuente, escrito en texto plano (ascii) que
puede ser generado con cualquier editor de textos, aunque es interesante y recomendable
hacerlo con entornos integrados que comentaremos más adelante. A continuación, este
archivo fuente es compilado con un comando LATEX, los más comunes son latex o pdflatex.
Estos comandos, a partir de la información del archivo fuente, componen un documento
final de gran calidad tipográfica.
El comando latex genera un documento de tipo dvi (DeVide Independent), propio del
entorno TEX que después puede ser transformado a tipos ps (PostScript) o pdf (Portable
Document Format). Cuando se trabaja con latex, en el documento final solo se pueden
incluir gráficos en formato ps.
La compilación con pdflatex, además de generar directamente el documento pdf, per-
mite la inclusión de gráficos en diferentes formatos (jpg, png, ps, pdf), y por ello suele ser
preferible a la anterior.
Para disponer de los comandos LATEX que hemos comentado en los párrafos anteriores,
precisamos instalar en nuestro equipo una distribución de LATEX. Una distribución también
contiene herramientas para la generación de fuentes tipográficas, estilos y paquetes con
2.1. Instalación
Tal y como hemos mencionado anteriormente, para trabajar con LATEX precisamos:
un editor de texto
En este apartado recomendaremos los softwares que consideramos más apropiados y pro-
porcionaremos instrucciones para su descarga e instalación.
El contenido de esta sección está basado en la web del denominado TEXUsers Group.
Para más información consultar https://www.tug.org.
Las tres distribuciones (gratuitas) de LATEX más conocidas son:
https://miktex.org
https://tug.org/texlive/
https://www.tug.org/mactex/
2.1.2. Editores
Para crear un documento con LATEX solo es necesario un editor que no dé formato
al texto, sin embargo, es habitual utilizar softwares o entornos integrados que faciliten la
edición, pues permiten: generar el documento fuente, visualizar el documento final y realizar
el proceso de compilación. Además, incluyen herramientas que facilitan la edición, como
por ejemplo: detección de errores, resaltado de comandos y palabras claves e incorporan
ayudantes de escritura (ecuaciones, sı́mbolos, entornos, estilos, . . . ).
Existe una gran cantidad de editores de estas caracterı́sticas. Las diferencias entre ellos
son sutiles, y la elección final depende del usuario. Algunos de los más populares son:
Para finalizar esta sección solo comentar que la plataforma overleaf (https://es.
overleaf.com) permite generar documentos en LATEX sin la necesidad de instalar software
adicional en nuestro equipo. Si disponemos de una conexión a internet y de un navegador,
tras un proceso de registro, overleaf ofrece un entorno de trabajo similar a los editores que
2.1.3. Compilación
En esta sección describiremos el proceso de compilación con TeXstudio. Para ello, tras
abrir la aplicación y pulsar en la pestaña Archivo , seleccionamos Abrir. . . y buscamos
en el explorador el archivo ejemploLatex1.tex, que previamente habremos descargado. El
archivo en cuestión será analizado en detalle en la siguiente sección, por el momento solo
nos preocuparemos de compilarlo.
Después de cargar el archivo pulsamos en el icono verde formado por dos triángulos
superpuestos situado en la parte superior de la ventana (ver figura 8). Tras pulsar el citado
icono, el documento final deberı́a generarse y aparecer previsualizado en la parte derecha
de la pantalla.
Si surgen problemas, lo más probable es que los comandos de LATEX no hayan sido
y en la ventana emergente seleccionamos Órdenes podemos ver los comandos que está
invocando TeXstudio durante el proceso de instalación.
En nuestro caso particular estamos interesados en el comando pdfLaTeX (ver figura
9). Es conveniente recordar que LATEX es de algún modo un lenguaje de programación y,
por lo tanto, durante el proceso de generación de un documento, al compilar, lo natural
es que surjan errores que deben ser depurados. Este proceso es especialmente frustrante
al principio. El principal consejo al respecto es leer con calma el mensaje de error que
ofrece TeXstudio. La mayor parte de las veces se debe a que un comando no se ha escrito
2.2. Ayuda
Como en cualquier otro software, la mejor forma de aprender LATEX es practicar y sobre
todo equivocarse. Existen multitud de plantillas y ejemplos que es posible recuperar de la
red y que se pueden modificar y adaptar a nuestras necesidades.
La documentación sobre LATEX que se puede encontrar en la red es inmensa. En este
documento recomendamos las siguientes fuentes:
Por último, y a titulo personal, recomendamos el curso de Luis M. Molina que figura en la
web:http://metodos.fam.cie.uva.es/~latex/apuntes/apuntes.html.
1 \documentclass[a4,11pt]{article}
2
3 %Paquetes de idioma
4 \usepackage[spanish]{babel}
5 \usepackage[T1]{fontenc}
6 \usepackage[utf8]{inputenc}
7
8 %Hipervı́nculos
9 \usepackage{hyperref}
10
11 % Paquetes adicionales
12 \usepackage{amssymb}
13 \usepackage{xcolor}
14
15 \newcommand{\R}{$\mathbb{R}$}
16 \newcommand{\highlight}[1]{ {\color{red} #1} }
17
18 \title{Mi primer documento en \LaTeX{}}
19
20 \author{Curso 2020 - FECO04}
21 \date{24 abril 2022}
22
23 \begin{document}
24 \maketitle
25 \tableofcontents
26
27 Ejemplo de un documento \LaTeX\ de la clase \texttt{article} \cite{Lamport94}. Se incluyen secciones,
2.3.1. Preámbulo
1. Declaración del estilo del documento (lı́nea 1). La declaración de la clase es obligato-
ria, debe figurar en la primera lı́nea del documento y determina el estilo del mismo.
En este caso se está utilizando la clase article, donde la página se ha configurado
como A4, y el tamaño de la letra se ha fijado en 11 puntos. Las declaraciones entre
corchetes son de carácter opcional. Las clases básicas de LATEX aparecen en la figu-
ra 11. En CTAN existen una gran variedad de clases, que pueden ser adaptadas y
personalizadas.
4. Configuración de las opciones de estilo (lı́neas 18-19). Cada estilo o clase tiene asocia-
das diversas opciones que son configuradas en el preámbulo. En este caso se introduce
tı́tulo, autor (aunque aquı́ lo estamos usando como subtı́tulo) y fecha.
No es necesario que los apartados 2, 3 y 4, que hemos descrito arriba, estén ordenados.
Corresponde a esa parte todo aquello que figura entre los comandos \begin{document}
y \end{document}. De hecho, LATEX finalizará el proceso de lectura cuando encuentre la
segunda de las sentencias.
Todos los comandos en LATEX comienzan con el operador barra invertida \. Por
ejemplo, en la lı́nea 1 de nuestro ejemplo, tenemos el comando documentclass, en la
lı́nea 24, el comando maketitle, o en la lı́nea 30 el comando label.
Cuando un comando recibe argumentos, estos van entre llaves, { }, si son obliga-
torios y entre corchetes, [ ], si son opcionales. Los argumentos opcionales siempre se
colocan antes que los obligatorios. Si hay varios argumentos, estos van separados por
comas. Por ejemplo, en la lı́nea 1, el comando documentclass recibe dos argumen-
tos opcionales y uno obligatorio (el tipo de documento); en la lı́nea 24 el comando
maketitle no precisa de argumentos, y en la lı́nea 30, el comando label recibe como
argumento (obligatorio) la etiqueta que se utilizará para referenciar.
\begin{environment}
...
\end{environment}
• \ Indicador de comando.
Dado que son caracteres con propósito especı́fico en LATEX, si necesitamos escribir
alguno de ellos en nuestro texto debemos hacerlo del siguiente modo:
\backslash \{ \} \# \& \% \~ \$ \_ \^
Los espacios en blanco son ignorados. Es indiferente separar dos palabras por uno
o más espacios. Para aumentar el espacio entre palabras se puede utilizar \ seguido
de un espacio en blanco.
La fuente por defecto que usa LATEX es Latin Modern Roman. Admite tres familias,
roman, serif, teleype, cuatro tipos de letra (cursiva, recta, inclinada, verslitas), tres ti-
pos de trazos (normal, intermedio, negrita) y diversos tamaños (escalados de acuerdo
al prefijado en el documento). Ampliaremos esta cuestión más adelante. Existen ver-
siones de LATEX como LuaLATEX o XeLATEX que incorporan paquetes para trabajar
con todo tipo de fuentes. Quedan fuera de los objetivos de esta introducción.
\usepackage{amsmath, amssymb}
La tercera cuestión que debemos abordar es decidir el modo en el que queremos utilizar
el modo matématico. LATEX ofrece varias opciones:
Ecuación en lı́nea (inline mode). Para escribir una ecuación en lı́nea se utilizan los
delimitadores $...$ o \( ...\).
Ecuación centrada (display mode). En este caso, la ecuación aparece en una lı́nea
propia del texto, centrada. Se indica con los delimitadores $$...$$ o \[ ...\].
\begin{equation}
...
\end{equation}
Ecuación de varias lı́neas alineada. Si además la ecuación ocupa varias lı́neas, y que-
remos alinearlas con algún criterio, el entorno apropiado es:
\begin{align}
....
\end{align}
Para indicar el cambio de lı́nea se utiliza \\ y para alinear &. Si utilizamos el entorno
align*, la ecuación no será numerada.
Exiten muchos otros entornos en LATEX para la edición de ecuaciones que nosotros aquı́
omitiremos.
El útimo paso, y más importante, es practicar y sobre todo equivocarse. Para finali-
zar esta sección reproducimos el código fuente y resultado final del EjemploLatex2.tex
que utilizaremos en el curso. En este archivo, se presentan diversos ejemplos en notación
matemática. Además, se ha utilizado la clase que SIAM (Society for Industrial and Ap-
plied Mathematics) ofrece a los autores y que puede descargarse de https://archive.
siam.org/journals/auth-info.php. Para que todo funcione correctamente, el archivo
con extensión .cls debe copiarse en la misma carpeta que el archivo fuente.
1 \documentclass{siamart171218}
2 \usepackage[spanish]{babel}
3 \usepackage[T1]{fontenc}
4 \usepackage[utf8]{inputenc}
5 \usepackage{amsmath,amssymb}
6
7 \title{Mis primeras ecuaciones en \LaTeX{}}
8 \author{Curso 2020 - FECO04}
9
10 \begin{document}
11 \maketitle
12
La fuente por defecto en LATEX es Latin Modern Roman. Admite tres familias (roman,
serif, teleype):
1 Texto normal
2 \textmd{Texto de grosor intermedio}
3 \textbf{Texto en negrita}
Texto normal
Texto de grosor intermedio
Texto en negrita
Formato caligráfico:
1 $$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$
1 $$\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Existen versiones de LATEX como LuaLATEX o XeLATEX que incorporan paquetes para
trabajar con todo tipo de fuentes. Quedan fuera de los objetivos de esta introducción.
1 \begin{itemize}
2 \item Tama~
no tiny : { \tiny tiny}
3 \item Tama~
no scriptsize: { \scriptsize scriptsize}
4 \item Tama~
no footnote: {\footnotesize footnote}
5 \item Tama~
no small: {\small small}
6 \item Tama~
no large: {\large large}
7 \item Tama~
no Large {\Large Large}
8 \item Tama~
no LARGE {\LARGE LARGE}
9 \item Tama~
no huge {\huge huge}
10 \item Tama~
no HUGE {\Huge Huge}
11 \end{itemize}
2.6.3. Enumeraciones
Uno
Dos
Tres
1 \begin{enumerate}
2 \item Uno
3 \item Dos
4 \item Tres
5 \end{enumerate}
1. Uno
2. Dos
3. Tres
2.6.4. Figuras
1 \begin{figure}[h]
2 \begin{center}
3 \includegraphics[scale = 0.2]{./logoFEyE.png}
4 \caption{Logo FEyE}
5 \end{center}
6 \end{figure}
2.6.5. Tablas
1 \begin{table}[h]
2 \begin{center}
3 \begin{tabular}{| r | l | c |}
4 \hline
5 Fruta & Cantidad & Origen \\ \hline
6 Manzana & 4 & Estados Unidos \\
7 Naranja & 10 & Espa~na \\
8 Plátano & 3 & Colombia \\ \hline
9 \end{tabular}
10 \caption{Fruta disponible}
11 \label{tab:fruta}
12 \end{center}
13 \end{table}
Con esta clase de LATEX se pueden construir presentaciones. Las páginas se organizan con
el entorno frame. La configuración de esta clase no es sencilla, por ello, la mejor estrategia
es partir de una plantilla y modificarla convenientemente. En las siguientes web se pueden
obtener abundantes ejemplos:
https://deic.uab.cat/~iblanes/beamer_gallery/index.html
https://es.overleaf.com/gallery/tagged/presentation/page/1
2.6.7. Bibliografı́a
Cada una de las referencias se incorpora con el comando bibitem. Este comando, requie-
re como argumento la etiqueta label, que se utilizará en el cuerpo de documento para citar
mediante el comando cite. La bibliografı́a del documento ejemploLatex1.tex, que repro-
ducimos a continuación, se ha gestionado de este modo. Cuando la bibliografı́a se introduce
de este modo, las normas de estilo (orden, numeración, nombre completo/abreviado, . . . )
son responsabilidad del usuario.
1 \begin{thebibliography}{0}
2 \bibitem{CursoUvaLatex} {\sc Luis M. Molina}. Apuntes de \LaTeX\,. Capı́tulo I. 2009
3 \url{http://metodos.fam.cie.uva.es/~latex/apuntes/apuntes.html}.
4 \bibitem{Lamport94} {\sc Lamport, Leslie}. LaTeX: A document preparation system
5 (2nd edition). Updated for LaTeX2e., Reading, Mass., Addison-Weley, 1994.
6 ISBN 0-201-52983-1
7 \end{thebibliography}
1 @book{texbook,
2 author = {Donald E. Knuth},
3 year = {1986},
4 title = {The {\TeX} Book},
5 publisher = {Addison-Wesley Professional}
6 }
7
8 @article{knuth:1984,
9 title={Literate Programming},
10 author={Donald E. Knuth},
11 journal={The Computer Journal},
12 volume={27},
13 number={2},
14 pages={97--111},
15 year={1984},
16 publisher={Oxford University Press}
La mayor parte de los gestores bibliográficos permiten descargar las citas bibliográficas
en formato bibtex (ver figura 17).
Figura 17: El gestor Scopus permite descargar las citas bibliográficas en formato bitex.
pdflatex
bibtex
pdflatex
pdflatex
Los paquetes tikz, pgf y pgfplots permiten generar esquemas o gráficos con LATEX
de gran calidad. La documentación correspondiente es accesible en:
https://www.ctan.org/pkg/pgf
https://ctan.org/pkg/pgfplots
docs.moodle.org/all/es/Preguntas, https://docs.moodle.org/400/en/Questionnaire_
module).
El estilo moodle.sty creado por Hendrickson (2006 - v0.5) y Guerquin-Kern (2021 -
v.09) permite generar bancos de preguntas mediante LATEX, que después pueden ser in-
corporados al entorno Moodle. En esta sección describimos las principales caracterı́sticas
de este estilo y las reglas básicas para generar cuestionarios de elección multiple con re-
troalimentación, cuestiones de verdadero/falso, preguntas cortas, numéricas y preguntas
combinadas (cloze). Otro tipo de cuestiones (emparejamiento y ensayo) son posibles pe-
ro no serán descritas. La documentación completa del estilo moodle.sty se encuentra en
Hendrickson y Guerquin-Kern (2021).
La versión v0.5 del estilo moodle.sty presentaba ciertas debilidades para el tratamiento
de la retroalimentación. Para el correcto desarrollo del proyecto [6], que constituyó el germen
de este trabajo, fue preciso introducir en el citado estilo modificaciones que permitı́an:
Inclusión de gráficos.
Por todo ello, la segunda parte del proyecto se desarrolló con esta nueva versión, que será
la que aparece descrita en los siguientes epı́grafes.
1. Instalar el estilo moodle.sty a través del gestor de paquetes (MikTex, TexLive Utility)
o directamente desde https://www.ctan.org/pkg/moodle. Lo habitual es que el
paquete esté incluido en la distribución y no sea necesario añadirlo.
Archivo ejemplo.tex
Figura 20: Salidas generadas tras compilar con LATEX, pdf (izquierda), xml (derecha).
5. Finalizado el proceso Moodle crea una categorı́a con las preguntas importadas. A par-
tir de ese momento la pregunta puede ser seleccionada como parte de un cuestionario.
En la figura 22 aparece la cuestión sobre el entorno Moodle y la retroalimentación
que recibirı́a el alumno durante el proceso de revisión.
\usepackage[mode]{moodle}
donde mode puede ser:
draft, en este caso la salida xml no es generada. Este modo es útil durante el proceso de
edición del cuestionario.
handout, con esta opción el documento pdf se genera libre de cierta información (puntua-
ción, retroalimentación, respuesta correcta) y puede ser utilizado con otros propósitos
docentes (ver figura 23).
section, si esta opción es activada, los distintos cuestionarios que figuran en el documento
son numerados como secciones.
points, por defecto cada pregunta es valorada con un punto. Mediante este parámetro se
puede modificar la calificación asignada.
penalty, en cuestionarios donde varios intentos son permitidos, este parámetro determina
la penalización por intento incorrecto. El valor por defecto es penalty = 0.1.
single / multiple, con la opción single se indica que solo una respuesta es correcta
(solo una de las respuestas está marcada con asterisco). En en caso multiple varias
opciones son correctas. La opción por defecto es single.
Por otro lado, cada \item puede ser configurado a través de <item options> con los
parámetros:
Ejemplos
Pregunta de elección multiple con puntuación de 4 puntos, con una única respuesta
válida y tres incorrectas con penalización −1/3. Obsérvese que no es necesario asignar
\begin{multi}[points=4]{T4P008}
Sea $A$ una matriz cuadrada y $\lambda$ un valor propio de $A$. Entonces
\item[fraction=-33.33333, feedback={El 0 tambi\'en puede ser un valor propio}]$
\lambda \neq 0$
\item[fraction=-33.33333, feedback={Ser\'ia cierto si $\lambda\not =0$,
pero no si $\lambda=0$}] $ \det A \neq 0$
\item[fraction=-33.33333, feedback={Ser\'ia cierto si $\lambda=0$, pero no en otro caso}]
$\det A = 0$
\item* $\det (A-\lambda I)=0$
\end{multi}
Pregunta de elección múltiple con puntuación de 2 puntos, con dos respuestas váli-
das y dos incorrectas. Nótese que aunque no se asigna puntuación a las respuestas,
por defecto se distribuye la puntuación/penalización de forma proporcional entre las
respuestas correctas/incorrectas, respectivamente. Esta información aparece en el do-
cumento en pdf. En este caso se proporciona retroalimentación en todas las respuestas.
\begin{multi}[multiple,points=2]{T1P004}
Si $A$ y $B$ son conjuntos tales que $A\subseteq B$, se\~nala las opciones correctas:
\item[feedback={Los elementos de $A\cup B$ son los elementos que pertenecen a
$A$ o a $B$, luego $B$}] $A\cup B=A$
\item[feedback={Los elementos de $A\cap B$ son los elementos que pertenecen
$A$ y a $B$ a la vez, luego $A$}]*$A\cap B=A$
\item[feedback={Los elementos de $A\cap B$ son los elementos que pertenecen
$A$ y a $B$ a la vez, luego $A$}] $A\cap B=B$
\item[feedback={$\subset$ indica contenido en, ser subconjunto de}]*
$A$ es un subconjunto de $B$
\end{multi}
\begin{truefalse}[points=1]{T4P001}
Sea $f:\mathbb{R}^3 \to \mathbb{R}^2$ una aplicaci\'on lineal. $Im(f)$
es un subespacio vectorial de $\mathbb{R}^2$:
\item[feedback={Toda combinaci\'on de vectores de la imagen pertenece a la
imagen}]*
\item[feedback={Toda combinaci\'on de vectores de la imagen pertenece a la
imagen}]
\end{truefalse}
\begin{truefalse}[points=1]{T2P01}
Toda serie $\sum a_n$ convergente es sumable:
\item[feedback={Que una serie sea convergente implica que el l\'imite de sus
sumas parciales es finito, pero no que este l\'imite pueda calcularse.}]
\item[feedback={}]*
\end{truefalse}
Cuestión numérica valorada con un punto, cualquier respuesta en el rango [0.49, 0.51]
proporcionará la puntuación completa. Cualquier otra no sumará ninguna puntuación
y se mostrará la retroalimentación correspondiente.
\begin{numerical}[points=1]{T2P02}
Calcular $\lim_{n\to \infty} \frac{1+2+\ldots+ n}{n^2}$
\item[tolerance = 0.01,feedback={}] 0.5
\item[fraction = 0,feedback={El criterio de Stolz permite calcular el
valor del l\'imite}]*
\end{numerical}
\begin{numerical}[points=1]{T2P03}
Determinar $\int_0^\infty x^2 e^{-x^3} dx$
\item[tolerance = 0.01, feedback={Se trata de una integral
impropia de segunda especie}] 0.333
\item[fraction = 0, feedback={Notar que $(e^{-x^3})' = -3 x^2 e^{-x^3}$. Tras
integrar utilizar la regla de Barrow}]*
\end{numerical}
Pregunta corta. Se aportan dos respuestas correctas, que difieren en el punto final.
La última opción tiene por objetivo mostrar retroalimentación si la respuesta no es
correcta.
\begin{shortanswer}[points=1]{T3P05}
Sea $ f:\mathbb{R}^5 \to \mathbb{R}^3$ aplicaci\'on lineal, si $\mbox{dim}(\mbox{Ker} f) = 2$,
f es una aplicaci\'on
\item[feedback={Dado que $\mbox{dim}(\mbox{Im} f) = 3$ $f$ es epiyectiva}]
Epiyectiva
\item[feedback={Dado que $\mbox{dim}(\mbox{Im} f) = 3$ $f$ es epiyectiva}]
Epiyectiva.
\item[fraction=0,feedback={Para deducir el resultado basta utilizar la
Pregunta corta con sensibilidad a mayúsculas. Al igual que el caso anterior, se incluye
retroalimentación si la respuesta es incorrecta. No se ha introducido ningún tipo de
retroalimentación cuando es correcta.
Coordenadas $(x,y,z;\lambda)$:
\begin{numerical}
\item[tolerance=0.0001] -0.8
\end{numerical}
\begin{numerical}
\item[tolerance=0.0001] -0.4
\end{numerical}
\begin{numerical}
\item[tolerance=0.0001] 1.6
\end{numerical}
\begin{numerical}
\item[tolerance=0.0001] -0.625
\end{numerical}
Coordenadas $(x,y,z;\lambda)$:
\begin{numerical}
\item[tolerance=0.0001] 0.8
\end{numerical}
\begin{numerical}
\item[tolerance=0.0001] 0.4
\end{numerical}
\begin{numerical}
\item[tolerance=0.0001] -1.6
\end{numerical}
\begin{numerical}
\item[tolerance=0.0001] 0.625
\end{numerical}
A continuación, aparece la sección General con los mismos apartados que cualquier
pregunta de Moodle. En el espacio del texto del enunciado y de la retroalimentación hay
dos iconos adicionales, MathType y ChemType, (ver figura 25), que permiten acceder al
editor de fórmulas para insertar fórmulas matemáticas o quı́micas.
La interfaz está dividida en varias secciones según el tipo de pregunta elegido: respuesta
correcta, validación, variables y vista previa en preguntas de respuesta corta; respuesta
correcta, validación y variables en preguntas Cloze; respuesta correcta y variables en las
preguntas ensayo, de emparejamiento, opción múltiple y verdadero/falso. Las imágenes que
presentamos aquı́ corresponden a una pregunta de respuesta corta porque es la que tiene
más opciones de configuración.
Desde esta pantalla se puede acceder a las secciones: de Opciones de entrada, Opciones
de validación, Variables aleatorias y funciones y Vista previa
en
En la pantalla de Opciones de validación, (ver figura 29), es posible ajustar los paráme-
tros de validación para el análisis de la respuesta correcta y definir el formato que debe
tener la respuesta del estudiante para ser evaluada como correcta. Se divide en tres sub-
secciones: Comparación con la respuesta del estudiante, Números y Simplificación. Si se
seleccionan Todas las opciones, aparece además la subsección Unidades de medida.
La pantalla de Vista previa, (ver figura 30), permite comprobar el comportamiento
de la pregunta directamente sin tener que guardarla ni salir del editor. Se divide en tres
elementos: Respuesta del estudiante, Respuesta correcta (con un icono de actualización si
se han definido variables) y Retroacción.
Al seleccionar la opción Variables aleatorias y funciones se accede a la interfaz de
(ver figura 31), un sistema algebraico computacional donde se pueden definir
todas las variables y escribir el algoritmo para generar las variables aleatorias, números,
expresiones, gráficos o funciones de evaluación, que pueden ser utilizadas en el enunciado
de la pregunta, en la respuesta y en la retoralimentación.
4.3. CalcMe
es una calculadora en lı́nea (https://calcme.com/a) basada en Javascript
integrada en , que ofrece un sistema de cálculo y dibujo y cubre necesidades
matemáticas básicas y avanzadas como generación de números aleatorios, polinomios, ex-
presiones generales, vectores, matrices, listas, geometrı́a, estadı́stica, funciones de usuario
y programación, entre otras.
que permiten, respectivamente, insertar una nueva lı́nea antes que la actual, recalcular todo
y borrar la lı́nea.
El icono
representa la acción más común. Se encuentra en la parte inferior derecha de la hoja y, de-
pendiendo de la entrada, calcula una expresión numérica, reduce o simplifica una expresión
simbólica, ejecuta una instrucción y resuelve una ecuación o sistema.
En la barra de herramientas
están las operaciones más frecuentes: fracción, potencia, raı́z cuadrada y nueva lı́nea; las
acciones aproximar, simplificar, factorizar, sustituir, verificar, derivar, integrar, dibujar en
2 dimensiones, dibujar en 3 dimensiones, escribir texto, insertar imagen; abrir el editor de
código para escribir un algoritmo, convertir la hoja en un algoritmo y abrir el tablero de
dibujo.
para guardar el archivo en Drive o en el dispositivo, exportar como archivo pdf, acceder a
la ayuda online o cambiar los ajustes globales de la aplicación.
El menú, en la parte izquierda, contiene una lista de sı́mbolos e instrucciones, (ver figura
32), agrupados en secciones desplegables, incluyendo comandos de programación.
Al crear una pregunta es posible hacer que las variables tomen valores aleatorios, consi-
guiendo ası́ que cada estudiante responda una pregunta distinta. Para ello, tiene
la función aleatorio() que permite generar números aleatorios en diferentes conjuntos
con distintas restricciones.
Respuesta corta: la respuesta del estudiante puede ser tipo texto, gráfico o ecuación.
Es importante seleccionar la configuración de forma que el sistema acepte y rechace
correctamente las respuestas de los estudiantes.
En las preguntas tipo Gráfico el estudiante debe dibujar en el tablero. En este caso,
la herramienta de dibujo reemplaza el editor de ecuaciones. Es posible personalizar
la barra de herramientas de forma que el alumno no tenga acceso a todos los recursos
gráficos sino solo a una versión reducida. La sección de Opciones de validación, divi-
dida en las secciones de Elementos y Criterios permite definir cómo queremos evaluar
la respuesta del estudiante. El ejemplo tipo Gráfico de las figuras 36 y 37 está tomado
del Curso Estándar de Wiris Quizzes .
Opción múltiple el estudiante ha de elegir una o varias opciones correctas entre varias
(ver figura 41). En este caso también es posible utilizar variables aleatorias para las
opciones de respuesta
https://stemcollection.com/c/220.
Además de visualizar y editar cada pregunta, (en ese caso, será preciso convertir el algorit-
mo a ), es posible descargarla en un archivo Moodle XML para su importación en
Moodle.
5. Introducción a
es una plataforma de software libre para computación y gráficos. Está disponible
para los entornos de Linux, Windows y MacOS.
5. El trabajo con datos es muy versátil, potente e intuitivo a través de los objetos de
tipo dataframe (matrices de datos donde cada fila corresponde a una observación y
cada columna a una variable).
Los paquetes o librerı́as de R son las unidades fundamentales del código R. Estas li-
brerı́as incluyen funciones de R reutilizables. Actualmente, el repositorio oficial CRAN
(acrónimo de Comprehensive R Archive Network ) aloja cerca de 10.000 paquetes oficiales
y también existen otros muchos más publicados en Internet. La proliferación de paquetes
aportados por los propios creadores, desarrolladores e investigadores permite realizar cual-
quier tarea imaginable: desde la lectura de datos en cualquier formato y desde cualquier
fuente, generalmente remota, hasta cualquier tipo de análisis especializado (estadı́stica, in-
genierı́a, genética, medicina, economı́a, etc.).
Destacamos la familia de paquetes tidyverse que ofrece un tipo de objeto llamado tib-
ble, una versión mejorada de los dataframes y también el operador después ( %> %). Este
operador permite concatenar pequeñas tareas, de forma que podemos desarrollar una tarea
grande de forma intuitiva y fácil.
5.1. Instalación de y
Una de las grandes ventajas de R consiste en ser software libre, de forma que podemos
tener siempre instalada la última versión. Hay que tener en cuenta que siempre nos interesa
instalar tanto R como RStudio.
A través de este enlace ya podemos descargar e instalar R para nuestro sistema operati-
vo (UNIX, Windows o MacOS). Se puede instalar la última versión a partir del repositorio
CRAN utilizando las opciones por defecto. La figura 47 nos muestra el mirror del CRAN
en Rediris.
En segundo lugar debemos instalar RStudio, de manera gratuita, desde la página oficial
de RStudio (https://www.rstudio.com). Una vez que accedemos a dicha página, ha-
cemos clic en el apartado de descargas (https://www.rstudio.com/products/rstudio/
download) que nos permite descargar el instalador apropiado para nuestra versión de sis-
tema operativo y después realizar su instalación. La figura 48 nos muestra la página de
descargas de RStudio.
5.2. Entorno de
El entorno RStudio consiste en una serie de ventanas que permiten realizar distintas
tareas. Las áreas más importantes son:
Área de Ficheros, Gráficos, Librerı́as, Ayuda, Visor: Este espacio tiene va-
rias pestañas. La pestaña Files permite explorar y trabajar con los archivos de la
carpeta de trabajo. La pestaña Plots muestra los gráficos creados con R y permite
su manipulación. La pestaña Packages permite comprobar qué paquetes de R están
instalados, cargarlos e instalar/actualizar los paquetes. La pestaña Help permite ac-
ceder a la ayuda de R integrada. Por último, la pestaña Viewer contiene los resultados
producidos por R que corresponden a otro tipo de objetos (por ejemplo, los ficheros
html).
Editor R (Scripts): Al abrir un proyecto por primera vez, no aparece esta zona de
RStudio, pero tiene una función fundamental. Ofrece dos funcionalidades primordia-
les:
1. Un editor que permite la escritura y ejecución del código. Los ficheros de código
de R son siempre ficheros de texto, que pueden tener la extensión .R (sólo código)
o .RMD (RMarkdown, código combinado con generación de documentos). Para
ejecutar el código de un script, seleccionamos las lı́neas de código a ejecutar y
presionamos Ctrl + Enter o hacemos clic en el botón Run del editor.
2. Se pueden visualizar los objetos que tenemos en la ventana del entorno R. Sim-
plemente hacemos clic en el objeto y se abre una pestaña en la zona del editor
que permite visualizar el contenido del mismo.
La web oficial de RStudio ofrece numerosos documentos de ayuda (cheat sheets) que
resumen las funciones principales de cada paquete. Están disponibles a través de este en-
lace https://www.rstudio.com/resources/cheatsheets/. La figura 50 nos muestra el
documento de ayuda del paquete dplyr de transformación de datos.
Para poder trabajar con los paquetes tenemos que instalarlos en el ordenador. La
instalación de los paquetes se realiza de varias formas: (1) en la pestaña Packages con
el icono install, (2) en el menu Tools > Install packages..., ó (3) con la función
install.packages.
Muchos paquetes proporcionan viñetas con ejemplos que nos explican el funcionamiento
del paquete. Por ejemplo, la figura 51 nos muestra la viñeta para el paquete tidyr (paquete
de la familia tidyverse para la manipulación/ordenación de datos).
5.4. Proyectos en
El proyecto es la forma apropiada de trabajar en RStudio para cada una de nuestras ta-
reas. Un proyecto se asocia a una carpeta de nuestro ordenador. Una vez creado el proyecto,
RStudio genera en esa carpeta un fichero con la extensión .Rproj. Normalmente esta car-
peta contiene todos los ficheros asociados a esta tarea (ficheros de datos externos/internos,
scripts, gráficos, etc.).
El lenguaje R se asimila a un lenguaje natural: las funciones hacen el papel de los ver-
bos, dan ordenes respecto a qué hacer. Los argumentos que toman las funciones pueden
ser funciones o cualquier otro objeto de R. Las funciones pueden escribirse de dos formas:
en notación funcional (por ejemplo, f(a,b)) o mediante el uso de operadores, de forma si-
milar al lenguaje natural y las matemáticas básicas (por ejemplo, 2+2, 10/5 ó a %> % f(b)).
x <- c(2, 4, 6)
3. La matriz mimatriz con 4 filas y 5 columnas con los primeros 20 números positivos
se escribe con el código siguiente en la consola:
4. La cadena string1 con el texto “Esta es una cadena de caracteres” se construye con
la siguiente asignación:
5.6. Scripts en
Los scripts en R son archivos de texto que el lenguaje R puede leer, ası́ como ejecutar
el código que contienen. Tienen la extensión de archivo .R (por ejemplo, miScript.R). La
figura 52 nos muestra cómo crear un script en RStudio.
Cuando utilizamos RStudio y abrimos un script, este programa abre un panel en el que
podemos ver su contenido. De este modo podemos ejecutar todo o parte del código que
6. Paquete exams de
En esta sección vamos a describir brevemente la creación de preguntas con el paquete
R/exams, ası́ como la generación de exámenes.
Los ejercicios:
• Poseen el mismo enunciado y cada uno de ellos debe estar en un único fichero.
• La solución puede estar incorporada (opcional).
• Son dinámicos si se utiliza para la aleatorización (opcional).
Las salidas obtenidas pueden estar en diferentes formatos (pdf, html, docx, xml, etc)
tal y como recoge la figura 54.
Qué es R
Un archivo generador Elaboración
Elaboración de páginas webs interactivas con
base que debe estar editado en formato RScript (.R) que
de cuestionarios aleatorios con
shiny exams
Qué es R Elaboración de páginas webs interactivas con shiny Elaboración de cuestionarios aleatorios con exams
Ejercicio11 Ejercicio21
@ @ El proceso de elaboración
Ejercicio12 Ejercicio22
8 8
.. .. Ejercicio13 Ejercicio11
Ejercicio1.Rnw . Ejercicio2.Rnw .
& & % %
Ejercicio1n Ejercicio2m
Ejercicio26 / Examen1 Ejercicio24 / Examen2
Tal y como muestra la figura 55a, los archivos .Rmd ó .Rnw permiten generar los dife-
rentes ejercicios, y una vez establecidos estos, el archivo generador posibilitará producir las
Con el objeto de mostrar brevemente cómo generar estos archivos a continuación pre-
sentamos un breve resumen de su funcionamiento ası́ como algunos ejemplos básicos. Para
ello nos centraremos únicamente en archivos de texto plano con formato .Rnw.
La estructura del archivo en texto plano presenta, en términos generales, los siguientes
apartados (ver figura 56):
2. Enunciado. Qué es R Elaboración de páginas webs interactivas con shiny Elaboración de cuestionarios aleatorio
3. Solución (opcional).
2. Elaboración de preguntas en archivos Rnw
4. Metainformación.
\ begin { question }
CODIGO LATEX Y R
\ end { question }
\ begin { solution }
CODIGO LATEX Y R
\ end { solution }
% % META - INFORMATION
% % \ extype {}
% % \ exsolution {}
Por otra parte, en esta primera parte del código se introduce la parte aleatoria de generación
de los datos con los comandos:
datos<-sample(20:60, size=10)
suma<-suma(datos)
Por último aparece la Metainformación que recoge información sobre el tipo de ejercicio
que se platea, la solución y el nivel de tolerancia, entre otros (figura 59).
3
Para más detalles: https://stat.ethz.ch/R-manual/R-devel/library/utils/doc/Sweave.pdf
Una vez estamos seguros de que el paquete está disponible para su uso, fijamos la
semilla que queramos utilizar para la generación aleatoria de los datos mediante el
comando set.seed(). Fijar la semilla supone el poder reproducir los datos aleatorios
generados.
Por último indicamos el formato en el que queremos que se generen las copias y la
cantidad de ellas. Para obtener formato pdf utilizaremos el comando exams2pdf()
donde indicaremos el número de versiones a obtener (n=10). Para obtener ejercicios
que podamos importar a Moodle utilizaremos el comando exams2moodle().
Si quisiéramos generar un examen donde todas las preguntas fueran de este estilo,
debemos añadir en el preámbulo de este archivo generador un vector donde se incluyeran
todos los archivos de ejercicios que deseáramos introducir. La figura 61 recoge este aspecto.
6.3. Ejemplos
En esta subsección presentamos algunos ejemplos de ejercicios para la asignatura de
Análisis y Estadı́stica basados en los presentados por Zeileis et al. [30].
Comenzamos con un ejemplo de pregunta de respuesta numérica para la asignatura
de Análisis relacionado con el cálculo de la matriz hessiana de una función de tres variables
en un punto. La figura 66 recoge la imagen del fichero con extensión .Rnw que incluye
los elementos anteriormente mencionados. La figura 67 muestra el archivo generador, con
extensión .R. La correspondiente salida en Moodle, retroinformación incluida, puede verse
en la figura 68.
Figura 68: Vista previa en Moodle. En este caso se ha incluido retroalimentación general
(la misma para todas las respuestas).
is- Estadística 1
Banco de preguntas
ifi Participantes
Seleccionar una categoría: Exercise 1 (300) :
J' Asignar grupos UXXI
No se está aplicando ningún filtro por etiquetas
■
U Insignias
Crear una nueva pregunta...
� Competencias
2 3 4 5 6 7 8 9 10 15 »
fm Calificaciones
T ... Pregunta Acciones Creado por Última modificación por
3
Nombre de la pregunta/ ID number Nombre/ Apellido(s) / Fecha Nombre/ Apellido(s) / Fecha
D General .----, Administrador Studium Administrador Studium
::: R001 Q1 .· Q_c1 oze !Ed·t
I ar 19 de mayo de 2020, 12:50 19 de mayo de 2020, 12:50
D Tema 1 Consideremos los siguientes datos: 34, 33, 26, 34, 25, 25, 23, 25, 21, 25, 20, 24
1. La varianza: {#1}
D Tema 2 2. La media: {#2}
3. La mediana: {#3}
Administrador Studium Administrador Studium
D Tema 3 �:: R002 Q1 : Q_cloze 1 ar • 19 de mayo de 2020, 12:50
Ed·t 19 de mayo de 2020, 12:50
Consideremos los siguientes datos: 40, 27, 25, 22, 23, 33, 38, 36, 33, 40, 40, 35
D Tema 4 1. La varianza: {#1}
2. La media: {#2}
D Tema 5 (SOLO 3. La mediana: {#3}
Administrador Studium Administrador Studium
ALUMNOS �:: R003 Q1 : Q_cloze 1 ar •
Ed·t 19 de mayo de 2020, 12:50 19 de mayo de 2020, 12:50
ECONOMÍA)
Consideremos los siguientes datos: 28, 40, 34, 30, 24, 30, 34, 36, 40, 24
1. La varianza: {#1}
D Tema 6 (SOLO 2. La media: {#2}
ALUMNOS 3. La mediana: {#3}
ECONOMÍA) Administrador Studium Administrador Studium
�:: R004 Q1 : Q_cloze Editar • 19 de mayo de 2020, 12:50 19 de mayo de 2020, 12:50
Consideremos los siguientes datos: 38, 26, 32, 31, 28, 38, 31, 40
D Tema 7
1. La varianza: {#1}
2. La media: {#2}
D Tema 8
3. La mediana: {#3}
Administrador Studium Administrador Studium
::: R005 Q1 .· Q-eloze
••. I ar •
Ed·t 19 de mayo de 2020, 12:50 19 de mayo de 2020, 12:50
D Tema 9
Consideremos los siguientes datos: 25, 39, 38, 29, 29, 25, 30, 40, 20, 24, 20
'0 Media Gallery 1. La varianza: {#1}
2. La media: {#2}
3. La mediana: {#3}
Administrador Studium Administrador Studium
�:: R006 Q1 : Q_cloze 1 ar •
Ed·t 19 de mayo de 2020, 12:50 19 de mayo de 2020, 12:50
ft Área personal
Consideremos los siguientes datos: 32, 21, 20, 34, 20, 39, 38, 27, 31, 28, 26, 24
1. La varianza: {#1}
Figura 71: Vista previa en Moodle. En este caso, se generaron 300 variantes de la misma
pregunta.
Videos explicativos:
• https://www.youtube.com/watch?v=5K9hrE3YkPs
• https://www.youtube.com/watch?v=MVJua_6ZF48
• https://www.youtube.com/watch?v=Uja5DTrT9dU
[8] A. Hendrickson (2016). The moodle package: generating Moodle quizzes via Latex.
[16] L. M. Molina. LaTeX: Procesamiento de textos cientı́ficos en alta calidad. Curso Uva.
http://metodos.fam.cie.uva.es/ latex/apuntes/apuntes.html.
[30] Zeileis A., Umlauf N. & Leisch F. (2014). Flexible Generation of E-Learning Exams in
R: Moodle Quizzes, OLAT Assessments, and Beyond. Journal of Statistical Software,
58(1), 1–36. http://www.jstatsoft.org/v58/i01/.