I. Introduction▲
Actuellement, le développement de la classe beamerarticle-teacher permet à partir de la même source kitxmlcodeinlinelatexdvp\rm\LaTeXfinkitxmlcodeinlinelatexdvp 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 dans la rubrique téléchargements.
II. La classe beamerarticle-teacher▲
Je tape depuis quelques années mes cours en kitxmlcodeinlinelatexdvp\mathrm{\LaTeX}finkitxmlcodeinlinelatexdvp 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 trois documents.
III. Différenciations des versions▲
Il est parfois important de pouvoir différencier les versions. Cela 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 la rubrique télécharger, 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 lignes assez important.
Si vous avez des questions sur l'utilisation de cette classe, contactez-moi par , n'hésitez pas à me donner vos avis sur le forum et sur github (issues, requests etc.).
IV. Remerciements Developpez▲
Nous remercions l'auteur Benoit LANDRIEU de nous avoir permis de publier cet article, nous remercions aussi les membres de l'équipe : ced pour la correction orthographique et -nikopol- pour la relecture technique.