j'essaie de créer des macros pour générer un diaporama de calcul mental.
J'arrive à obtenir ce que je veux ou presque, mais lorsque la partie "consigne" (deuxième argument) contient une figure tikz, la compilation produit une erreur que je ne comprends pas (mais le fichier pdf généré est conforme à ce que j'attends).
Il y a aussi une erreur avec la première diapo si la partie consigne contient un mode maths
\(...\)
qui disparaît avec $...$
.J'ai essayé de supprimer le plus de choses possible pour rendre le code lisible.
Merci d'avance à ceux qui voudront bien regarder.
Code : Tout sélectionner
\documentclass[10pt,a4paper,serif]{beamer}
\usepackage[latin1]{inputenc}
\usepackage{xspace}
\usepackage[french]{babel}
\usepackage{fourier}
\usepackage{frame}
\usepackage{tikz}
\usepackage{multido}
\usepackage{ifthen}
\newcounter{quest}
\setcounter{quest}{0}
\newcounter{fin}
\newcommand{\rebours}[1]{
\setcounter{fin}{#1}
\addtocounter{fin}{-1}
{\centering
\begin{overlayarea}{20pt}{20pt}
\multido{\ii=#1+-1,\ij=1+1}{\value{fin}}{%
\only<\ij>{
\begin{tikzpicture}[very thick]
\draw (0,0) circle (14pt);
\draw (0,0) circle (12pt) node{\LARGE\ii};
\end{tikzpicture}
}
\transduration{1}
}
\only<#1>{
\begin{tikzpicture}[very thick,red]
\draw (0,0) circle (14pt);
\draw (0,0) circle (12pt) node{\LARGE 1};
\end{tikzpicture}
\transduration{1}
}
\addtocounter{fin}{2}
\only<\value{fin}>{
\begin{tikzpicture}[very thick,red]
\draw (0,0) circle (14pt);
\draw (0,0) circle (12pt) node{\LARGE 0};
\end{tikzpicture}
\transduration{.2}
}
\end{overlayarea}
}
\vspace{2cm}
}
\newcommand{\calcu}[3]{
\addtocounter{quest}{1}
\setlength{\fboxsep}{9pt}
\setlength{\fboxrule}{3pt}
\begin{frame}
\begin{center}
\textcolor{gray}{Question \thequest}
\end{center}
\bigskip
\ifthenelse{\equal{#2}{}}
{% Le deuxième argument peut contenir une consigne
}
{
\begin{center}
#2
\end{center}
}
\fcolorbox{blue}{blue!8}{\parbox{.95\linewidth}{
\begin{large}
#3
\end{large}
}}
\vfill
\rebours{#1}
\end{frame}
}
\begin{document}
\calcu{2}
{Calculer $\vec{u} \cdot \vec{v}$}
%{Calculer \(\vec{u} \cdot \vec{v}\)} %%% Renvoie une erreur
{
\[
\left\|\vec{u}\right\| = 3\:;\;
\left\|\vec{v}\right\| = 2\:;\;
\left(\vec{u},\vec{v}\right) = \frac{\pi}{6}
\]
}
\calcu{2}
{
\begin{tikzpicture}
\draw (0,0) -- (4,2) ;
\end{tikzpicture}
}
{
Ma consigne
}
\end{document}