Utilisation de la classe beamerarticle-teacher

Auteur

Benoit LANDRIEU

La classe beamerarticle-teacher a été développé dans le but de faciliter la rédaction de cours pour les enseignants. La problématique était la suivante : « Comment à partir du même source générer plusieurs documents à destination de l'impression pour les étudiants, l'impression pour le professeur et la présentation pour la classe ».

- Titre : Utilisation de la classe beamerarticle-teacher

- Auteur : Benoit LANDRIEU

- Parution : 18 octobre 2014

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2014 benoitldr. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. La classe beamerarticle-teacher

- III. Différenciations des versions

- IV. Remeciements Developpez

I - Introduction

Actuellement le développement de la classe beamerarticle-teacher permet à partir

du même source LATEX de générer :

- un polycopié pour l'étudiant (article) ;

- un polycopié pour le professeur (article) ;

- une présentation pour la classe (beamer).

La classe s'appuie sur la classe beamerarticle, pour générer les trois fichiers en même temps, il faut utiliser un Makefile. La génération peut se faire depuis un éditeur mais on ne peut générer qu'un seul fichier document à la fois et il faut changer une ligne dans le code pour générer les autres fichiers.

Vous trouverez la dernière version de la classe beamerarticle-teacher sur le github ou dans la rubrique téléchargements

II - La classe beamerarticle-teacher

Je tape depuis quelques années mes cours en et je trouvais pénible de devoir gérer plusieurs sources pour les polycopiés des élèves, pour ma version et pour ma présentation beamer.

J'ai trouvé une solution qui permettait de gérer à la fois l'article et le beamer : la classe beamerarticle. En effet grâce à cette classe on peut taper comme si l'on tapait du beamer et ensuite générer au choix l'aspect article ou beamer.

J'ai donc commencé à créer une classe qui permettrait de générer les trois fichiers documents : STUDENT, TEACHER et BEAMER.

La classe beamerarticle-teacher est le fruit de cette réflexion.

Pour commencer un document il suffit d'insérer le code

\documentclass{beamerarticle-teacher}

Cette classe a trois options :

% student version
\documentclass[student]{beamerarticle-teacher}
% teacher version
\documentclass[teacher]{beamerarticle-teacher}
% beamer version
\documentclass[beamer]{beamerarticle-teacher}

Si vous n'utilisez pas le Makefile, il vous faudra choisir l'option du document que

vous voulez générer (voir le code ci-dessus) (il est presque compatible Windows avec

GnuMake32, il faut juste changer les echo)

Un document standard pour le commencement serait le suivant :

\documentclass{beamerarticle-teacher}
\begin{document}
% Contents
\end{document}

Pour compiler vous aurez besoin aussi du Makefile :

% File common.mk
REP=.
FINAL=./pdf/
LATEX=pdflatex
OPTIONS= -synctex=1 -interaction=errorstopmode
DIR=/Users/maths/00_COURS/1415-cours-mounier
cleancomp: $(REP)
@echo "delete compilation files"
rm -f *.log *.aux *.nav *.out *.toc *.nav *.snm *.synctex.gz
@echo "compilations files deleted"
cleanfinal: $(FINAL)
rm -f ./pdf/*.aux ./pdf/*.log ./pdf/*.nav ./pdf/*.out ./pdf/*.snm ./pdf/*.synctex.gz ./pdf/*.pdfclean: $(REP)
@echo "delete pdf files"
rm -f pdf/*.pdf
bakclean: $(REP)
rm -f *.bak
clean: cleanfinal cleancomp
TEACH:$(SRC)
@echo "### compilation TEACHER version ###"
echo "\isproftrue">flag.tex
@${LATEX}$ ${OPTION}$ -jobname=${JOBNAME}$-TEACHER ${SRC}$}
@echo '### SUCCES ###'
rm flag.tex
STUD: $(SRC)
@echo "### compilation STUDENT version ###"
echo "\isproffalse">flag.tex
@${LATEX}$ ${OPTION}$ -jobname=${JOBNAME}$-STUDENT ${SRC}$}
@echo '### SUCCES ###'
rm flag.tex
BEAM: $(SRC)
@echo "### compilation BEAMER version ###"
echo "\isproftrue">flag.tex
echo "\isbmtrue">>flag.tex
@${LATEX}$ ${OPTION}$ -jobname=${JOBNAME}$-BEAMER ${SRC}$}
@echo '### SUCCES ###'
rm flag.tex
all: $(SRC)
make TEACH
make STUD
make BEAM
@echo '### SUCCES ###'
make clean

et pour le Makefile

% File Makefile
include $PATH_TO_COMMON$/common.mk
SRC=beamerarticle-teacher-example.tex
JOBNAME=./pdf/beamerarticle-teacher-example-

Il suffit juste de taper

make all % generate the 3 files
make BEAM % generate BEAMER version
make STUD % generate STUDENT version
make TEACH % generate TEACHER version
make clean % cleaning temp files

Voilà les commandes basiques pour générer les 3 documents.

III - Différenciations des versions

Il est parfois important de pouvoir différencier les versions, ceci est possible grâce

aux booléens isprof et isbm

Si vous voulez différencier les versions TEACHER et STUDENT

\ifisprof
% contents for TEACHER version
\else
% contents for STUDENT version
\fi

Vous pouvez regarder dans le beamerarticle-beamer.cls, j'ai défini des commandes

pour gérer les « trous » du polycopié STUDENT

Si vous voulez différencier les versions BEAMER et ARTICLE

\ifisbm
% contents for BEAMER version
\else
% contents for ARTICLE version
\fi

Ceci peut être utile parfois par exemple, une figure est de la bonne taille pour un article par contre elle est trop grande pour le beamer, il suffit d'un code du style

\ifisbm
\includegraphics[scale=0.5]{some-graphics}
\else
\includegraphics[scale=1]{some-graphics}
\fi

Voilà les grandes lignes, j'espère que cela vous servira, vous trouverez un exemple

complet sur le github notamment sur l'utilisation des commandes qui génèrent les trous pour les polycopiés, quelques commandes utiles (faire des lignes pointillées, des parties de copie petits carreaux etc...).

J'ai essayé de commenter au maximum mon code, vu le nombre de ligne assez importantes.

Si vous avez des questions sur l'utilisation cette classe contactez moi par mail, n'hésitez pas à me donner vos avis sur le github (issues, requests etc...)

IV - Remeciements Developpez

Nous remercions l'auteur Benoit LANDRIEU de nous avoir permit de publier cet article, nous remercions aussi les membres de l'équipe : … pour la correction orthographique et … pour la relecture technique.