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 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 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 , 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.