Creamos, para empezar un directorio
informe_suspensos
bajo nuestro subdirectorio de guiones:mkdir ~/guiones/informe_suspensos
Conviene recordar los ficheros recién creados para nuestra prueba [en caso de que el lector no los haya creado todavía, deberá hacerlo ahora con cualquier editor de texto plano]:
informe_plantilla.tex
(la plantilla para generar el fichero.tex
por alumno [Añado un preámbulo adecuado, modifico ligeramente la sección correspondiente a los datos del alumno y suprimo la sección correspondiente a las propuestas, que ha quedado pendiente, como se recordará]):
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{bera}
\usepackage[usenames,dvipsnames]{color}
\usepackage{framed}
\usepackage{enumitem}
\newenvironment{datosAlumno}%
{\begin{framed}%
\begin{center}%
\begin{tabular*}{\textwidth}%
{@{\extracolsep{\fill}}lr}}%
{\end{tabular*}\end{center}\end{framed}}
\newenvironment{Objetivos}%
{\begin{framed}%
\section*{Objetivos}%
\end{framed}%
\begin{framed}%
\begin{itemize}[label=\fbox{\textcolor{white}{X}}]}%
{\end{itemize}\end{framed}}
\newenvironment{Contenidos}%
{\begin{framed}%
\section*{Contenidos}%
\end{framed}%
\begin{framed}%
\begin{itemize}[label=\fbox{\textcolor{white}{X}}]}%
{\end{itemize}\end{framed}}
\newenvironment{Propuestas}%
{\begin{framed}%
\section*{Propuestas}%
\end{framed}%
\begin{framed}%
\begin{itemize}}%
{\end{itemize}\end{framed}}
\begin{document}
\begin{datosAlumno}
Alumno: ALUMNO & CURSO
\end{datosAlumno}
\begin{Objetivos}
OBJETIVOS
\end{Objetivos}
\begin{Contenidos}
CONTENIDOS
\end{Contenidos}1-ge-objetivos.tex
(el fichero con los objetivos del curso1-ge
):
\item Reconocer la diferencia entre los refranes y el buen decir.
\item Adquirir el hábito del buen decir.
\item Refrenar el hábito malsano del refraneo sin ton ni son.1-ge-minimos.tex
: (el fichero con los contenidos mínimos del curso1-ge
):
\item El refrán y sus muchos peligros.
\item El decir del caballero versus el decir del bufón.
\item Síntomas alarmantes de la verborrea refranil.notas
: (el fichero con las notas):
Sancho-Panza:1-ge:3generar_informes
: (el guión propiamente dicho [Unimos lo que obtuvimos en el análisis de datos y en el esbozo del modelo simple, con las comillas corregidas]):
# Directorio que contiene la programación del curso
PROGRAMACION="$HOME/guiones/informe_suspensos"
# Fichero que contiene la plantilla LaTeX del informe
PLANTILLA=informe_plantilla.tex
# Fichero que contiene las notas de los alumnos
NOTAS=notas
# Sufijo de los ficheros de objetivos por cursos
OBJETIVOS=objetivos.tex
# Sufijo de los ficheros de contenidos por cursos
CONTENIDOS=minimos.tex
# La nota mínima para aprobar el curso
NOTA_MINIMA=5
# El nombre del alumno y curso con el formato que tendrán en la salida impresa
ALUMNO_OUTPUT=$(cut -d':' -f1 $NOTAS | sed -e 's/-/ /g')
CURSO_OUTPUT=$(cut -d':' -f2 $NOTAS | sed -e 's/\([[:digit:]]*\)-\(.*\)/\1\.º \2/' \
-e 's/ge/EE/' \
-e 's/gm/EP/')
sed -e "s/ALUMNO/$ALUMNO_OUTPUT/" \
-e "s/CURSO/$CURSO_OUTPUT/" \
-e 's/OBJETIVOS/\\input{1-ge-objetivos}/' \
-e 's/CONTENIDOS/\\input{1-ge-minimos}/' $PLANTILLA > Sancho-Panza.tex
pdflatex Sancho-Panza.tex
(Nótese que en este último fichero hemos modificado la variable
PROGRAMACIÓN
para que tenga en cuenta la nueva ubicación de nuestros ficheros de objetivos y mínimos, aunque no la vayamos a usar en las órdenes que hemos producido hasta ahora. También hemos añadido una línea al final, para que, al ejecutarse el guión, pdflatex
procese el fichero .tex
resultante de la orden sed
que le precede.)Todos estos ficheros deben estar ahora bajo el subdirectorio
$HOME/guiones/informe_suspensos
Queda cambiar el modo del guión:
chmod u+x informe_suspensos
y ejecutarlo:
./informe_suspensos
El resultado, aparte de otros ficheros temporales generados por
pdflatex
, es el fichero Sancho-Panza.pdf
, que, en un lector de pdfs como okular
, se muestra con el siguiente aspecto:
Esta serie sobre la burocracia me está haciendo replantearme mi forma de trabajar. Ya conocía y utilizaba LaTeX desde hace tiempo (algunos años, aunque muy poco y a veces con LyX), aunque el poder de los guiones puede simplificar mucho las tareas. Nunca me interesó aprender a crear guiones, porque pensaba que para lo que hacía sería mayor el coste que el beneficio, aunque ahora me lo replantée. Markdown me pareció algo utilísimo a la hora de realizar documentos cortos y sencillos, y ahora los guiones pueden ayudarme a simplificar tareas repetitivas.
ResponderEliminarEnhorabuena por estas conversaciones.
Me alegro, Juan, de que te animes en la escritura de guiones. Aunque parezca mentira, escribir un guión que funcione suele llevar bastante menos tiempo que realizar año tras año las mismas aburridas y repetitivas tareas. Y, además, es mucho más divertido :-)
ResponderEliminar