martes, 10 de mayo de 2011

Hojas de ejercicios (3)

Puntuación de cada ejercicio



Podemos crear un comando que, además de numerar los ejercicios y apartados, nos permita, por ejemplo para un examen, añadir la puntuación máxima que se obtendría por cada uno de ellos.

Para ello, vamos a crear dos entornos nuevos, llamados preguntas y apartados que serán una especie de entorno enumerate hecho a nuestra medida. Dentro del primer entorno cambiaremos el comando \item por el comando \pregunta y en el segundo entorno lo cambiaremos por \apartado.

También vamos a crear un contador para las pregunats y otro para los apartados, llamados, respectivamente preg y apart.

En el siguiente código se crean los dos contadores, seguidamente los dos entornos y por último los comandos (puede copiarse este código en el preámbulo del documento):

\newcounter{preg} % Se crea el contador preg. Se crea automáticamente el comando \thepreg para imprimir su valor.

\newcounter{apart} % Se crea el contador apart.Se crea automáticamente el comando \theapart para imprimir su valor.

\renewcommand{\thepreg}{\arabic{preg}} % Los números de las preguntas se escribirán en arábigo.

\renewcommand{\theapart}{\alph{apart}} % Los números de los apartados se escribirán con letras minúsculas.

\newenvironment{preguntas}%
                          {\setcounter{preg}{0}}%
                       {} %Se crea el entorno preguntas. Al abrirlo, el contador preg se pone a 0. Al cerrarlo no hace ninguna acción.

\newenvironment{apartados}%
                          {\parindent=2cm \setcounter{apart}{0}}%
                          {} % Se crea el entorno apartados. Al abrirlo establece una sangría de 2cm y el contador apart se pone a 0. Al cerrarlo no hace ninguna acción.

\newcommand{\pregunta}[1]%
                         {\par%
                          \addtocounter{preg}{1}%
                          [\thepreg] %
                          (#1 puntos) } %Se crea el comando pregunta con un argumento de entrada (la puntuación de la pregunta). Al ejecutarlo, lo primero que hace es cambiar de línea. Después, le suma 1 al contador preg. Imprime el valor del contador preg entre corchetes y deja un espacio. Abre un paréntesis, escribe la puntuación guardada en el argumento, deja un espacio, escribe la palabra "puntos", cierra el paréntesis y deja un espacio.

\newcommand{\apartado}[1]%
                         {\par%
                          \addtocounter{apart}{1}%
                         [\theapart] %
                         (#1 puntos) } %Se crea el comando apartado con un argumento de entrada (la puntuación del apartado). Al ejecutarlo, lo primero que hace es cambiar de línea. Después, le suma 1 al contador apart. Imprime el valor del contador apart entre corchetes y deja un espacio. Abre un paréntesis, escribe la puntuación guardada en el argumento, deja un espacio, escribe la palabra ``puntos'', cierra el paréntesis y deja un espacio.

Una vez escrito todo lo anterior en el preámbulo del documento ya está disponible para ser usado dentro del documento. Por ejemplo, el código:


\begin{preguntas}
   \pregunta{2} Calcula:
     \begin{apartados}
       \apartado{1} $5-3-2+1$
       \apartado{1} $6-8+12$
     \end{apartados}
   \pregunta{1} Resume el Tema 5.
\end{preguntas}

daría como resultado:



Podemos hacer también que cuando la puntuación de un ejercicio o apartado sea 1 entonces aparezca la palabra "punto" en lugar de la palabra "puntos", pero esto lo dejaremos para otra entrada.

No hay comentarios:

Publicar un comentario