Macro personnelle incompatible avec \usetikzlibrary{datavisualization}
J'ai écrit une macro appelée `\dupli` qui m'est utile pour créer des polycops polycopiés au format A5 sur du papier A4.
J'ai voulu m'en servir avec un code (page 758 du manuel de `Tikz`) Ti*k*Z) pour construire un graphique graphique, afin d'apprendre à les construire avec `tikz` Ti*k*Z uniquement (*je (je veux d'abord comprendre le code de base*).
base).
Lorsque je commente la macro, le code compile, lorsque je décommente, le code plante et affiche l'erreur
> :
Package tikz Error: Semicolon expected.
Pensant que le problème pouvait venir de `Babel`, `babel`, j'ai ajouté des `\shorthandoff{:;}` ainsi que la librairie `\usetikzlibrary{babel}`
`\usetikzlibrary{babel}`.
Cela reste sans effet, effet : j'en conclus que le problème vient de la macro que j'ai écrite.
Merci de vos lumières.
Voici un ECM :
\documentclass[a4paper, 11pt,landscape]{article} % Présentation générale et mise en page
\usepackage[left=0.5cm, right=0.5cm, top=0.6cm, bottom=0.6cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage[frenchb]{babel} % Règles françaises de typographie
\usepackage{pgf,tikz}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\usetikzlibrary{babel}
% Nouvelle commande \dupli[]{}
% Le premier argument est le nombre de double cadres
% Le deuxième argument est le contenu qui est dupliqué dans chaque cadre.
\newlength{\ligne} % nouvelle largeur appelée "ligne"
\newcommand{\dupli}[2]{%
\setlength{\ligne}{0.46\textwidth}%
\newsavebox{\maboite}%
\savebox{\maboite}{%
\par \noindent%
\hspace*{\fill}%
\parbox{% % boîte sans cadre pouvant contenir des paragraphes
0.46\textwidth}{% % largeur du texte identique à celle du cadre
\noindent\makebox[\ligne][c]{%
\begin{minipage}[c]{\ligne}{#2}\end{minipage}%
}%
}%
\hspace*{\fill}%
}%
\foreach \i in {1,...,#1} {%
\vspace*{\stretch{1}}%
\parbox{\textwidth}{%
\hspace*{\fill}%
\usebox{\maboite}%
\hfill\vrule\hfill%
\usebox{\maboite}%
\hspace*{\fill}{\null}%
}%
\vspace*{\stretch{1}}%
\par%
}%
\vfill%
}
\begin{document}
\dupli{3}{
\begin{tikzpicture}
\shorthandoff{:;}
\datavisualization [school book axes, visualize as smooth line]
data [format=function] {
var x : interval [-2:2];
func y = \value x*\value x + 1;
};
\shorthandon{:;}
\end{tikzpicture}
}
\end{document}